I'm trying to create a LocalScript where when the player holds the shift key, a run animation will play and their speed will be set. I also want it to stop playing when the shift key is unheld. Unfortunately, I cannot figure out how to get the animation to stop when the player is holding still, as the only method i know of (detecting Humanoid.Running) does not seem to work in this case. Here is the code that works fine but runs in place:
local UIS = game:GetService('UserInputService')
local player = game.Players.LocalPlayer
local character = player.Character
local running = false
local Humanoid = character:WaitForChild("Humanoid")
UIS.InputBegan:connect(function(input)
if input.KeyCode == Enum.KeyCode.LeftShift then
character.Humanoid.WalkSpeed = 23
local Anim = Instance.new('Animation')
Anim.AnimationId = 'rbxassetid://9127242458'
PlayAnim = character.Humanoid:LoadAnimation(Anim)
PlayAnim:Play()
running = true
end
end)
UIS.InputEnded:connect(function(input)
if input.KeyCode == Enum.KeyCode.LeftShift then
character.Humanoid.WalkSpeed = 16
PlayAnim:Stop()
running = false
end
end)
I would greatly appreciate it if someone could tell me what I am supposed to use to detect when the player is not moving.
