Noclip gui by sasy
Key RequiredUniversal

Noclip gui by sasy

Universal Scriptsupersasy_doors2lsupersasy_doors2l 323 views 3.9K executesUpdated Jul 12, 2026
Unrated
00
Lua Script•139 lines (5257 chars)
--[=[
 d888b  db    db d888888b      .d888b.      db      db    db  .d8b.  
88' Y8b 88    88   `88'        VP  `8D      88      88    88 d8' `8b 
88      88    88    88            odD'      88      88    88 88ooo88 
88  ooo 88    88    88          .88'        88      88    88 88~~~88 
88. ~8~ 88b  d88   .88.        j88.         88booo. 88b  d88 88   88    @uniquadev
 Y888P  ~Y8888P' Y888888P      888888D      Y88888P ~Y8888P' YP   YP  CONVERTER 

designed using localmaze gui creator
]=]

local LMG2L = {};

LMG2L["ScreenGui_1"] = Instance.new("ScreenGui", game:GetService("Players").LocalPlayer:WaitForChild("PlayerGui"));
LMG2L["ScreenGui_1"]["ZIndexBehavior"] = Enum.ZIndexBehavior.Sibling;


LMG2L["Frame_2"] = Instance.new("Frame", LMG2L["ScreenGui_1"]);
LMG2L["Frame_2"]["Active"] = true;
LMG2L["Frame_2"]["BorderSizePixel"] = 0;
LMG2L["Frame_2"]["BackgroundColor3"] = Color3.fromRGB(105, 105, 105);
LMG2L["Frame_2"]["Size"] = UDim2.new(0.26543, 0, 0.15005, 0);
LMG2L["Frame_2"]["Position"] = UDim2.new(0.16172, 0, 0.01837, 0);
LMG2L["Frame_2"]["BorderColor3"] = Color3.fromRGB(130, 203, 255);


LMG2L["UIDragDetector_3"] = Instance.new("UIDragDetector", LMG2L["Frame_2"]);



LMG2L["noclip gui by sasy_4"] = Instance.new("TextBox", LMG2L["Frame_2"]);
LMG2L["noclip gui by sasy_4"]["Interactable"] = false;
LMG2L["noclip gui by sasy_4"]["Name"] = [[noclip gui by sasy]];
LMG2L["noclip gui by sasy_4"]["BorderSizePixel"] = 0;
LMG2L["noclip gui by sasy_4"]["BackgroundColor3"] = Color3.fromRGB(146, 146, 146);
LMG2L["noclip gui by sasy_4"]["Size"] = UDim2.new(0.50331, 0, 0.32653, 0);
LMG2L["noclip gui by sasy_4"]["Text"] = [[noclip gui by sasy]];


LMG2L["TextButton_5"] = Instance.new("TextButton", LMG2L["noclip gui by sasy_4"]);
LMG2L["TextButton_5"]["BorderSizePixel"] = 0;
LMG2L["TextButton_5"]["BackgroundColor3"] = Color3.fromRGB(255, 255, 255);
LMG2L["TextButton_5"]["Selectable"] = false;
LMG2L["TextButton_5"]["Size"] = UDim2.new(1.44737, 0, 1.6875, 0);
LMG2L["TextButton_5"]["Text"] = [[Toggle]];
LMG2L["TextButton_5"]["Position"] = UDim2.new(0.25, 0, 0.875, 0);


LMG2L["UICorner_6"] = Instance.new("UICorner", LMG2L["Frame_2"]);



LMG2L["UIAspectRatioConstraint_7"] = Instance.new("UIAspectRatioConstraint", LMG2L["Frame_2"]);
LMG2L["UIAspectRatioConstraint_7"]["AspectRatio"] = 3.08163;


LMG2L["_8"] = Instance.new("TextBox", LMG2L["ScreenGui_1"]);
LMG2L["_8"]["Name"] = [[]];
LMG2L["_8"]["BorderSizePixel"] = 0;
LMG2L["_8"]["TextEditable"] = false;
LMG2L["_8"]["TextColor3"] = Color3.fromRGB(150, 0, 0);
LMG2L["_8"]["BackgroundColor3"] = Color3.fromRGB(255, 255, 255);
LMG2L["_8"]["Size"] = UDim2.new(0.23379, 0, 0.05818, 0);
LMG2L["_8"]["Position"] = UDim2.new(0.78926, 0, -0.10412, 0);
LMG2L["_8"]["Text"] = [[status:off]];


LMG2L["UIAspectRatioConstraint_9"] = Instance.new("UIAspectRatioConstraint", LMG2L["_8"]);
LMG2L["UIAspectRatioConstraint_9"]["AspectRatio"] = 7;


local Players = game:GetService("Players")
local RunService = game:GetService("RunService")
local UserInputService = game:GetService("UserInputService")
local LocalPlayer = Players.LocalPlayer

local noclipActive = false
local originalCollisions = {}
local toggleButton = LMG2L["TextButton_5"]
local statusDisplay = LMG2L["_8"]

local connection
connection = RunService.Stepped:Connect(function()
    if noclipActive and LocalPlayer.Character then
        for _, part in ipairs(LocalPlayer.Character:GetDescendants()) do
            if part:IsA("BasePart") then
                if originalCollisions[part] == nil then
                    originalCollisions[part] = part.CanCollide
                end
                part.CanCollide = false
            end
        end
    end
end)

local function restoreCollisions()
    if LocalPlayer.Character then
        for part, wasCollidable in pairs(originalCollisions) do
            if part and part:IsDescendantOf(LocalPlayer.Character) then
                part.CanCollide = wasCollidable
            end
        end
    end
    table.clear(originalCollisions)
end

LocalPlayer.CharacterAdded:Connect(function()
    table.clear(originalCollisions)
    if not noclipActive then
        statusDisplay.Text = "status:off"
        statusDisplay.TextColor3 = Color3.fromRGB(150, 0, 0)
    end
end)

local function checkIsOverButton(inputPosition)
    local absPos = toggleButton.AbsolutePosition
    local absSize = toggleButton.AbsoluteSize
    return inputPosition.X >= absPos.X and inputPosition.X <= (absPos.X + absSize.X)
       and inputPosition.Y >= absPos.Y and inputPosition.Y <= (absPos.Y + absSize.Y)
end

UserInputService.InputBegan:Connect(function(input, gameProcessed)
    if input.UserInputType == Enum.UserInputType.MouseButton1 or input.UserInputType == Enum.UserInputType.Touch then
        if checkIsOverButton(input.Position) then
            noclipActive = not noclipActive
            
            if noclipActive then
                statusDisplay.Text = "status:on"
                statusDisplay.TextColor3 = Color3.fromRGB(20, 150, 0)
            else
                statusDisplay.Text = "status:off"
                statusDisplay.TextColor3 = Color3.fromRGB(150, 0, 0)
                restoreCollisions()
            end
        end
    end
end)

return LMG2L["ScreenGui_1"], require;

Features & Information

the best noclip gui on script blox ecc for now

Community Comments (0)

No comments yet for this script.

More Scripts for Universal Scripts