-- LocalScript for GUI-less Noclip -- This script has been updated to use the Insert key instead of Delete. local Players = game:GetService("Players") local RunService = game:GetService("RunService") local UserInputService = game:GetService("UserInputService") local StarterGui = game:GetService("StarterGui") local player = Players.LocalPlayer local noclipEnabled = false local waitingForNewKey = false -- Default keybinds local toggleKey = Enum.KeyCode.N local setKeybindKey = Enum.KeyCode.Insert -- Changed from Enum.KeyCode.Delete local toggleInputKey = Enum.KeyCode.End -- Notification function local function notify(title, text, duration) StarterGui:SetCore("SendNotification", { Title = title, Text = text, Duration = duration or 2 }) end -- Function to set the noclip state local function setNoclipState(enabled) local char = player.Character if not char then return end noclipEnabled = enabled -- Provide feedback to the user if enabled then notify("Noclip", "Noclip is now ON.") else notify("Noclip", "Noclip is now OFF.") end -- Set the CanCollide property for all parts in the character for _, part in ipairs(char:GetDescendants()) do if part:IsA("BasePart") or part:IsA("MeshPart") then part.CanCollide = not enabled end end end -- This function runs every frame to ensure the noclip is locked RunService.Stepped:Connect(function() if noclipEnabled then local char = player.Character if char then -- Re-apply noclip state to all parts to override game scripts for _, part in ipairs(char:GetDescendants()) do if (part:IsA("BasePart") or part:IsA("MeshPart")) and part.CanCollide == true then part.CanCollide = false end end end end end) -- Update noclip state when character is added (after reset) player.CharacterAdded:Connect(function() if noclipEnabled then setNoclipState(true) end end) ---------------------------------------------------------------------------------------------------- -- Main keybind handler UserInputService.InputBegan:Connect(function(input, gameProcessed) if gameProcessed then return end -- Check if we are waiting for a new keybind if waitingForNewKey and input.UserInputType == Enum.UserInputType.Keyboard then -- Set the new toggle key toggleKey = input.KeyCode waitingForNewKey = false notify("Noclip", "New toggle key set to: " .. toggleKey.Name) return end -- Handle the keybinds only if not waiting for a new key if not waitingForNewKey then -- Toggle noclip on/off if input.KeyCode == toggleKey then setNoclipState(not noclipEnabled) -- Enter keybind setting mode elseif input.KeyCode == setKeybindKey then waitingForNewKey = true notify("Noclip", "Press a key to set as the new noclip toggle.", 5) end end end)