I'm making a game and one part is if you are moving/running and you press left shift an aura will appear and you'll go faster, like in Sonic games. I tried one script, but when I used it it rarely worked. Sometimes I would let go of left shift and there would be a long delay before the aura went away. This script didn't include the part where you have to be running though. The aura also had particles on it and I made it so they would appear with the aura when left shift was pressed, but they wouldn't appear. I'm using this for a StarterCharacter so the script is a local script in StarterCharacterScripts. If anyone knows how to do this so it works all the time then I would appreciate it!
Thanks.
local plr = game.Players.LocalPlayer -- defines player local char = plr.Character or plr.CharacterAdded:Wait() -- defines character local uis = game:GetService("UserInputService") -- shorter defintion local walk = 16 -- our walk value local sprint = 32 -- our running/sprinting value
uis.InputBegan:Connect(function(key) end) uis.InputEnded:Connect(function(key) end)
uis.InputBegan:Connect(function(key) if key.KeyCode == Enum.KeyCode.LeftShift then end end) uis.InputEnded:Connect(function(key) if key.KeyCode == Enum.KeyCode.LeftShift then end end)
uis.InputBegan:Connect(function(key) if key.KeyCode == Enum.KeyCode.LeftShift then char.Humanoid.WalkSpeed = sprint end end) uis.InputEnded:Connect(function(key) if key.KeyCode == Enum.KeyCode.LeftShift then char.Humanoid.WalkSpeed = walk end end)
local plr = game.Players.LocalPlayer local char = plr.Character or plr.CharacterAdded:Wait() local uis = game:GetService("UserInputService") local walk = 16 local sprint = 32 uis.InputBegan:Connect(function(key) if key.KeyCode == Enum.KeyCode.LeftShift then char.Humanoid.WalkSpeed = sprint end end) uis.InputEnded:Connect(function(key) if key.KeyCode == Enum.KeyCode.LeftShift then char.Humanoid.WalkSpeed = walk end end)