--!strict -- Place this as a LocalScript in StarterGui local Players = game:GetService("Players") local LocalPlayer = Players.LocalPlayer --------------------------------------------------------------------- -- UI BUILD --------------------------------------------------------------------- local screen = Instance.new("ScreenGui") screen.Name = "SpeedJumpController" screen.ResetOnSpawn = false screen.IgnoreGuiInset = false screen.Parent = LocalPlayer:WaitForChild("PlayerGui") local frame = Instance.new("Frame") frame.Name = "Panel" frame.AnchorPoint = Vector2.new(1, 1) frame.Position = UDim2.fromScale(0.98, 0.98) frame.Size = UDim2.fromOffset(260, 150) frame.BackgroundColor3 = Color3.fromRGB(25, 25, 25) frame.BackgroundTransparency = 0.2 frame.BorderSizePixel = 0 frame.Parent = screen -- ✅ Make draggable frame.Active = true frame.Draggable = true local corner = Instance.new("UICorner") corner.CornerRadius = UDim.new(0, 8) corner.Parent = frame local padding = Instance.new("UIPadding") padding.PaddingTop = UDim.new(0, 10) padding.PaddingBottom = UDim.new(0, 10) padding.PaddingLeft = UDim.new(0, 12) padding.PaddingRight = UDim.new(0, 12) padding.Parent = frame local layout = Instance.new("UIListLayout") layout.Padding = UDim.new(0, 8) layout.FillDirection = Enum.FillDirection.Vertical layout.HorizontalAlignment = Enum.HorizontalAlignment.Left layout.SortOrder = Enum.SortOrder.LayoutOrder layout.Parent = frame local title = Instance.new("TextLabel") title.Text = "Walk/Jump Controller" title.Font = Enum.Font.GothamBold title.TextSize = 16 title.TextColor3 = Color3.fromRGB(255, 255, 255) title.BackgroundTransparency = 1 title.Size = UDim2.fromOffset(0, 18) title.TextXAlignment = Enum.TextXAlignment.Left title.Parent = frame local function makeRow(labelText, placeholder) local row = Instance.new("Frame") row.BackgroundTransparency = 1 row.Size = UDim2.new(1, 0, 0, 28) local rowLayout = Instance.new("UIListLayout") rowLayout.FillDirection = Enum.FillDirection.Horizontal rowLayout.Padding = UDim.new(0, 8) rowLayout.Parent = row local lbl = Instance.new("TextLabel") lbl.Text = labelText lbl.Font = Enum.Font.Gotham lbl.TextSize = 14 lbl.TextColor3 = Color3.fromRGB(220, 220, 220) lbl.BackgroundTransparency = 1 lbl.Size = UDim2.fromOffset(96, 28) lbl.TextXAlignment = Enum.TextXAlignment.Left lbl.Parent = row local box = Instance.new("TextBox") box.PlaceholderText = placeholder box.Text = "" box.ClearTextOnFocus = false box.Font = Enum.Font.Gotham box.TextSize = 14 box.TextColor3 = Color3.fromRGB(15, 15, 15) box.BackgroundColor3 = Color3.fromRGB(240, 240, 240) box.Size = UDim2.new(1, -104, 0, 28) local bcorner = Instance.new("UICorner") bcorner.CornerRadius = UDim.new(0, 6) bcorner.Parent = box box.Parent = row row.Parent = frame return box end local wsBox = makeRow("WalkSpeed", "e.g. 16 (default)") local jpBox = makeRow("JumpPower", "e.g. 50 (classic)") local toggleRow = Instance.new("Frame") toggleRow.BackgroundTransparency = 1 toggleRow.Size = UDim2.new(1, 0, 0, 28) toggleRow.Parent = frame local trLayout = Instance.new("UIListLayout") trLayout.FillDirection = Enum.FillDirection.Horizontal trLayout.Padding = UDim.new(0, 8) trLayout.Parent = toggleRow local applyToggle = Instance.new("TextButton") applyToggle.Text = "Auto Apply: ON" applyToggle.Font = Enum.Font.GothamBold applyToggle.TextSize = 14 applyToggle.TextColor3 = Color3.fromRGB(255, 255, 255) applyToggle.AutoButtonColor = true applyToggle.BackgroundColor3 = Color3.fromRGB(60, 160, 90) applyToggle.Size = UDim2.fromOffset(120, 28) local tCorner = Instance.new("UICorner") tCorner.CornerRadius = UDim.new(0, 6) tCorner.Parent = applyToggle applyToggle.Parent = toggleRow local note = Instance.new("TextLabel") note.Text = "Re-applies every 0.5s" note.Font = Enum.Font.Gotham note.TextSize = 12 note.TextColor3 = Color3.fromRGB(200, 200, 200) note.BackgroundTransparency = 1 note.Size = UDim2.new(1, -128, 0, 28) note.TextXAlignment = Enum.TextXAlignment.Left note.Parent = toggleRow --------------------------------------------------------------------- -- LOGIC --------------------------------------------------------------------- local MIN_WALK, MAX_WALK = 0, 300 local MIN_JUMP, MAX_JUMP = 0, 300 local autoApply = true local function getHumanoid(): Humanoid? local char = LocalPlayer.Character if not char or not char.Parent then return nil end return char:FindFirstChildOfClass("Humanoid") end local function parseNumber(s: string?, defaultNum: number): number local n = tonumber(s or "") if not n then return defaultNum end return n end local function clamp(n: number, minV: number, maxV: number): number if n < minV then return minV end if n > maxV then return maxV end return n end local function applyValues() local hum = getHumanoid() if not hum then return end local targetWalk = clamp(parseNumber(wsBox.Text, hum.WalkSpeed), MIN_WALK, MAX_WALK) local targetJump = clamp(parseNumber(jpBox.Text, hum.JumpPower), MIN_JUMP, MAX_JUMP) if hum:FindFirstChild("UseJumpPower") then hum.UseJumpPower = true end hum.WalkSpeed = targetWalk hum.JumpPower = targetJump end LocalPlayer.CharacterAdded:Connect(function(char) char:WaitForChild("Humanoid") task.delay(0.2, applyValues) end) applyToggle.MouseButton1Click:Connect(function() autoApply = not autoApply applyToggle.Text = "Auto Apply: " .. (autoApply and "ON" or "OFF") applyToggle.BackgroundColor3 = autoApply and Color3.fromRGB(60,160,90) or Color3.fromRGB(160,60,60) end) wsBox.FocusLost:Connect(function(enterPressed) if enterPressed then applyValues() end end) jpBox.FocusLost:Connect(function(enterPressed) if enterPressed then applyValues() end end) task.spawn(function() while screen.Parent do if autoApply then applyValues() end task.wait(0.5) end end)