-- 1. WAIT FOR LOAD if not game:IsLoaded() then game.Loaded:Wait() end local Players = game:GetService("Players") local player = Players.LocalPlayer or Players:GetPropertyChangedSignal("LocalPlayer"):Wait() -- Levitation ID local LEV_ID = "rbxassetid://616013216" local ID_TABLE = { idle = "rbxassetid://616006778", walk = LEV_ID, run = LEV_ID, jump = "rbxassetid://616008936", fall = "rbxassetid://616005863", climb = "rbxassetid://616003713", swim = "rbxassetid://616011509" } local function applyLevitation(char) local hum = char:WaitForChild("Humanoid", 15) -- 2. RIG CHECK: Only run if R15 if hum.RigType ~= Enum.HumanoidRigType.R15 then print("Gemini: R6 Detected. Skipping Levitation script.") return end local animate = char:WaitForChild("Animate", 15) if not animate then return end -- 3. MASTER FOLDER OVERWRITE (Fixes A, S, D Gliding) local function setupFolder(name, id) local folder = animate:FindFirstChild(name) if folder then for _, oldAnim in ipairs(folder:GetChildren()) do if oldAnim:IsA("Animation") then oldAnim:Destroy() end end local newAnim = Instance.new("Animation") newAnim.Name = name .. "Anim" newAnim.AnimationId = id newAnim.Parent = folder end end for folderName, id in pairs(ID_TABLE) do setupFolder(folderName, id) end -- 4. FORCED TRACK INJECTION local moveConn moveConn = hum.Running:Connect(function(speed) if speed > 0.1 then local isPlaying = false for _, track in ipairs(hum:GetPlayingAnimationTracks()) do if track.Animation.AnimationId == LEV_ID then isPlaying = true break end end if not isPlaying then local walkFolder = animate:FindFirstChild("walk") local animObj = walkFolder and walkFolder:FindFirstChildOfClass("Animation") if animObj then local newTrack = hum:LoadAnimation(animObj) newTrack:Play() end end end end) -- 5. REFRESH & CLEANUP hum.Died:Connect(function() if moveConn then moveConn:Disconnect() end end) animate.Disabled = true task.wait(0.2) if animate and animate.Parent then animate.Disabled = false end for _, t in ipairs(hum:GetPlayingAnimationTracks()) do t:Stop(0) end end -- 6. EXECUTION player.CharacterAdded:Connect(applyLevitation) if player.Character then task.spawn(applyLevitation, player.Character) end