local Players = game:GetService("Players") local RunService = game:GetService("RunService") local player = Players.LocalPlayer local replace = { ["rbxassetid://95421145178968"] = "rbxassetid://104951711387356", ["rbxassetid://104749346956269"] = "rbxassetid://131092994606135", ["rbxassetid://137865634124104"] = "rbxassetid://109547804780499", ["rbxassetid://137654778575373"] = "rbxassetid://98369133797604", ["rbxassetid://127851700400958"] = "rbxassetid://75425383606016", ["rbxassetid://72548435296350"] = "rbxassetid://75961842881209", ["rbxassetid://84547415708554"] = "rbxassetid://140487289646129", ["rbxassetid://110978068388232"] = "rbxassetid://104148378077935", ["rbxassetid://92966188946988"] = "rbxassetid://92966188946988", ["rbxassetid://134243365075812"] = "rbxassetid://134243365075812" } local LIFT_ID = "rbxassetid://109547804780499" local SPECIAL_LOOP_ID = "rbxassetid://95421145178968" --Uhh it not loop its brokennnnnn dont mind that local function setup(char) local hum = char:WaitForChild("Humanoid") local animator = hum:WaitForChild("Animator") local root = char:WaitForChild("HumanoidRootPart") animator.AnimationPlayed:Connect(function(oldTrack) local newId = replace[oldTrack.Animation.AnimationId] if not newId then return end oldTrack:Stop() local anim = Instance.new("Animation") anim.AnimationId = newId local track = animator:LoadAnimation(anim) if newId == LIFT_ID then track.Looped = false track:AdjustSpeed(0.3) local bv = Instance.new("BodyVelocity") bv.MaxForce = Vector3.new(0, math.huge, 0) bv.Velocity = Vector3.new(0, 35, 0) bv.Parent = root task.delay(1.3, function() if bv then bv:Destroy() end end) elseif oldTrack.Animation.AnimationId == SPECIAL_LOOP_ID then track.Looped = true track:AdjustSpeed(3) track:Play() task.delay(1.6, function() if track.IsPlaying then track:Stop() end end) return else track.Looped = false track:AdjustSpeed(2) end track:Play() end) local runAnim = Instance.new("Animation") runAnim.AnimationId = "rbxassetid://77801551230831" local runTrack RunService.Heartbeat:Connect(function() if hum.MoveDirection.Magnitude > 0 then if not runTrack or not runTrack.IsPlaying then runTrack = animator:LoadAnimation(runAnim) runTrack.Looped = true runTrack:AdjustSpeed(2) runTrack:Play() end else if runTrack then runTrack:Stop() end end end) end if player.Character then setup(player.Character) end player.CharacterAdded:Connect(setup)