local Players = game:GetService("Players") local player = Players.LocalPlayer -- Humanoid handling local function getHumanoid() local character = player.Character or player.CharacterAdded:Wait() return character:WaitForChild("Humanoid") end local humanoid = getHumanoid() player.CharacterAdded:Connect(function() humanoid = getHumanoid() humanoid.WalkSpeed = speed end) -- GUI local gui = Instance.new("ScreenGui") gui.ResetOnSpawn = false gui.Parent = player:WaitForChild("PlayerGui") local frame = Instance.new("Frame") frame.Size = UDim2.fromScale(0.25, 0.25) frame.Position = UDim2.fromScale(0.375, 0.35) frame.BackgroundColor3 = Color3.fromRGB(30, 30, 30) frame.Parent = gui Instance.new("UICorner", frame) -- Draggable local dragging, dragInput, dragStart, startPos local UserInputService = game:GetService("UserInputService") local function update(input) local delta = input.Position - dragStart frame.Position = UDim2.new( startPos.X.Scale, startPos.X.Offset + delta.X, startPos.Y.Scale, startPos.Y.Offset + delta.Y ) end frame.InputBegan:Connect(function(input) if input.UserInputType == Enum.UserInputType.MouseButton1 then dragging = true dragStart = input.Position startPos = frame.Position input.Changed:Connect(function() if input.UserInputState == Enum.UserInputState.End then dragging = false end end) end end) frame.InputChanged:Connect(function(input) if input.UserInputType == Enum.UserInputType.MouseMovement then dragInput = input end end) UserInputService.InputChanged:Connect(function(input) if input == dragInput and dragging then update(input) end end) -- GUI Elements local title = Instance.new("TextLabel") title.Size = UDim2.fromScale(1, 0.2) title.BackgroundTransparency = 1 title.Text = "WalkSpeed" title.TextColor3 = Color3.new(1,1,1) title.TextScaled = true title.Parent = frame local speedLabel = Instance.new("TextLabel") speedLabel.Size = UDim2.fromScale(1, 0.2) speedLabel.Position = UDim2.fromScale(0, 0.2) speedLabel.BackgroundTransparency = 1 speedLabel.TextColor3 = Color3.new(1,1,1) speedLabel.TextScaled = true speedLabel.Parent = frame local toggleButton = Instance.new("TextButton") toggleButton.Size = UDim2.fromScale(0.9, 0.2) toggleButton.Position = UDim2.fromScale(0.05, 0.45) toggleButton.Text = "Toggle WalkSpeed" toggleButton.TextScaled = true toggleButton.Parent = frame local plus = Instance.new("TextButton") plus.Size = UDim2.fromScale(0.45, 0.15) plus.Position = UDim2.fromScale(0.025, 0.7) plus.Text = "+" plus.TextScaled = true plus.Parent = frame local minus = Instance.new("TextButton") minus.Size = UDim2.fromScale(0.45, 0.15) minus.Position = UDim2.fromScale(0.525, 0.7) minus.Text = "-" minus.TextScaled = true minus.Parent = frame -- Speed logic local speed = 16 local minSpeed = 8 local maxSpeed = 200 local step = 10 local active = false -- toggle state local function updateSpeed() humanoid.WalkSpeed = speed speedLabel.Text = tostring(speed) end -- Toggle button toggleButton.MouseButton1Click:Connect(function() active = not active if active then toggleButton.BackgroundColor3 = Color3.fromRGB(0, 200, 0) else toggleButton.BackgroundColor3 = Color3.fromRGB(200, 0, 0) end end) -- plus/minus buttons plus.MouseButton1Click:Connect(function() speed = math.min(maxSpeed, speed + step) updateSpeed() end) minus.MouseButton1Click:Connect(function() speed = math.max(minSpeed, speed - step) updateSpeed() end) -- continuously apply WalkSpeed when toggled on game:GetService("RunService").RenderStepped:Connect(function() if active then humanoid.WalkSpeed = speed end end) updateSpeed() toggleButton.BackgroundColor3 = Color3.fromRGB(200,0,0) -- starts off