local anims = {
run = "http://www.roblox.com/asset/?id=913376220",
walk = "http://www.roblox.com/asset/?id=913402848",
}
local character = script.Parent
local humanoid = character:WaitForChild("Humanoid")
local animate = script:WaitForChild("Animate")
animate.Parent = script.Parent
local oldAnimate = character:WaitForChild("Animate")
oldAnimate:Destroy()
humanoid.Running:Connect(function(speed)
if speed < 17 then
animate.run.RunAnim.AnimationId = anims.walk
humanoid.JumpPower = 1
humanoid.Jump = true
task.wait()
humanoid.JumpPower = 50
elseif speed >= 17 then
animate.run.RunAnim.AnimationId = anims.run
humanoid.JumpPower = 1
humanoid.Jump = true
task.wait()
humanoid.JumpPower = 50
end
end)
Listen for the “Running” event to fire on the humanoid instance instead as it’s purposed for this task and I believe Humanoid:GetPropertyChangedSignal("WalkSpeed") doesn’t fire because it’s a physics related property.
No problem, I just decided to offer a more specific solution (using .Running which already exists) instead of creating a custom event listener for the WalkSpeed property with the “GetPropertyChangedSignal()” instance method.