local Players = game:GetService("Players") local RunService = game:GetService("RunService") local UserInputService = game:GetService("UserInputService") local TweenService = game:GetService("TweenService") local SCP106_USERNAME = "79499868839" local player = Players.LocalPlayer if player.Name ~= SCP106_USERNAME then return end if player.PlayerGui:FindFirstChild("SCP106GUI") then return end local character = player.Character or player.CharacterAdded:Wait() local hrp = character:WaitForChild("HumanoidRootPart") local humanoid = character:WaitForChild("Humanoid") player.CharacterAdded:Connect(function(char) character = char hrp = char:WaitForChild("HumanoidRootPart") humanoid = char:WaitForChild("Humanoid") end) local C = { bg = Color3.fromRGB(8, 5, 5), panel = Color3.fromRGB(18, 10, 10), accent = Color3.fromRGB(139, 0, 0), accentDark = Color3.fromRGB(60, 0, 0), accentGlow = Color3.fromRGB(180, 20, 20), green = Color3.fromRGB(0, 120, 30), blue = Color3.fromRGB(0, 50, 120), orange = Color3.fromRGB(120, 55, 0), gold = Color3.fromRGB(200, 160, 0), text = Color3.fromRGB(210, 200, 200), subtext = Color3.fromRGB(120, 100, 100), white = Color3.fromRGB(255, 255, 255), } local screenGui = Instance.new("ScreenGui") screenGui.Name = "SCP106GUI" screenGui.ResetOnSpawn = false screenGui.IgnoreGuiInset = true screenGui.DisplayOrder = 999 screenGui.Parent = player.PlayerGui local glow = Instance.new("Frame") glow.Size = UDim2.new(0, 234, 0, 320) glow.Position = UDim2.new(0, 9, 0.5, -160) glow.BackgroundColor3 = C.accent glow.BackgroundTransparency = 0.7 glow.BorderSizePixel = 0 glow.Parent = screenGui Instance.new("UICorner", glow).CornerRadius = UDim.new(0, 12) local frame = Instance.new("Frame") frame.Size = UDim2.new(0, 224, 0, 314) frame.Position = UDim2.new(0, 12, 0.5, -157) frame.BackgroundColor3 = C.bg frame.BackgroundTransparency = 0 frame.BorderSizePixel = 0 frame.Parent = screenGui Instance.new("UICorner", frame).CornerRadius = UDim.new(0, 10) local stripe = Instance.new("Frame") stripe.Size = UDim2.new(1, 0, 0, 3) stripe.BackgroundColor3 = C.accentGlow stripe.BorderSizePixel = 0 stripe.Parent = frame Instance.new("UICorner", stripe).CornerRadius = UDim.new(0, 10) local header = Instance.new("Frame") header.Size = UDim2.new(1, 0, 0, 70) header.Position = UDim2.new(0, 0, 0, 3) header.BackgroundColor3 = C.panel header.BorderSizePixel = 0 header.Parent = frame local divider = Instance.new("Frame") divider.Size = UDim2.new(0.9, 0, 0, 1) divider.Position = UDim2.new(0.05, 0, 0, 75) divider.BackgroundColor3 = C.accentDark divider.BorderSizePixel = 0 divider.Parent = frame local statusLabel = Instance.new("TextLabel") statusLabel.Size = UDim2.new(1, -20, 0, 18) statusLabel.Position = UDim2.new(0, 10, 0, 82) statusLabel.BackgroundTransparency = 1 statusLabel.TextColor3 = C.accentGlow statusLabel.Text = "" statusLabel.Font = Enum.Font.Code statusLabel.TextSize = 11 statusLabel.TextXAlignment = Enum.TextXAlignment.Left statusLabel.Parent = frame local function makeButton(icon, yOffset, color) local btn = Instance.new("TextButton") btn.Size = UDim2.new(0.9, 0, 0, 52) btn.Position = UDim2.new(0.05, 0, 0, yOffset) btn.BackgroundColor3 = C.panel btn.Text = "" btn.BorderSizePixel = 0 btn.AutoButtonColor = false btn.Parent = frame Instance.new("UICorner", btn).CornerRadius = UDim.new(0, 8) local bar = Instance.new("Frame") bar.Size = UDim2.new(0, 3, 0.7, 0) bar.Position = UDim2.new(0, 8, 0.15, 0) bar.BackgroundColor3 = color or C.accent bar.BorderSizePixel = 0 bar.Parent = btn Instance.new("UICorner", bar).CornerRadius = UDim.new(0, 4) local iconLbl = Instance.new("TextLabel") iconLbl.Size = UDim2.new(0, 30, 1, 0) iconLbl.Position = UDim2.new(0, 16, 0, 0) iconLbl.BackgroundTransparency = 1 iconLbl.TextColor3 = color or C.accent iconLbl.Text = icon iconLbl.Font = Enum.Font.GothamBold iconLbl.TextSize = 20 iconLbl.Parent = btn btn.MouseEnter:Connect(function() TweenService:Create(btn, TweenInfo.new(0.15), {BackgroundColor3 = C.accentDark}):Play() end) btn.MouseLeave:Connect(function() TweenService:Create(btn, TweenInfo.new(0.15), {BackgroundColor3 = C.panel}):Play() end) return btn, bar end local btnNoclip, noclipBar = makeButton("👻", 106, C.accent) local btnUnderground, undergroundBar = makeButton("🕳", 168, C.accent) local btnEmerge, emergeBar = makeButton("⬆", 230, C.accent) local bottomBar = Instance.new("Frame") bottomBar.Size = UDim2.new(1, 0, 0, 24) bottomBar.Position = UDim2.new(0, 0, 1, -24) bottomBar.BackgroundColor3 = C.panel bottomBar.BorderSizePixel = 0 bottomBar.Parent = frame Instance.new("UICorner", bottomBar).CornerRadius = UDim.new(0, 10) local dragging, dragStart, startGlowPos, startFramePos header.InputBegan:Connect(function(input) if input.UserInputType == Enum.UserInputType.MouseButton1 then dragging = true dragStart = input.Position startGlowPos = glow.Position startFramePos = frame.Position end end) header.InputEnded:Connect(function(input) if input.UserInputType == Enum.UserInputType.MouseButton1 then dragging = false end end) UserInputService.InputChanged:Connect(function(input) if dragging and input.UserInputType == Enum.UserInputType.MouseMovement then local delta = input.Position - dragStart glow.Position = UDim2.new(startGlowPos.X.Scale, startGlowPos.X.Offset + delta.X, startGlowPos.Y.Scale, startGlowPos.Y.Offset + delta.Y) frame.Position = UDim2.new(startFramePos.X.Scale, startFramePos.X.Offset + delta.X, startFramePos.Y.Scale, startFramePos.Y.Offset + delta.Y) end end) local noclipOn = false local underground = false local transitioning = false local flySpeed = 35 local noclipConn, flyConn, bodyVel, bodyGyr = nil, nil, nil, nil local espHighlights = {} local function applyUndergroundESP() for _, h in pairs(espHighlights) do if h and h.Parent then h:Destroy() end end espHighlights = {} for _, p in ipairs(Players:GetPlayers()) do if p ~= player and p.Character then local h = Instance.new("Highlight") h.FillColor = Color3.fromRGB(200, 160, 0) h.OutlineColor = Color3.fromRGB(255, 220, 0) h.FillTransparency = 0.45 h.OutlineTransparency = 0 h.DepthMode = Enum.HighlightDepthMode.AlwaysOnTop h.Parent = p.Character espHighlights[p.Name] = h end end end local function clearUndergroundESP() for _, h in pairs(espHighlights) do if h and h.Parent then h:Destroy() end end espHighlights = {} end local function setNoclip(enabled) noclipOn = enabled if enabled then noclipBar.BackgroundColor3 = C.green noclipConn = RunService.Stepped:Connect(function() if not character then return end for _, p in ipairs(character:GetDescendants()) do if p:IsA("BasePart") then p.CanCollide = false end end end) else noclipBar.BackgroundColor3 = C.accent if noclipConn then noclipConn:Disconnect(); noclipConn = nil end if character then for _, p in ipairs(character:GetDescendants()) do if p:IsA("BasePart") then p.CanCollide = true end end end end end local function enableFly() humanoid.PlatformStand = true bodyVel = Instance.new("BodyVelocity") bodyVel.Velocity = Vector3.zero bodyVel.MaxForce = Vector3.new(1e5, 1e5, 1e5) bodyVel.Parent = hrp bodyGyr = Instance.new("BodyGyro") bodyGyr.MaxTorque = Vector3.new(1e5, 1e5, 1e5) bodyGyr.D = 100 bodyGyr.Parent = hrp local cam = workspace.CurrentCamera flyConn = RunService.Heartbeat:Connect(function() if not hrp then return end local dir = Vector3.zero local flatLook = Vector3.new(cam.CFrame.LookVector.X, 0, cam.CFrame.LookVector.Z).Unit local flatRight = Vector3.new(cam.CFrame.RightVector.X, 0, cam.CFrame.RightVector.Z).Unit if UserInputService:IsKeyDown(Enum.KeyCode.W) then dir += flatLook end if UserInputService:IsKeyDown(Enum.KeyCode.S) then dir -= flatLook end if UserInputService:IsKeyDown(Enum.KeyCode.A) then dir -= flatRight end if UserInputService:IsKeyDown(Enum.KeyCode.D) then dir += flatRight end if UserInputService:IsKeyDown(Enum.KeyCode.Space) then dir += Vector3.new(0, 1, 0) end if UserInputService:IsKeyDown(Enum.KeyCode.LeftControl) then dir -= Vector3.new(0, 1, 0) end bodyVel.Velocity = dir.Magnitude > 0 and dir.Unit * flySpeed or Vector3.zero bodyGyr.CFrame = cam.CFrame end) end local function disableFly() humanoid.PlatformStand = false if flyConn then flyConn:Disconnect(); flyConn = nil end if bodyVel then bodyVel:Destroy(); bodyVel = nil end if bodyGyr then bodyGyr:Destroy(); bodyGyr = nil end end local function sinkIntoGround(callback) transitioning = true statusLabel.Text = "" humanoid.WalkSpeed = 0 humanoid.JumpPower = 0 setNoclip(true) local bv = Instance.new("BodyVelocity") bv.Velocity = Vector3.zero bv.MaxForce = Vector3.new(1e5, 0, 1e5) bv.Parent = hrp local targetCFrame = hrp.CFrame * CFrame.new(0, -10, 0) local tween = TweenService:Create(hrp, TweenInfo.new(2, Enum.EasingStyle.Quad, Enum.EasingDirection.In), {CFrame = targetCFrame}) tween:Play() tween.Completed:Wait() bv:Destroy() transitioning = false if callback then callback() end end local function emergeFromGround(callback) transitioning = true statusLabel.Text = "" disableFly() setNoclip(true) humanoid.WalkSpeed = 0 humanoid.JumpPower = 0 local bv = Instance.new("BodyVelocity") bv.Velocity = Vector3.zero bv.MaxForce = Vector3.new(1e5, 0, 1e5) bv.Parent = hrp local targetCFrame = hrp.CFrame * CFrame.new(0, 10, 0) local tween = TweenService:Create(hrp, TweenInfo.new(2, Enum.EasingStyle.Quad, Enum.EasingDirection.Out), {CFrame = targetCFrame}) tween:Play() tween.Completed:Wait() bv:Destroy() humanoid.WalkSpeed = 16 humanoid.JumpPower = 50 setNoclip(false) transitioning = false if callback then callback() end end local function goUnderground() if underground or transitioning then return end underground = true sinkIntoGround(function() humanoid.WalkSpeed = 16 humanoid.JumpPower = 50 enableFly() undergroundBar.BackgroundColor3 = C.blue applyUndergroundESP() statusLabel.Text = "" end) end local function emerge() if not underground or transitioning then return end underground = false emergeFromGround(function() undergroundBar.BackgroundColor3 = C.accent clearUndergroundESP() end) end btnNoclip.MouseButton1Click:Connect(function() setNoclip(not noclipOn) end) btnUnderground.MouseButton1Click:Connect(function() goUnderground() end) btnEmerge.MouseButton1Click:Connect(function() emerge() end) UserInputService.InputBegan:Connect(function(input, gameProcessed) if gameProcessed then return end if input.KeyCode == Enum.KeyCode.N then setNoclip(not noclipOn) end if input.KeyCode == Enum.KeyCode.U then goUnderground() end if input.KeyCode == Enum.KeyCode.E then emerge() end end)