-- Services & Player references local Players = game:GetService("Players") local CoreGui = game:GetService("CoreGui") local lp = Players.LocalPlayer local char = lp.Character or lp.CharacterAdded:Wait() local hum = char:WaitForChild("Humanoid") -- State variables local defaultSpeed = 16 local active = true -- Setup GUI Container local gui = Instance.new("ScreenGui") gui.Name = "SpeedGui" gui.ResetOnSpawn = false -- Safe parenting to CoreGui or PlayerGui pcall(function() gui.Parent = CoreGui end) if not gui.Parent then gui.Parent = lp:WaitForChild("PlayerGui") end -- Main Window local frame = Instance.new("Frame") frame.Name = "MainFrame" frame.Size = UDim2.new(0, 180, 0, 130) frame.Position = UDim2.new(0.4, 0, 0.35, 0) frame.BackgroundColor3 = Color3.fromRGB(24, 24, 24) frame.BorderSizePixel = 0 frame.Active = true frame.Draggable = true frame.Parent = gui -- Header Title local title = Instance.new("TextLabel") title.Size = UDim2.new(0, 110, 0, 28) title.Position = UDim2.new(0, 10, 0, 0) title.BackgroundTransparency = 1 title.Text = "Walk Speed GUI" title.TextColor3 = Color3.fromRGB(240, 240, 240) title.TextSize = 13 title.Font = Enum.Font.SourceSansBold title.TextXAlignment = Enum.TextXAlignment.Left title.Parent = frame -- Minimize Button (-) local minBtn = Instance.new("TextButton") minBtn.Size = UDim2.new(0, 24, 0, 22) minBtn.Position = UDim2.new(1, -52, 0, 3) minBtn.BackgroundColor3 = Color3.fromRGB(45, 45, 45) minBtn.BorderSizePixel = 0 minBtn.Text = "-" minBtn.TextColor3 = Color3.fromRGB(255, 255, 255) minBtn.Font = Enum.Font.SourceSansBold minBtn.TextSize = 14 minBtn.Parent = frame -- Close Button (X) local closeBtn = Instance.new("TextButton") closeBtn.Size = UDim2.new(0, 24, 0, 22) closeBtn.Position = UDim2.new(1, -26, 0, 3) closeBtn.BackgroundColor3 = Color3.fromRGB(45, 45, 45) closeBtn.BorderSizePixel = 0 closeBtn.Text = "X" closeBtn.TextColor3 = Color3.fromRGB(255, 255, 255) closeBtn.Font = Enum.Font.SourceSansBold closeBtn.TextSize = 13 closeBtn.Parent = frame -- Toggle Button (Enable / Disable) local toggleBtn = Instance.new("TextButton") toggleBtn.Size = UDim2.new(0.85, 0, 0, 24) toggleBtn.Position = UDim2.new(0.075, 0, 0.28, 0) toggleBtn.BackgroundTransparency = 1 toggleBtn.Text = "Disable" toggleBtn.TextColor3 = Color3.fromRGB(220, 220, 220) toggleBtn.Font = Enum.Font.SourceSans toggleBtn.TextSize = 14 toggleBtn.Parent = frame -- Speed Label local infoLabel = Instance.new("TextLabel") infoLabel.Size = UDim2.new(1, 0, 0, 18) infoLabel.Position = UDim2.new(0, 0, 0.52, 0) infoLabel.BackgroundTransparency = 1 infoLabel.Text = "Set Speed (1-Inf):" infoLabel.TextColor3 = Color3.fromRGB(180, 180, 180) infoLabel.Font = Enum.Font.SourceSans infoLabel.TextSize = 12 infoLabel.Parent = frame -- Input Box local input = Instance.new("TextBox") input.Size = UDim2.new(0.85, 0, 0, 24) input.Position = UDim2.new(0.075, 0, 0.7, 0) input.BackgroundColor3 = Color3.fromRGB(38, 38, 38) input.BorderSizePixel = 0 input.Text = "1000" input.TextColor3 = Color3.fromRGB(255, 255, 255) input.Font = Enum.Font.SourceSans input.TextSize = 13 input.Parent = frame ---------------------------------------------------- -- Logic & Event Connections ---------------------------------------------------- local function setWalkSpeed(speed) local character = lp.Character if character and character:FindFirstChild("Humanoid") then character.Humanoid.WalkSpeed = speed end end -- Maintain speed on character respawn lp.CharacterAdded:Connect(function(c) char = c hum = c:WaitForChild("Humanoid") if active then local speed = tonumber(input.Text) if speed then setWalkSpeed(speed) end end end) -- Process input changes (No upper cap / Infinite limit) input.FocusLost:Connect(function() local val = tonumber(input.Text) if val and active then val = math.max(0, val) -- Prevent negative values, allow infinite upper speed input.Text = tostring(val) setWalkSpeed(val) elseif not val then input.Text = "16" setWalkSpeed(defaultSpeed) end end) -- Toggle custom speed on / off toggleBtn.MouseButton1Click:Connect(function() active = not active if active then toggleBtn.Text = "Disable" local val = tonumber(input.Text) or defaultSpeed setWalkSpeed(val) else toggleBtn.Text = "Enable" setWalkSpeed(defaultSpeed) end end) -- Minimize window local isMinimized = false minBtn.MouseButton1Click:Connect(function() isMinimized = not isMinimized toggleBtn.Visible = not isMinimized infoLabel.Visible = not isMinimized input.Visible = not isMinimized frame.Size = isMinimized and UDim2.new(0, 180, 0, 30) or UDim2.new(0, 180, 0, 130) end) -- Close GUI & restore default speed closeBtn.MouseButton1Click:Connect(function() setWalkSpeed(defaultSpeed) gui:Destroy() end)