
KeylessUniversal

--// SERVICES
local Players = game:GetService("Players")
local UIS = game:GetService("UserInputService")
local RunService = game:GetService("RunService")
local TweenService = game:GetService("TweenService")
local player = Players.LocalPlayer
if game.CoreGui:FindFirstChild("NoclipGui") then
return
end
local noclipEnabled = false
local guiVisible = true
local destroyed = false
--// SCREEN GUI
local screenGui = Instance.new("ScreenGui")
screenGui.Name = "NoclipGui"
screenGui.ResetOnSpawn = false
screenGui.IgnoreGuiInset = true
screenGui.Parent = game.CoreGui
--// MAIN PANEL
local mainFrame = Instance.new("Frame")
mainFrame.Size = UDim2.new(0, 260, 0, 110)
mainFrame.Position = UDim2.new(0, 20, 0, 100)
mainFrame.BackgroundColor3 = Color3.fromRGB(25, 25, 25)
mainFrame.BorderSizePixel = 0
mainFrame.Active = true
mainFrame.Parent = screenGui
local mainCorner = Instance.new("UICorner")
mainCorner.CornerRadius = UDim.new(0, 8)
mainCorner.Parent = mainFrame
local stroke = Instance.new("UIStroke")
stroke.Thickness = 1.4
stroke.Color = Color3.fromRGB(120, 140, 255)
stroke.Transparency = 0.25
stroke.Parent = mainFrame
local gradient = Instance.new("UIGradient")
gradient.Color = ColorSequence.new({
ColorSequenceKeypoint.new(0, Color3.fromRGB(35, 35, 60)),
ColorSequenceKeypoint.new(1, Color3.fromRGB(15, 15, 25))
})
gradient.Rotation = 135
gradient.Parent = mainFrame
local uiScale = Instance.new("UIScale")
uiScale.Scale = 1
uiScale.Parent = mainFrame
local padding = Instance.new("UIPadding")
padding.PaddingTop = UDim.new(0, 6)
padding.PaddingLeft = UDim.new(0, 8)
padding.PaddingRight = UDim.new(0, 8)
padding.PaddingBottom = UDim.new(0, 6)
padding.Parent = mainFrame
local listLayout = Instance.new("UIListLayout")
listLayout.FillDirection = Enum.FillDirection.Vertical
listLayout.SortOrder = Enum.SortOrder.LayoutOrder
listLayout.Padding = UDim.new(0, 4)
listLayout.Parent = mainFrame
--// HEADER ROW: TITLE + X
local titleRow = Instance.new("Frame")
titleRow.Size = UDim2.new(1, -16, 0, 24)
titleRow.BackgroundTransparency = 1
titleRow.LayoutOrder = 1
titleRow.Parent = mainFrame
local titleRowLayout = Instance.new("UIListLayout")
titleRowLayout.FillDirection = Enum.FillDirection.Horizontal
titleRowLayout.HorizontalAlignment = Enum.HorizontalAlignment.Left
titleRowLayout.VerticalAlignment = Enum.VerticalAlignment.Center
titleRowLayout.Padding = UDim.new(0, 4)
titleRowLayout.Parent = titleRow
local titleLabel = Instance.new("TextLabel")
titleLabel.Size = UDim2.new(1, -40, 1, 0)
titleLabel.BackgroundTransparency = 1
titleLabel.Text = "Noclip Panel"
titleLabel.Font = Enum.Font.GothamBold
titleLabel.TextScaled = true
titleLabel.TextColor3 = Color3.fromRGB(235, 235, 255)
titleLabel.TextXAlignment = Enum.TextXAlignment.Left
titleLabel.LayoutOrder = 1
titleLabel.Parent = titleRow
local closeBtn = Instance.new("TextButton")
closeBtn.Size = UDim2.new(0, 24, 0, 24)
closeBtn.BackgroundColor3 = Color3.fromRGB(90, 25, 25)
closeBtn.TextColor3 = Color3.new(1, 1, 1)
closeBtn.Text = "X"
closeBtn.Font = Enum.Font.GothamBold
closeBtn.TextScaled = true
closeBtn.AutoButtonColor = false
closeBtn.LayoutOrder = 2
closeBtn.Parent = titleRow
local closeCorner = Instance.new("UICorner")
closeCorner.CornerRadius = UDim.new(1, 0)
closeCorner.Parent = closeBtn
local closeStroke = Instance.new("UIStroke")
closeStroke.Thickness = 1
closeStroke.Color = Color3.fromRGB(230, 120, 120)
closeStroke.Transparency = 0.2
closeStroke.Parent = closeBtn
-- LINE
local divider = Instance.new("Frame")
divider.Size = UDim2.new(1, -16, 0, 1)
divider.BackgroundColor3 = Color3.fromRGB(80, 90, 140)
divider.BorderSizePixel = 0
divider.LayoutOrder = 2
divider.Parent = mainFrame
--// ROW: BUTTON + STATUS
local btnRow = Instance.new("Frame")
btnRow.Size = UDim2.new(1, -16, 0, 32)
btnRow.BackgroundTransparency = 1
btnRow.LayoutOrder = 3
btnRow.Parent = mainFrame
local btnRowLayout = Instance.new("UIListLayout")
btnRowLayout.FillDirection = Enum.FillDirection.Horizontal
btnRowLayout.HorizontalAlignment = Enum.HorizontalAlignment.Left
btnRowLayout.VerticalAlignment = Enum.VerticalAlignment.Center
btnRowLayout.Padding = UDim.new(0, 4) -- БЫЛА ОШИБКА, ТУТ ИСПРАВЛЕНО
btnRowLayout.Parent = btnRow
local noclipBtn = Instance.new("TextButton")
noclipBtn.Size = UDim2.new(0, 130, 1, 0)
noclipBtn.BackgroundColor3 = Color3.fromRGB(120, 40, 40)
noclipBtn.TextColor3 = Color3.new(1, 1, 1)
noclipBtn.Text = "Noclip : OFF"
noclipBtn.Font = Enum.Font.GothamBold
noclipBtn.TextScaled = true
noclipBtn.AutoButtonColor = false
noclipBtn.LayoutOrder = 1
noclipBtn.Parent = btnRow
local noclipCorner = Instance.new("UICorner")
noclipCorner.CornerRadius = UDim.new(0, 6)
noclipCorner.Parent = noclipBtn
local noclipStroke = Instance.new("UIStroke")
noclipStroke.Thickness = 1.2
noclipStroke.Color = Color3.fromRGB(220, 80, 80)
noclipStroke.Transparency = 0.15
noclipStroke.Parent = noclipBtn
local statusLabel = Instance.new("TextLabel")
statusLabel.Size = UDim2.new(1, -135, 1, 0)
statusLabel.BackgroundTransparency = 1
statusLabel.Text = "Status: OFF"
statusLabel.Font = Enum.Font.Gotham
statusLabel.TextScaled = true
statusLabel.TextColor3 = Color3.fromRGB(210, 210, 230)
statusLabel.TextXAlignment = Enum.TextXAlignment.Left
statusLabel.LayoutOrder = 2
statusLabel.Parent = btnRow
--// BOTTOM HINT
local hintLabel = Instance.new("TextLabel")
hintLabel.Size = UDim2.new(1, -16, 0, 24)
hintLabel.BackgroundTransparency = 1
hintLabel.TextColor3 = Color3.fromRGB(175, 180, 210)
hintLabel.TextXAlignment = Enum.TextXAlignment.Left
hintLabel.Font = Enum.Font.Gotham
hintLabel.TextScaled = true
hintLabel.Text = "Toggle menu: M | Exit script: RightCtrl or X"
hintLabel.LayoutOrder = 4
hintLabel.Parent = mainFrame
--// DRAGGING
local function enableDragging(gui)
local dragging = false
local dragInput, dragStart, startPos
gui.InputBegan:Connect(function(input)
if input.UserInputType == Enum.UserInputType.MouseButton1 then
dragging = true
dragStart = input.Position
startPos = gui.Position
input.Changed:Connect(function()
if input.UserInputState == Enum.UserInputState.End then
dragging = false
end
end)
end
end)
gui.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
local delta = input.Position - dragStart
gui.Position = UDim2.new(
startPos.X.Scale,
startPos.X.Offset + delta.X,
startPos.Y.Scale,
startPos.Y.Offset + delta.Y
)
end
end)
end
enableDragging(mainFrame)
--// TWEEN HELPER
local function tween(obj, props, t)
TweenService:Create(
obj,
TweenInfo.new(t or 0.15, Enum.EasingStyle.Quad, Enum.EasingDirection.Out),
props
):Play()
end
-- BUTTON ANIMS
local defaultBtnColor = noclipBtn.BackgroundColor3
noclipBtn.MouseEnter:Connect(function()
tween(noclipBtn, {BackgroundColor3 = defaultBtnColor:Lerp(Color3.fromRGB(255,255,255),0.18)}, 0.12)
tween(noclipStroke, {Thickness = 2}, 0.12)
end)
noclipBtn.MouseLeave:Connect(function()
tween(noclipBtn, {BackgroundColor3 = defaultBtnColor}, 0.12)
tween(noclipStroke, {Thickness = 1.2}, 0.12)
end)
noclipBtn.MouseButton1Down:Connect(function()
tween(noclipBtn, {Size = UDim2.new(0, 125, 1, 0)}, 0.07)
end)
noclipBtn.MouseButton1Up:Connect(function()
tween(noclipBtn, {Size = UDim2.new(0, 130, 1, 0)}, 0.07)
end)
-- CLOSE BUTTON ANIMS
closeBtn.MouseEnter:Connect(function()
tween(closeBtn, {BackgroundColor3 = Color3.fromRGB(130, 30, 30)}, 0.12)
end)
closeBtn.MouseLeave:Connect(function()
tween(closeBtn, {BackgroundColor3 = Color3.fromRGB(90, 25, 25)}, 0.12)
end)
--// NOCLIP LOGIC
local function setNoclip(state)
if destroyed then return end
noclipEnabled = state
noclipBtn.Text = "Noclip : " .. (state and "ON" or "OFF")
statusLabel.Text = state and "Status: ON" or "Status: OFF"
defaultBtnColor = state and Color3.fromRGB(40,120,60) or Color3.fromRGB(120,40,40)
noclipBtn.BackgroundColor3 = defaultBtnColor
noclipStroke.Color = state and Color3.fromRGB(120,230,150) or Color3.fromRGB(220,80,80)
local char = player.Character
if char then
for _, part in ipairs(char:GetDescendants()) do
if part:IsA("BasePart") then
part.CanCollide = not state
end
end
end
end
local steppedConnection = RunService.Stepped:Connect(function()
if destroyed or not noclipEnabled then return end
local char = player.Character
if not char then return end
for _, part in ipairs(char:GetDescendants()) do
if part:IsA("BasePart") and part.CanCollide then
part.CanCollide = false
end
end
end)
noclipBtn.MouseButton1Click:Connect(function()
setNoclip(not noclipEnabled)
end)
local charAddedConnection = player.CharacterAdded:Connect(function(char)
if destroyed then return end
char:WaitForChild("HumanoidRootPart",5)
for _, part in ipairs(char:GetDescendants()) do
if part:IsA("BasePart") then
part.CanCollide = not noclipEnabled
end
end
end)
--// MENU ANIM (M)
local function playOpenAnim()
mainFrame.Visible = true
uiScale.Scale = 0.85
mainFrame.BackgroundTransparency = 1
stroke.Transparency = 1
tween(uiScale, {Scale = 1}, 0.18)
tween(mainFrame, {BackgroundTransparency = 0}, 0.18)
tween(stroke, {Transparency = 0.25}, 0.18)
end
local function playCloseAnim(callback)
tween(uiScale, {Scale = 0.85}, 0.18)
tween(mainFrame, {BackgroundTransparency = 1}, 0.18)
tween(stroke, {Transparency = 1}, 0.18)
task.delay(0.19, function()
mainFrame.Visible = false
if callback then callback() end
end)
end
local function setGuiVisible(state)
if destroyed then return end
guiVisible = state
if state then
playOpenAnim()
else
playCloseAnim()
end
end
local inputConnection
inputConnection = UIS.InputBegan:Connect(function(input,gp)
if gp or destroyed then return end
if input.KeyCode == Enum.KeyCode.M then
setGuiVisible(not guiVisible)
elseif input.KeyCode == Enum.KeyCode.RightControl then
-- silent hotkey exit
if not destroyed then
destroyed = true
noclipEnabled = false
local char = player.Character
if char then
for _, part in ipairs(char:GetDescendants()) do
if part:IsA("BasePart") then
part.CanCollide = true
end
end
end
if steppedConnection then steppedConnection:Disconnect() end
if charAddedConnection then charAddedConnection:Disconnect() end
if inputConnection then inputConnection:Disconnect() end
playCloseAnim(function()
if screenGui then screenGui:Destroy() end
end)
end
end
end)
-- стартовая анимация
playOpenAnim()
--// FULL DESTROY BY X
local function destroyScriptByButton()
if destroyed then return end
destroyed = true
noclipEnabled = false
local char = player.Character
if char then
for _, part in ipairs(char:GetDescendants()) do
if part:IsA("BasePart") then
part.CanCollide = true
end
end
end
if steppedConnection then steppedConnection:Disconnect() end
if charAddedConnection then charAddedConnection:Disconnect() end
if inputConnection then inputConnection:Disconnect() end
playCloseAnim(function()
if screenGui then screenGui:Destroy() end
end)
end
closeBtn.MouseButton1Click:Connect(destroyScriptByButton)



Working?
@DeathHubReal Yes