Skip to content
RoRoScripts
GUI v0.5 preview
Unknown

GUI v0.5

Script
Views
363
Likes
0
Dislikes
0
Added
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
GUI v0.5 · RoScripts