local Players = game:GetService("Players") local UserInput = game:GetService("UserInputService") local player = Players.LocalPlayer local playerGui = player:WaitForChild("PlayerGui") local humanoid local function refreshHumanoid(char) humanoid = char:WaitForChild("Humanoid") end if player.Character then refreshHumanoid(player.Character) end player.CharacterAdded:Connect(refreshHumanoid) local screenGui = Instance.new("ScreenGui") screenGui.Name = "SpeedJumpGui" screenGui.ResetOnSpawn = false screenGui.Parent = playerGui local frame = Instance.new("Frame", screenGui) frame.Size = UDim2.new(0, 220, 0, 140) frame.Position = UDim2.new(0, 10, 0, 10) frame.BackgroundColor3 = Color3.fromRGB(35, 35, 35) frame.BorderSizePixel = 0 frame.AnchorPoint = Vector2.new(0, 0) local title = Instance.new("TextLabel", frame) title.Size = UDim2.new(1, 0, 0, 25) title.BackgroundTransparency = 1 title.Text = "Speed & Jump Controller" title.TextColor3 = Color3.new(1, 1, 1) title.Font = Enum.Font.SourceSansBold title.TextSize = 18 local function createSlider(labelText, yOffset, minVal, maxVal, defaultVal, propertyName) local lbl = Instance.new("TextLabel", frame) lbl.Size = UDim2.new(0, 80, 0, 20) lbl.Position = UDim2.new(0, 10, 0, yOffset) lbl.BackgroundTransparency = 1 lbl.Text = labelText lbl.TextColor3 = Color3.new(1, 1, 1) lbl.Font = Enum.Font.SourceSans lbl.TextSize = 14 local valLabel = Instance.new("TextLabel", frame) valLabel.Size = UDim2.new(0, 40, 0, 20) valLabel.Position = UDim2.new(1, -50, 0, yOffset) valLabel.BackgroundTransparency = 1 valLabel.Text = tostring(defaultVal) valLabel.TextColor3 = Color3.new(1, 1, 1) valLabel.Font = Enum.Font.Code valLabel.TextSize = 14 valLabel.TextXAlignment = Enum.TextXAlignment.Right local track = Instance.new("Frame", frame) track.Size = UDim2.new(1, -20, 0, 10) track.Position = UDim2.new(0, 10, 0, yOffset + 25) track.BackgroundColor3 = Color3.fromRGB(60, 60, 60) track.BorderSizePixel = 0 local handle = Instance.new("ImageButton", track) handle.Size = UDim2.new(0, 14, 0, 14) handle.Position = UDim2.new((defaultVal - minVal)/(maxVal - minVal), -7, 0, 0) handle.Image = "rbxassetid://3570695787" -- round handle handle.BackgroundTransparency = 1 handle.AutoButtonColor = false handle.Selectable = false local dragging = false handle.InputBegan:Connect(function(inp) if inp.UserInputType == Enum.UserInputType.MouseButton1 then dragging = true end end) handle.InputEnded:Connect(function(inp) if inp.UserInputType == Enum.UserInputType.MouseButton1 then dragging = false end end) UserInput.InputChanged:Connect(function(inp) if dragging and inp.UserInputType == Enum.UserInputType.MouseMovement then local absPos = track.AbsolutePosition.X local absSize = track.AbsoluteSize.X local mouseX = UserInput:GetMouseLocation().X local delta = math.clamp(mouseX - absPos, 0, absSize) local pct = delta / absSize local newVal = math.floor(minVal + (maxVal - minVal) * pct + 0.5) handle.Position = UDim2.new(pct, -7, 0, 0) valLabel.Text = tostring(newVal) if humanoid then humanoid[propertyName] = newVal end end end) if humanoid then humanoid[propertyName] = defaultVal end end createSlider("Speed", 35, 0, 150, 16, "WalkSpeed") createSlider("Jump Height", 85, 0, 200, 50, "JumpPower")