Script
-- Flee the Facility GUI v0.5 (Optimized / Anti-Lag GUI)
-- Keybinds:
-- F = Fly
-- G = Noclip
-- H = Player ESP
-- K = PC ESP
-- L = Exit Door ESP
local Players = game:GetService("Players")
local RunService = game:GetService("RunService")
local UserInputService = game:GetService("UserInputService")
local Workspace = game:GetService("Workspace")
local CoreGui = game:GetService("CoreGui")
local localPlayer = Players.LocalPlayer
-- States
local noclipEnabled = false
local playerEspEnabled = false
local pcEspEnabled = false
local doorEspEnabled = false
local flyEnabled = false
local noclipConnection
local playerEspConnection
local pcAddedConnection
local doorAddedConnection
local flyConnection
local playerHighlights = {}
local pcHighlights = {}
local doorHighlights = {}
-- Fly Variables
local flySpeed = 50
local bodyVelocity
local bodyGyro
--------------------------------------------------------------------------------
-- CORE FUNCTIONS
--------------------------------------------------------------------------------
-- 1. Noclip Logic
local function updateNoclip()
if noclipEnabled and localPlayer.Character then
for _, part in ipairs(localPlayer.Character:GetDescendants()) do
if part:IsA("BasePart") and part.CanCollide then
part.CanCollide = false
end
end
end
end
local function toggleNoclip(button)
noclipEnabled = not noclipEnabled
if noclipEnabled then
noclipConnection = RunService.Stepped:Connect(updateNoclip)
if button then button.BackgroundColor3 = Color3.fromRGB(0, 180, 0) end
else
if noclipConnection then
noclipConnection:Disconnect()
noclipConnection = nil
end
if localPlayer.Character then
for _, part in ipairs(localPlayer.Character:GetDescendants()) do
if part:IsA("BasePart") then
part.CanCollide = true
end
end
end
if button then button.BackgroundColor3 = Color3.fromRGB(180, 0, 0) end
end
end
-- 2. Player ESP Logic (Dark Red)
local function updatePlayerESP()
for _, player in ipairs(Players:GetPlayers()) do
if player ~= localPlayer and player.Character then
local character = player.Character
local highlight = playerHighlights[player]
if playerEspEnabled then
if not highlight or not highlight.Parent then
highlight = Instance.new("Highlight")
highlight.Name = "DarkRed_PlayerESP"
highlight.Adornee = character
highlight.FillColor = Color3.fromRGB(150, 0, 0)
highlight.OutlineColor = Color3.fromRGB(80, 0, 0)
highlight.FillTransparency = 0.5
highlight.OutlineTransparency = 0
highlight.Parent = character
playerHighlights[player] = highlight
end
else
if highlight then
highlight:Destroy()
playerHighlights[player] = nil
end
end
end
end
end
local function togglePlayerESP(button)
playerEspEnabled = not playerEspEnabled
if playerEspEnabled then
playerEspConnection = RunService.RenderStepped:Connect(updatePlayerESP)
if button then button.BackgroundColor3 = Color3.fromRGB(0, 180, 0) end
else
if playerEspConnection then
playerEspConnection:Disconnect()
playerEspConnection = nil
end
for player, highlight in pairs(playerHighlights) do
if highlight then highlight:Destroy() end
playerHighlights[player] = nil
end
if button then button.BackgroundColor3 = Color3.fromRGB(180, 0, 0) end
end
end
-- 3. PC ESP Logic (Dark Green)
local function addPCHighlight(obj)
if obj.Name == "ComputerTable" and (obj:IsA("Model") or obj:IsA("BasePart")) then
if not pcHighlights[obj] then
local highlight = Instance.new("Highlight")
highlight.Name = "DarkGreen_PCEsp"
highlight.Adornee = obj
highlight.FillColor = Color3.fromRGB(0, 100, 0)
highlight.OutlineColor = Color3.fromRGB(0, 50, 0)
highlight.FillTransparency = 0.5
highlight.OutlineTransparency = 0
highlight.Parent = obj
pcHighlights[obj] = highlight
end
end
end
local function togglePCESP(button)
pcEspEnabled = not pcEspEnabled
if pcEspEnabled then
for _, obj in ipairs(Workspace:GetDescendants()) do
addPCHighlight(obj)
end
pcAddedConnection = Workspace.DescendantAdded:Connect(addPCHighlight)
if button then button.BackgroundColor3 = Color3.fromRGB(0, 180, 0) end
else
if pcAddedConnection then
pcAddedConnection:Disconnect()
pcAddedConnection = nil
end
for obj, highlight in pairs(pcHighlights) do
if highlight then highlight:Destroy() end
pcHighlights[obj] = nil
end
if button then button.BackgroundColor3 = Color3.fromRGB(180, 0, 0) end
end
end
-- 4. Fly Logic
local function toggleFly(button)
flyEnabled = not flyEnabled
local character = localPlayer.Character
local hrp = character and character:FindFirstChild("HumanoidRootPart")
if flyEnabled and hrp then
bodyVelocity = Instance.new("BodyVelocity")
bodyVelocity.MaxForce = Vector3.new(1e9, 1e9, 1e9)
bodyVelocity.Velocity = Vector3.zero
bodyVelocity.Parent = hrp
bodyGyro = Instance.new("BodyGyro")
bodyGyro.MaxTorque = Vector3.new(1e9, 1e9, 1e9)
bodyGyro.CFrame = hrp.CFrame
bodyGyro.Parent = hrp
flyConnection = RunService.RenderStepped:Connect(function()
if not flyEnabled or not hrp or not hrp.Parent then return end
local camera = Workspace.CurrentCamera
local moveVector = Vector3.zero
if UserInputService:IsKeyDown(Enum.KeyCode.W) then
moveVector = moveVector + camera.CFrame.LookVector
end
if UserInputService:IsKeyDown(Enum.KeyCode.S) then
moveVector = moveVector - camera.CFrame.LookVector
end
if UserInputService:IsKeyDown(Enum.KeyCode.A) then
moveVector = moveVector - camera.CFrame.RightVector
end
if UserInputService:IsKeyDown(Enum.KeyCode.D) then
moveVector = moveVector + camera.CFrame.RightVector
end
if UserInputService:IsKeyDown(Enum.KeyCode.E) then
moveVector = moveVector + Vector3.new(0, 1, 0)
end
if UserInputService:IsKeyDown(Enum.KeyCode.Q) then
moveVector = moveVector - Vector3.new(0, 1, 0)
end
if moveVector.Magnitude > 0 then
moveVector = moveVector.Unit
end
bodyVelocity.Velocity = moveVector * flySpeed
bodyGyro.CFrame = camera.CFrame
end)
if button then button.BackgroundColor3 = Color3.fromRGB(0, 180, 0) end
else
if flyConnection then
flyConnection:Disconnect()
flyConnection = nil
end
if bodyVelocity then bodyVelocity:Destroy() bodyVelocity = nil end
if bodyGyro then bodyGyro:Destroy() bodyGyro = nil end
if button then button.BackgroundColor3 = Color3.fromRGB(180, 0, 0) end
end
end
-- 5. Exit Door ESP Logic (Dark Blue)
local function addDoorHighlight(obj)
if obj.Name == "ExitDoor" and (obj:IsA("Model") or obj:IsA("BasePart")) then
if not doorHighlights[obj] then
local highlight = Instance.new("Highlight")
highlight.Name = "DarkBlue_ExitDoorESP"
highlight.Adornee = obj
highlight.FillColor = Color3.fromRGB(0, 0, 150)
highlight.OutlineColor = Color3.fromRGB(0, 0, 70)
highlight.FillTransparency = 0.5
highlight.OutlineTransparency = 0
highlight.Parent = obj
doorHighlights[obj] = highlight
end
end
end
local function toggleDoorESP(button)
doorEspEnabled = not doorEspEnabled
if doorEspEnabled then
for _, obj in ipairs(Workspace:GetDescendants()) do
addDoorHighlight(obj)
end
doorAddedConnection = Workspace.DescendantAdded:Connect(addDoorHighlight)
if button then button.BackgroundColor3 = Color3.fromRGB(0, 180, 0) end
else
if doorAddedConnection then
doorAddedConnection:Disconnect()
doorAddedConnection = nil
end
for obj, highlight in pairs(doorHighlights) do
if highlight then highlight:Destroy() end
doorHighlights[obj] = nil
end
if button then button.BackgroundColor3 = Color3.fromRGB(180, 0, 0) end
end
end
--------------------------------------------------------------------------------
-- GUI CREATION
--------------------------------------------------------------------------------
local guiTarget = CoreGui:FindFirstChild("RobloxGui") or localPlayer:WaitForChild("PlayerGui")
if guiTarget:FindFirstChild("OldSchoolControlGui") then
guiTarget.OldSchoolControlGui:Destroy()
end
local screenGui = Instance.new("ScreenGui")
screenGui.Name = "OldSchoolControlGui"
screenGui.ResetOnSpawn = false
screenGui.Parent = guiTarget
local mainFrame = Instance.new("Frame")
mainFrame.Name = "MainFrame"
mainFrame.Size = UDim2.new(0, 230, 0, 350) -- Made frame slightly wider & taller
mainFrame.Position = UDim2.new(0.05, 0, 0.3, 0)
mainFrame.BackgroundColor3 = Color3.fromRGB(50, 50, 50)
mainFrame.BorderColor3 = Color3.fromRGB(0, 0, 0)
mainFrame.BorderSizePixel = 3
mainFrame.Active = true
mainFrame.Draggable = true
mainFrame.Parent = screenGui
local titleBar = Instance.new("TextLabel")
titleBar.Name = "TitleBar"
titleBar.Size = UDim2.new(1, 0, 0, 30)
titleBar.BackgroundColor3 = Color3.fromRGB(20, 20, 20)
titleBar.BorderColor3 = Color3.fromRGB(0, 0, 0)
titleBar.BorderSizePixel = 1
titleBar.Font = Enum.Font.SourceSansBold
titleBar.Text = " Flee the Facility GUI v0.5"
titleBar.TextColor3 = Color3.fromRGB(255, 255, 255)
titleBar.TextSize = 16
titleBar.TextXAlignment = Enum.TextXAlignment.Left
titleBar.Parent = mainFrame
local function createButton(text, keyHint, positionY, onClick)
local button = Instance.new("TextButton")
button.Size = UDim2.new(0.9, 0, 0, 40)
button.Position = UDim2.new(0.05, 0, 0, positionY)
button.BackgroundColor3 = Color3.fromRGB(180, 0, 0)
button.BorderColor3 = Color3.fromRGB(0, 0, 0)
button.BorderSizePixel = 2
button.Font = Enum.Font.SourceSansBold
button.Text = text .. " [" .. keyHint .. "]"
button.TextColor3 = Color3.fromRGB(255, 255, 255)
button.TextSize = 14
button.Parent = mainFrame
button.MouseButton1Click:Connect(function()
onClick(button)
end)
return button
end
local flyBtn = createButton("Fly", "F", 40, toggleFly)
local noclipBtn = createButton("Noclip", "G", 90, toggleNoclip)
local playerBtn = createButton("Player ESP", "H", 140, togglePlayerESP)
local pcBtn = createButton("PC ESP", "K", 190, togglePCESP)
local doorBtn = createButton("Exit Door ESP", "L", 240, toggleDoorESP)
-- Larger Footer Credit Label
local footerLabel = Instance.new("TextLabel")
footerLabel.Name = "FooterLabel"
footerLabel.Size = UDim2.new(1, 0, 0, 30)
footerLabel.Position = UDim2.new(0, 0, 0, 305)
footerLabel.BackgroundTransparency = 1
footerLabel.Font = Enum.Font.SourceSansBold
footerLabel.Text = "GUI by @rainbow_pandaYT15"
footerLabel.TextColor3 = Color3.fromRGB(255, 255, 255)
footerLabel.TextSize = 14 -- Increased text size and changed to bold
footerLabel.Parent = mainFrame
--------------------------------------------------------------------------------
-- KEYBINDINGS
--------------------------------------------------------------------------------
UserInputService.InputBegan:Connect(function(input, gameProcessed)
if gameProcessed then return end
if input.KeyCode == Enum.KeyCode.F then
toggleFly(flyBtn)
elseif input.KeyCode == Enum.KeyCode.G then
toggleNoclip(noclipBtn)
elseif input.KeyCode == Enum.KeyCode.H then
togglePlayerESP(playerBtn)
elseif input.KeyCode == Enum.KeyCode.K then
togglePCESP(pcBtn)
elseif input.KeyCode == Enum.KeyCode.L then
toggleDoorESP(doorBtn)
end
end)Features
- Flee the Facility GUI v0.5 (Optimized / Anti-Lag GUI)
- Keybinds:
- F = Fly
- G = Noclip
- H = Player ESP
- K = PC ESP
- L = Exit Door ESP