I have a sprint script that i modified to make it change the walk animation. It works, but it only works when the walk/run animation is reloaded. For example, when running would be turned on while walking, the walking animation stays until you reload it; you can reload it by playing another animation like jumping or idle animation. How do you fix this?
local mouse = game.Players.LocalPlayer:GetMouse() local running = false local humanoid = game.Players.LocalPlayer.Character.Humanoid function getTool() for _, kid in ipairs(script.Parent:GetChildren()) do if kid.className == "Tool" then return kid end end return nil end mouse.KeyDown:connect(function (key) -- Run function key = string.lower(key) if string.byte(key) == 48 then running = true local keyConnection = mouse.KeyUp:connect(function (key) if string.byte(key) == 48 then running = false end end) game.Players.LocalPlayer.Character.Humanoid.WalkSpeed = 20 game.Players.LocalPlayer.Character.Animate.walk.WalkAnim.AnimationId = "rbxassetid://981305988" game.Players.LocalPlayer.Character.Animate.run.RunAnim.AnimationId = "rbxassetid://981305988" repeat wait () until running == false keyConnection:disconnect() game.Players.LocalPlayer.Character.Humanoid.WalkSpeed = 12 game.Players.LocalPlayer.Character.Animate.walk.WalkAnim.AnimationId = "rbxassetid://978520563" game.Players.LocalPlayer.Character.Animate.run.RunAnim.AnimationId = "rbxassetid://978520563" end end)