I am making a capture the flag game and I want to add a sprint button. I would also like it if I could have help making it so that you stop sprint after sprinting for x amount of time with a 1 second cool down.
COMMUNITY QUESTION
How do I make a sprint button (pressing shift to sprint)?
2 answers
Alright in workspace insert a script (not local)like this
function onPlayerEntered(player)
repeat wait () until player.Character ~= nil
local s = script.SprintScript:clone()
s.Parent = player.Character
s.Disabled = false
player.CharacterAdded:connect(function (char)
local s = script.SprintScript:clone()
s.Parent = char
s.Disabled = false
end)
end
game.Players.PlayerAdded:connect(onPlayerEntered)
Insert another script inside that one not the code but insert new script inside that one so the script becomes that scripts child and make sure its a local script
local mouse = game.Players.LocalPlayer:GetMouse()
local running = false
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)
for i = 1,5 do
game.Workspace.CurrentCamera.FieldOfView = (70+(i*2))
wait()
end
game.Players.LocalPlayer.Character.Humanoid.WalkSpeed = 24
repeat wait () until running == false
keyConnection:disconnect()
game.Players.LocalPlayer.Character.Humanoid.WalkSpeed = 16
for i = 1,5 do
game.Workspace.CurrentCamera.FieldOfView = (80-(i*2))--Changes field of view sprint
wait()
end
end
end)
Put a local script into your starter character scripts and put this in:
local inputservice = game:GetService("UserInputService")
inputservice.InputBegan:Connect(function(input, plr)
if input.UserInputType == Enum.UserInputType.Keyboard then
if input.KeyCode == Enum.KeyCode.LeftShift then
script.Parent:WaitForChild("Humanoid").WalkSpeed = 60
end
end
end)
This discussion is preserved as it was. New answers, comments, and votes are closed.

1 comment
function onPlayerEntered(player) 02 repeat wait () until player.Character ~= nil 03 local s = script.SprintScript:clone() 04 s.Parent = player.Character 05 s.Disabled = false 06 player.CharacterAdded:connect(function (char) 07 local s = script.SprintScript:clone() 08 s.Parent = char 09 s.Disabled = false 10 end) 11 end 12 13 game.Players.Playe