local Players = game:GetService("Players") local RunService = game:GetService("RunService") local UserInputService = game:GetService("UserInputService") local LocalPlayer = Players.LocalPlayer local Character = LocalPlayer.Character or LocalPlayer.CharacterAdded:Wait() local noclip = false local waitingForKey = false local toggleKey = Enum.KeyCode.N local guiVisible = true local steppedConnection local inputConnection local ScreenGui = Instance.new("ScreenGui") ScreenGui.Name = "NoclipGui" ScreenGui.ResetOnSpawn = false ScreenGui.Parent = game.CoreGui local Frame = Instance.new("Frame", ScreenGui) Frame.Size = UDim2.new(0, 220, 0, 150) Frame.Position = UDim2.new(0.05, 0, 0.3, 0) Frame.BackgroundColor3 = Color3.fromRGB(30, 30, 30) Frame.BorderSizePixel = 0 Frame.Active = true Frame.Draggable = true local Title = Instance.new("TextLabel", Frame) Title.Size = UDim2.new(1, 0, 0, 30) Title.BackgroundTransparency = 1 Title.Text = "Noclip" Title.TextColor3 = Color3.new(1,1,1) Title.Font = Enum.Font.SourceSansBold Title.TextSize = 20 local Toggle = Instance.new("TextButton", Frame) Toggle.Size = UDim2.new(0.9, 0, 0, 35) Toggle.Position = UDim2.new(0.05, 0, 0.3, 0) Toggle.Text = "OFF" Toggle.Font = Enum.Font.SourceSansBold Toggle.TextSize = 18 Toggle.TextColor3 = Color3.new(1,1,1) Toggle.BackgroundColor3 = Color3.fromRGB(170,0,0) Toggle.BorderSizePixel = 0 local KeybindButton = Instance.new("TextButton", Frame) KeybindButton.Size = UDim2.new(0.9, 0, 0, 30) KeybindButton.Position = UDim2.new(0.05, 0, 0.65, 0) KeybindButton.Text = "Keybind: N" KeybindButton.Font = Enum.Font.SourceSans KeybindButton.TextSize = 16 KeybindButton.TextColor3 = Color3.new(1,1,1) KeybindButton.BackgroundColor3 = Color3.fromRGB(45,45,45) KeybindButton.BorderSizePixel = 0 local function setNoclip(state) noclip = state Toggle.Text = noclip and "ON" or "OFF" Toggle.BackgroundColor3 = noclip and Color3.fromRGB(0,170,0) or Color3.fromRGB(170,0,0) if steppedConnection then steppedConnection:Disconnect() steppedConnection = nil end if noclip then steppedConnection = RunService.Stepped:Connect(function() if Character then for _, part in ipairs(Character:GetDescendants()) do if part:IsA("BasePart") then part.CanCollide = false end end end end) end end local function killScript() noclip = false if steppedConnection then steppedConnection:Disconnect() end if inputConnection then inputConnection:Disconnect() end if ScreenGui then ScreenGui:Destroy() end end Toggle.MouseButton1Click:Connect(function() setNoclip(not noclip) end) KeybindButton.MouseButton1Click:Connect(function() waitingForKey = true KeybindButton.Text = "Press a key..." end) inputConnection = UserInputService.InputBegan:Connect(function(input, gp) if gp then return end if input.UserInputType ~= Enum.UserInputType.Keyboard then return end if input.KeyCode == Enum.KeyCode.Delete then killScript() return end if input.KeyCode == Enum.KeyCode.RightAlt then guiVisible = not guiVisible Frame.Visible = guiVisible return end if waitingForKey then toggleKey = input.KeyCode KeybindButton.Text = "Keybind: " .. toggleKey.Name waitingForKey = false return end if input.KeyCode == toggleKey then setNoclip(not noclip) end end) LocalPlayer.CharacterAdded:Connect(function(char) Character = char if noclip then task.wait(0.5) setNoclip(true) end end)