local Players = game:GetService("Players") local UserInputService = game:GetService("UserInputService") local RunService = game:GetService("RunService") local player = Players.LocalPlayer local playerGui = player:WaitForChild("PlayerGui") if playerGui:FindFirstChild("MovementUI") then playerGui.MovementUI:Destroy() end local gui = Instance.new("ScreenGui") gui.Name = "MovementUI" gui.ResetOnSpawn = false gui.Parent = playerGui local frame = Instance.new("Frame") frame.Size = UDim2.new(0, 200, 0, 100) frame.Position = UDim2.new(1, -220, 1, -230) frame.BackgroundColor3 = Color3.fromRGB(30, 30, 30) frame.Active = true frame.Parent = gui local corner = Instance.new("UICorner") corner.CornerRadius = UDim.new(0, 8) corner.Parent = frame local noclipBtn = Instance.new("TextButton") noclipBtn.Size = UDim2.new(1, -20, 0, 40) noclipBtn.Position = UDim2.new(0, 10, 0, 10) noclipBtn.Text = "Noclip: OFF" noclipBtn.BackgroundColor3 = Color3.fromRGB(231, 76, 60) noclipBtn.TextColor3 = Color3.fromRGB(255, 255, 255) noclipBtn.Font = Enum.Font.GothamBold noclipBtn.TextSize = 16 noclipBtn.Parent = frame local ncCorner = Instance.new("UICorner") ncCorner.CornerRadius = UDim.new(0, 6) ncCorner.Parent = noclipBtn local infJumpBtn = Instance.new("TextButton") infJumpBtn.Size = UDim2.new(1, -20, 0, 40) infJumpBtn.Position = UDim2.new(0, 10, 0, 60) infJumpBtn.Text = "Inf Jump: OFF" infJumpBtn.BackgroundColor3 = Color3.fromRGB(231, 76, 60) infJumpBtn.TextColor3 = Color3.fromRGB(255, 255, 255) infJumpBtn.Font = Enum.Font.GothamBold infJumpBtn.TextSize = 16 infJumpBtn.Parent = frame local ijCorner = Instance.new("UICorner") ijCorner.CornerRadius = UDim.new(0, 6) ijCorner.Parent = infJumpBtn local dragging local dragInput local dragStart local startPos frame.InputBegan:Connect(function(input) if input.UserInputType == Enum.UserInputType.MouseButton1 or input.UserInputType == Enum.UserInputType.Touch 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 or input.UserInputType == Enum.UserInputType.Touch then dragInput = input end end) UserInputService.InputChanged:Connect(function(input) if input == dragInput and dragging then 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 end) local isNoclipOn = false local isInfJumpOn = false noclipBtn.Activated:Connect(function() isNoclipOn = not isNoclipOn if isNoclipOn then noclipBtn.Text = "Noclip: ON" noclipBtn.BackgroundColor3 = Color3.fromRGB(46, 204, 113) else noclipBtn.Text = "Noclip: OFF" noclipBtn.BackgroundColor3 = Color3.fromRGB(231, 76, 60) end end) infJumpBtn.Activated:Connect(function() isInfJumpOn = not isInfJumpOn if isInfJumpOn then infJumpBtn.Text = "Inf Jump: ON" infJumpBtn.BackgroundColor3 = Color3.fromRGB(46, 204, 113) else infJumpBtn.Text = "Inf Jump: OFF" infJumpBtn.BackgroundColor3 = Color3.fromRGB(231, 76, 60) end end) UserInputService.JumpRequest:Connect(function() if isInfJumpOn then local char = player.Character if char then local hum = char:FindFirstChildOfClass("Humanoid") if hum then hum:ChangeState(Enum.HumanoidStateType.Jumping) end end end end) RunService.Stepped:Connect(function() if isNoclipOn then local char = player.Character if char then for _, part in ipairs(char:GetDescendants()) do if part:IsA("BasePart") then part.CanCollide = false end end end end end)