local Players = game:GetService("Players") local UIS = game:GetService("UserInputService") local RunService = game:GetService("RunService") local TweenService = game:GetService("TweenService") local lp = Players.LocalPlayer local playerGui = lp:WaitForChild("PlayerGui") local infJump = false local noclip = false local baseWalkSpeed = 16 local baseJumpPower = 50 local gui = Instance.new("ScreenGui", playerGui) gui.Name = "HackToolsGUI" local container = Instance.new("Frame", gui) container.Position = UDim2.new(0.5, -140, 0.3, 0) container.Size = UDim2.new(0, 280, 0, 240) container.BackgroundTransparency = 1 -- transparent container for dragging only local frame = Instance.new("Frame", container) frame.Size = UDim2.new(1, 0, 1, 0) frame.BackgroundColor3 = Color3.new(0, 0, 0) frame.BorderSizePixel = 0 local frameOutline = Instance.new("UIStroke", frame) frameOutline.Thickness = 3 frameOutline.Color = Color3.new(1, 0, 0) frameOutline.ApplyStrokeMode = Enum.ApplyStrokeMode.Border local frameUICorner = Instance.new("UICorner", frame) frameUICorner.CornerRadius = UDim.new(0, 8) local title = Instance.new("TextLabel", frame) title.Size = UDim2.new(1, 0, 0, 32) title.Position = UDim2.new(0, 0, 0, 0) title.BackgroundTransparency = 1 title.Text = "c00lgui" title.TextColor3 = Color3.new(1, 1, 1) title.Font = Enum.Font.SourceSansBold title.TextSize = 28 title.TextStrokeTransparency = 0.75 local scrollFrame = Instance.new("ScrollingFrame", frame) scrollFrame.Name = "ScrollFrame" scrollFrame.Position = UDim2.new(0, 0, 0, 32) scrollFrame.Size = UDim2.new(1, 0, 1, -32) scrollFrame.CanvasSize = UDim2.new(0, 0, 2, 0) scrollFrame.ScrollBarThickness = 8 scrollFrame.BackgroundTransparency = 1 scrollFrame.VerticalScrollBarPosition = Enum.VerticalScrollBarPosition.Right local content = Instance.new("Frame", scrollFrame) content.Name = "Content" content.Size = UDim2.new(1, 0, 0, 400) content.BackgroundTransparency = 1 local function styleButton(button) button.BackgroundColor3 = Color3.new(0, 0, 0) button.TextColor3 = Color3.new(1, 1, 1) button.Font = Enum.Font.SourceSans button.TextSize = 22 button.AutoButtonColor = false for _, child in pairs(button:GetChildren()) do if child:IsA("UIStroke") or child:IsA("UICorner") then child:Destroy() end end local outline = Instance.new("UIStroke") outline.Thickness = 2 outline.Color = Color3.new(1, 0, 0) outline.ApplyStrokeMode = Enum.ApplyStrokeMode.Border outline.Parent = button local corner = Instance.new("UICorner") corner.CornerRadius = UDim.new(0, 6) corner.Parent = button end local function createSlider(name, position, min, max, initial, onChanged) local label = Instance.new("TextLabel", content) label.Name = name .. "Label" label.Size = UDim2.new(0, 260, 0, 24) label.Position = position label.BackgroundTransparency = 1 label.TextColor3 = Color3.new(1, 1, 1) label.Font = Enum.Font.SourceSans label.TextSize = 18 label.Text = string.format("%s: %d", name, initial) label.TextXAlignment = Enum.TextXAlignment.Left local sliderFrame = Instance.new("Frame", content) sliderFrame.Name = name .. "Slider" sliderFrame.Size = UDim2.new(0, 260, 0, 20) sliderFrame.Position = UDim2.new(position.X.Scale, position.X.Offset, position.Y.Scale, position.Y.Offset + 26) sliderFrame.BackgroundColor3 = Color3.fromRGB(40, 40, 40) sliderFrame.BorderSizePixel = 0 sliderFrame.ClipsDescendants = true sliderFrame.AnchorPoint = Vector2.new(0, 0) local sliderFill = Instance.new("Frame", sliderFrame) sliderFill.Name = "Fill" sliderFill.BackgroundColor3 = Color3.fromRGB(255, 70, 70) local scale = (initial - min) / (max - min) sliderFill.Size = UDim2.new(scale, 0, 1, 0) sliderFill.Position = UDim2.new(0, 0, 0, 0) local sliderThumb = Instance.new("ImageButton", sliderFrame) sliderThumb.Name = "Thumb" sliderThumb.BackgroundColor3 = Color3.fromRGB(220, 20, 20) sliderThumb.Size = UDim2.new(0, 20, 1, 0) sliderThumb.Position = UDim2.new(scale, 0, 0.5, 0) sliderThumb.AutoButtonColor = false sliderThumb.Image = "" sliderThumb.AnchorPoint = Vector2.new(0.5, 0.5) local dragging = false local sliderAbsSize = nil local function updateSlider(inputPosX) if not sliderAbsSize then sliderAbsSize = sliderFrame.AbsoluteSize end local relativeX = math.clamp(inputPosX - sliderFrame.AbsolutePosition.X, 0, sliderAbsSize.X) local scaleX = relativeX / sliderAbsSize.X sliderFill.Size = UDim2.new(scaleX, 0, 1, 0) sliderThumb.Position = UDim2.new(scaleX, 0, 0.5, 0) local value = math.floor(min + scaleX * (max - min)) label.Text = string.format("%s: %d", name, value) onChanged(value) end sliderThumb.InputBegan:Connect(function(input) if input.UserInputType == Enum.UserInputType.Touch or input.UserInputType == Enum.UserInputType.MouseButton1 then dragging = true end end) sliderThumb.InputEnded:Connect(function(input) if input.UserInputType == Enum.UserInputType.Touch or input.UserInputType == Enum.UserInputType.MouseButton1 then dragging = false end end) UIS.InputChanged:Connect(function(input) if dragging and (input.UserInputType == Enum.UserInputType.Touch or input.UserInputType == Enum.UserInputType.MouseMovement) then updateSlider(input.Position.X) end end) sliderFrame.InputBegan:Connect(function(input) if input.UserInputType == Enum.UserInputType.Touch or input.UserInputType == Enum.UserInputType.MouseButton1 then dragging = true updateSlider(input.Position.X) end end) sliderFrame.InputEnded:Connect(function(input) if input.UserInputType == Enum.UserInputType.Touch or input.UserInputType == Enum.UserInputType.MouseButton1 then dragging = false end end) return label, sliderFrame end local currentSpeed = baseWalkSpeed local speedLabel, speedSlider = createSlider("Speed", UDim2.new(0, 10, 0, 10), 0, 200, baseWalkSpeed, function(value) currentSpeed = value local humanoid = lp.Character and lp.Character:FindFirstChildOfClass("Humanoid") if humanoid then humanoid.WalkSpeed = value end end) local currentJumpPower = baseJumpPower local jumpLabel, jumpSlider = createSlider("JumpPower", UDim2.new(0, 10, 0, 60), 0, 200, baseJumpPower, function(value) currentJumpPower = value local humanoid = lp.Character and lp.Character:FindFirstChildOfClass("Humanoid") if humanoid then humanoid.JumpPower = value end end) local infJumpBtn = Instance.new("TextButton", content) infJumpBtn.Size = UDim2.new(0, 260, 0, 40) infJumpBtn.Position = UDim2.new(0, 10, 0, 130) infJumpBtn.Text = "Infinite Jump: OFF" styleButton(infJumpBtn) local noclipBtn = Instance.new("TextButton", content) noclipBtn.Size = UDim2.new(0, 260, 0, 40) noclipBtn.Position = UDim2.new(0, 10, 0, 175) noclipBtn.Text = "Noclip: OFF" styleButton(noclipBtn) infJumpBtn.MouseButton1Click:Connect(function() infJump = not infJump if infJump then infJumpBtn.Text = "Infinite Jump: ON" infJumpBtn.BackgroundColor3 = Color3.fromRGB(50, 150, 50) else infJumpBtn.Text = "Infinite Jump: OFF" infJumpBtn.BackgroundColor3 = Color3.new(0, 0, 0) end end) noclipBtn.MouseButton1Click:Connect(function() noclip = not noclip if noclip then noclipBtn.Text = "Noclip: ON" noclipBtn.BackgroundColor3 = Color3.fromRGB(50, 150, 50) else noclipBtn.Text = "Noclip: OFF" noclipBtn.BackgroundColor3 = Color3.new(0, 0, 0) end end) UIS.JumpRequest:Connect(function() if infJump then local humanoid = lp.Character and lp.Character:FindFirstChildOfClass("Humanoid") if humanoid then humanoid:ChangeState("Jumping") end end end) RunService.Stepped:Connect(function() if noclip and lp.Character then for _, part in ipairs(lp.Character:GetDescendants()) do if part:IsA("BasePart") and part.CanCollide then part.CanCollide = false end end end end) local uiScale = Instance.new("UIScale", container) uiScale.Scale = 0.1 local tween = TweenService:Create(uiScale, TweenInfo.new(1.3, Enum.EasingStyle.Sine, Enum.EasingDirection.Out), {Scale = 1}) local dragging, dragInput, dragStart, startPos local function update(input) local delta = input.Position - dragStart container.Position = UDim2.new(startPos.X.Scale, startPos.X.Offset + delta.X, startPos.Y.Scale, startPos.Y.Offset + delta.Y) end local function enableDragging() local function onInputBegan(input) if input.UserInputType == Enum.UserInputType.MouseButton1 or input.UserInputType == Enum.UserInputType.Touch then dragging = true dragStart = input.Position startPos = container.Position input.Changed:Connect(function() if input.UserInputState == Enum.UserInputState.End then dragging = false end end) end end container.InputBegan:Connect(onInputBegan) local function connectChildrenInputs(guiObject) for _, child in ipairs(guiObject:GetChildren()) do if child:IsA("GuiObject") then child.InputBegan:Connect(onInputBegan) connectChildrenInputs(child) end end end connectChildrenInputs(container) container.InputChanged:Connect(function(input) if input.UserInputType == Enum.UserInputType.MouseMovement then dragInput = input end end) UIS.InputChanged:Connect(function(input) if input == dragInput and dragging then update(input) end end) end local toggleGui = Instance.new("ScreenGui", playerGui) toggleGui.Name = "ToggleButtonGUI" local toggleBtn = Instance.new("TextButton", toggleGui) toggleBtn.Name = "ToggleGUIButton" toggleBtn.Size = UDim2.new(0, 100, 0, 40) toggleBtn.AnchorPoint = Vector2.new(0, 1) toggleBtn.Position = UDim2.new(0, 10, 1, -10) toggleBtn.BackgroundColor3 = Color3.new(0, 0, 0) toggleBtn.TextColor3 = Color3.new(1, 1, 1) toggleBtn.Text = "Close" toggleBtn.Font = Enum.Font.SourceSans toggleBtn.TextSize = 20 toggleBtn.AutoButtonColor = false local outline = Instance.new("UIStroke", toggleBtn) outline.Thickness = 2 outline.Color = Color3.new(1, 0, 0) outline.ApplyStrokeMode = Enum.ApplyStrokeMode.Border local corner = Instance.new("UICorner", toggleBtn) corner.CornerRadius = UDim.new(0, 6) toggleBtn.BackgroundTransparency = 1 toggleBtn.TextTransparency = 1 outline.Transparency = 1 local fadeTweenInfo = TweenInfo.new(1.2, Enum.EasingStyle.Sine, Enum.EasingDirection.Out) local fadeTween = TweenService:Create(toggleBtn, fadeTweenInfo, {BackgroundTransparency = 0, TextTransparency = 0}) local outlineTween = TweenService:Create(outline, fadeTweenInfo, {Transparency = 0}) fadeTween.Completed:Connect(function() end) tween:Play() tween.Completed:Connect(function() enableDragging() fadeTween:Play() outlineTween:Play() end) toggleBtn.MouseButton1Click:Connect(function() gui.Enabled = not gui.Enabled if gui.Enabled then toggleBtn.Text = "Close" else toggleBtn.Text = "Open" end end)