local Players = game:GetService("Players") local player = Players.LocalPlayer local character = player.Character or player.CharacterAdded:Wait() local humanoid = character:WaitForChild("Humanoid") local animations = { idle = 80979207, -- RAHPLACE walk = 80979216, -- replace jump = 80979216, -- replace fall = 80979216 -- replace } local function playAnimation(animId) local anim = Instance.new("Animation") anim.AnimationId = "rbxassetid://" .. animId local track = humanoid:LoadAnimation(anim) track.Priority = Enum.AnimationPriority.Action track:Play() return track end for _, track in pairs(humanoid:GetPlayingAnimationTracks()) do track:Stop() end local tracks = {} tracks.idle = playAnimation(animations.idle) humanoid.Running:Connect(function(speed) for _, t in pairs(tracks) do if t and t.IsPlaying then t:Stop() end end if speed > 0 then tracks.walk = playAnimation(animations.walk) else tracks.idle = playAnimation(animations.idle) end end) humanoid.StateChanged:Connect(function(_, state) for _, t in pairs(tracks) do if t and t.IsPlaying then t:Stop() end end if state == Enum.HumanoidStateType.Jumping then tracks.jump = playAnimation(animations.jump) elseif state == Enum.HumanoidStateType.Freefall then tracks.fall = playAnimation(animations.fall) elseif state == Enum.HumanoidStateType.Landed then tracks.idle = playAnimation(animations.idle) end end)