local Players = game:GetService("Players") local Player = Players.LocalPlayer local PlayerGui = Player:WaitForChild("PlayerGui") if PlayerGui:FindFirstChild("SecretRoomGui") then PlayerGui.SecretRoomGui:Destroy() end local ScreenGui = Instance.new("ScreenGui") ScreenGui.Name = "SecretRoomGui" ScreenGui.ResetOnSpawn = false ScreenGui.Parent = PlayerGui local TextButton = Instance.new("TextButton") TextButton.Size = UDim2.new(0, 200, 0, 50) TextButton.Position = UDim2.new(0.5, -100, 0.1, 0) TextButton.BackgroundColor3 = Color3.fromRGB(30, 30, 30) TextButton.TextColor3 = Color3.fromRGB(255, 255, 255) TextButton.TextSize = 18 TextButton.Font = Enum.Font.SourceSansBold TextButton.Text = "Go to Secret Room" TextButton.BorderSizePixel = 2 TextButton.Parent = ScreenGui local UICorner = Instance.new("UICorner") UICorner.CornerRadius = UDim.new(0, 8) UICorner.Parent = TextButton local SavedPosition = nil local InSecretRoom = false local function CreateRoom(pos) local roomName = "ClosedSecretRoom" local Folder = workspace:FindFirstChild(roomName) if not Folder then Folder = Instance.new("Folder", workspace) Folder.Name = roomName end Folder:ClearAllChildren() local parts = { Floor = {Size = Vector3.new(30, 1, 30), Position = Vector3.new(pos.X, 7000, pos.Z)}, Roof = {Size = Vector3.new(30, 1, 30), Position = Vector3.new(pos.X, 7015, pos.Z)}, Wall1 = {Size = Vector3.new(1, 15, 30), Position = Vector3.new(pos.X + 15, 7007.5, pos.Z)}, Wall2 = {Size = Vector3.new(1, 15, 30), Position = Vector3.new(pos.X - 15, 7007.5, pos.Z)}, Wall3 = {Size = Vector3.new(30, 15, 1), Position = Vector3.new(pos.X, 7007.5, pos.Z + 15)}, Wall4 = {Size = Vector3.new(30, 15, 1), Position = Vector3.new(pos.X, 7007.5, pos.Z - 14.5)} } for name, data in pairs(parts) do local p = Instance.new("Part", Folder) p.Name = name p.Size = data.Size p.Position = data.Position p.Anchored = true p.Material = Enum.Material.SmoothPlastic p.Color = Color3.fromRGB(20, 20, 20) end end local function safeTeleport(targetCFrame) local Character = Player.Character local HRP = Character and Character:FindFirstChild("HumanoidRootPart") if HRP then HRP.Anchored = true task.wait(0.05) HRP.CFrame = targetCFrame task.wait(0.1) HRP.Anchored = false end end TextButton.MouseButton1Click:Connect(function() local Character = Player.Character local HRP = Character and Character:FindFirstChild("HumanoidRootPart") if HRP then if not InSecretRoom then SavedPosition = HRP.CFrame CreateRoom(SavedPosition.Position) safeTeleport(CFrame.new(SavedPosition.Position.X, 7003, SavedPosition.Position.Z)) InSecretRoom = true TextButton.Text = "Return Back" TextButton.BackgroundColor3 = Color3.fromRGB(150, 0, 0) else if SavedPosition then safeTeleport(SavedPosition) end InSecretRoom = false TextButton.Text = "Go to Secret Room" TextButton.BackgroundColor3 = Color3.fromRGB(30, 30, 30) end end end)