local Players = game:GetService("Players")
local UserInputService = game:GetService("UserInputService")
local player = Players.LocalPlayer
local NORMAL_SPEED = 16
local SPRINT_SPEED = 24
local character
local humanoid
local sprinting = false
local function setupCharacter(char)
character = char
humanoid = char:WaitForChild("Humanoid")
humanoid.WalkSpeed = NORMAL_SPEED
sprinting = false
end
if player.Character then
setupCharacter(player.Character)
end
player.CharacterAdded:Connect(setupCharacter)
UserInputService.InputBegan:Connect(function(input, processed)
if processed then
return
end
if input.KeyCode == Enum.KeyCode.R then
sprinting = true
end
end)
UserInputService.InputEnded:Connect(function(input)
if input.KeyCode == Enum.KeyCode.R then
sprinting = false
end
end)
local playerGui = player:WaitForChild("PlayerGui")
local gui = Instance.new("ScreenGui")
gui.Name = "SprintGui"
gui.ResetOnSpawn = false
gui.IgnoreGuiInset = true
gui.Parent = playerGui
local button = Instance.new("TextButton")
button.Name = "SprintButton"
button.Size = UDim2.fromOffset(95, 95)
button.Position = UDim2.new(1, -120, 1, -150)
button.AnchorPoint = Vector2.new(0.5, 0.5)
button.BackgroundColor3 = Color3.fromRGB(25, 25, 25)
button.BackgroundTransparency = 0.2
button.Text = "SPRINT"
button.TextColor3 = Color3.new(1, 1, 1)
button.TextScaled = true
button.Font = Enum.Font.GothamBold
button.Visible = UserInputService.TouchEnabled
button.Parent = gui
local corner = Instance.new("UICorner")
corner.CornerRadius = UDim.new(1, 0)
corner.Parent = button
local stroke = Instance.new("UIStroke")
stroke.Thickness = 2
stroke.Transparency = 0.25
stroke.Parent = button
button.InputBegan:Connect(function(input)
if input.UserInputType == Enum.UserInputType.Touch then
sprinting = true
end
end)
button.InputEnded:Connect(function(input)
if input.UserInputType == Enum.UserInputType.Touch then
sprinting = false
end
end)
game:GetService("RunService").Heartbeat:Connect(function()
if not humanoid then
return
end
if sprinting and humanoid.MoveDirection.Magnitude > 0.05 then
humanoid.WalkSpeed = SPRINT_SPEED
else
humanoid.WalkSpeed = NORMAL_SPEED
end
end)