backrooms company script FATALITY by derkolya
Key Required

backrooms company script FATALITY by derkolya

iiurgihfydhdy's Placehogrikulhogrikulhogrikulhogrikul 526 views 1.4K executesUpdated Aug 8, 2026
Unrated
00
Lua Script•306 lines (12064 chars)
local Players = game:GetService("Players")
local RunService = game:GetService("RunService")
local Lighting = game:GetService("Lighting")
local UserInputService = game:GetService("UserInputService")
local LocalPlayer = Players.LocalPlayer
local PlayerGui = LocalPlayer:WaitForChild("PlayerGui")

if PlayerGui:FindFirstChild("FatalityKeyboardMenu") then
    PlayerGui.FatalityKeyboardMenu:Destroy()
end

local config = {
    EspPlayers = false,
    EspMonsters = false,
    EspItems = false,
    ItemMinPrice = 50,
    InfinitySprint = false,
    FullBright = false
}

local menuVisible = true
local selectedIndex = 1
local options = {
    {name = "Players ESP", type = "toggle", key = "EspPlayers"},
    {name = "Monsters ESP", type = "toggle", key = "EspMonsters"},
    {name = "Items ESP", type = "toggle", key = "EspItems"},
    {name = "Item Min Price Filter", type = "slider", key = "ItemMinPrice", min = 10, max = 200, step = 5},
    {name = "Infinite Sprint", type = "toggle", key = "InfinitySprint"},
    {name = "Fullbright", type = "toggle", key = "FullBright"}
}

local ScreenGui = Instance.new("ScreenGui")
ScreenGui.Name = "FatalityKeyboardMenu"
ScreenGui.ResetOnSpawn = false
ScreenGui.Parent = PlayerGui

local MenuFrame = Instance.new("Frame")
MenuFrame.Size = UDim2.new(0, 260, 0, 220)
MenuFrame.Position = UDim2.new(0, 20, 0, 40)
MenuFrame.BackgroundColor3 = Color3.fromRGB(24, 18, 30)
MenuFrame.BorderColor3 = Color3.fromRGB(160, 32, 90)
MenuFrame.BorderSizePixel = 2
MenuFrame.Parent = ScreenGui

local Header = Instance.new("Frame")
Header.Size = UDim2.new(1, 0, 0, 25)
Header.BackgroundColor3 = Color3.fromRGB(15, 12, 18)
Header.BorderSizePixel = 0
Header.Parent = MenuFrame

local Title = Instance.new("TextLabel")
Title.Size = UDim2.new(1, -10, 1, 0)
Title.Position = UDim2.new(0, 10, 0, 0)
Title.Text = "FATALITY.WIN | by derkolya"
Title.TextColor3 = Color3.fromRGB(240, 240, 240)
Title.Font = Enum.Font.SourceSansBold
Title.TextSize = 14
Title.TextXAlignment = Enum.TextXAlignment.Left
Title.BackgroundTransparency = 1
Title.Parent = Header

local Labels = {}
for i, opt in ipairs(options) do
    local label = Instance.new("TextLabel")
    label.Size = UDim2.new(1, -20, 0, 25)
    label.Position = UDim2.new(0, 10, 0, 30 + (i-1) * 28)
    label.BackgroundTransparency = 1
    label.Font = Enum.Font.SourceSansBold
    label.TextSize = 14
    label.TextXAlignment = Enum.TextXAlignment.Left
    label.Parent = MenuFrame
    Labels[i] = label
end

local function UpdateMenuText()
    for i, opt in ipairs(options) do
        local prefix = (i == selectedIndex) and "> " or "  "
        local val = config[opt.key]
        local suffix = ""
        if opt.type == "toggle" then
            suffix = val and " [ON]" or " [OFF]"
        elseif opt.type == "slider" then
            suffix = " [" .. tostring(val) .. "$]"
        end
        Labels[i].Text = prefix .. opt.name .. suffix
        Labels[i].TextColor3 = (i == selectedIndex) and Color3.fromRGB(180, 20, 100) or Color3.fromRGB(200, 200, 200)
    end
end
UpdateMenuText()

UserInputService.InputBegan:Connect(function(input, gpe)
    if input.KeyCode == Enum.KeyCode.RightShift then
        menuVisible = not menuVisible
        MenuFrame.Visible = menuVisible
    end
    if not menuVisible then return end
    if input.KeyCode == Enum.KeyCode.Up then
        selectedIndex = selectedIndex - 1
        if selectedIndex < 1 then selectedIndex = #options end
        UpdateMenuText()
    elseif input.KeyCode == Enum.KeyCode.Down then
        selectedIndex = selectedIndex + 1
        if selectedIndex > #options then selectedIndex = 1 end
        UpdateMenuText()
    elseif input.KeyCode == Enum.KeyCode.Right then
        local opt = options[selectedIndex]
        if opt.type == "toggle" then
            config[opt.key] = true
        elseif opt.type == "slider" then
            config[opt.key] = math.clamp(config[opt.key] + opt.step, opt.min, opt.max)
        end
        UpdateMenuText()
    elseif input.KeyCode == Enum.KeyCode.Left then
        local opt = options[selectedIndex]
        if opt.type == "toggle" then
            config[opt.key] = false
        elseif opt.type == "slider" then
            config[opt.key] = math.clamp(config[opt.key] - opt.step, opt.min, opt.max)
        end
        UpdateMenuText()
    end
end)
local TrackedMonsters = {}
local TrackedItems = {}

local function CreateBillboard(parent, text, color)
    if parent:FindFirstChild("BackroomsEsp") then return parent.BackroomsEsp end
    local bg = Instance.new("BillboardGui")
    bg.Name = "BackroomsEsp"
    bg.AlwaysOnTop = true
    bg.Size = UDim2.new(0, 140, 0, 30)
    bg.StudsOffset = Vector3.new(0, 3, 0)
    bg.Adornee = parent
    local label = Instance.new("TextLabel")
    label.BackgroundTransparency = 1
    label.Size = UDim2.new(1, 0, 1, 0)
    label.Text = text
    label.TextColor3 = color
    label.Font = Enum.Font.SourceSansBold
    label.TextSize = 14
    label.TextStrokeTransparency = 0
    label.Parent = bg
    bg.Parent = parent
    return bg
end

local function CreateLightCham(parent, color)
    if parent:FindFirstChild("BackroomsBoxCham") then return parent.BackroomsBoxCham end
    local box = Instance.new("BoxHandleAdornment")
    box.Name = "BackroomsBoxCham"
    box.AlwaysOnTop = true
    box.ZIndex = 5
    box.Size = parent:IsA("Model") and (parent:GetExtentsSize() + Vector3.new(0.2,0.2,0.2)) or Vector3.new(2,2,2)
    box.Color3 = color
    box.Transparency = 0.6
    box.Adornee = parent:IsA("Model") and (parent.PrimaryPart or parent:FindFirstChildWithinHierarchy("HumanoidRootPart")) or parent
    box.Parent = parent
    return box
end

local function GetItemPrice(obj)
    local price = obj:GetAttribute("Value") or obj:GetAttribute("Price") or obj:GetAttribute("Money") or obj:GetAttribute("ScrapValue") or obj:GetAttribute("Worth")
    
    if not price then
        for _, child in ipairs(obj:GetDescendants()) do
            if child:IsA("NumberValue") or child:IsA("IntValue") then
                local cName = child.Name:lower()
                if cName:find("val") or cName:find("price") or cName:find("money") or cName:find("worth") or cName:find("cost") then
                    price = child.Value
                    break
                end
            end
        end
    end
    
    if not price then
        local prompt = obj:FindFirstChildOfClass("ProximityPrompt") or obj:FindFirstChildWithinHierarchy("PickupPrompt")
        if prompt and prompt.ObjectText then
            local num = prompt.ObjectText:match("%d+") or prompt.ActionText:match("%d+")
            if num then price = tonumber(num) end
        end
    end
    
    return price or 0
end

local function IsMonster(obj)
    if not obj:IsA("Model") then return false, "", Color3.fromRGB(255, 20, 100) end
    local name = obj.Name:lower()
    
    if name:find("bacteria") and not name:find("spider") then
        return true, "Bacteria", Color3.fromRGB(255, 20, 100)
    elseif name:find("spider") or obj:FindFirstChild("SpiderAI") or obj:FindFirstChild("SpiderAnims") then
        return true, "Bacteria Spider", Color3.fromRGB(255, 60, 0)
    elseif name:find("funnyman") or name:find("partygoer") or name:find("весельчак") or obj:FindFirstChild("PartygoerAI") then
        return true, "Partygoer", Color3.fromRGB(230, 200, 30)
    elseif obj:FindFirstChild("Animate") and obj:FindFirstChild("Humanoid") and not Players:GetPlayerFromCharacter(obj) then
        return true, "Monster", Color3.fromRGB(255, 20, 100)
    end
    return false, "", Color3.fromRGB(255, 20, 100)
end

local function ProcessObject(obj)
    local isMon, monName, monColor = IsMonster(obj)
    if isMon then
        local targetPart = obj.PrimaryPart or obj:FindFirstChild("HumanoidRootPart") or obj:FindFirstChildOfClass("Part")
        if targetPart then
            local bb = CreateBillboard(targetPart, monName, monColor)
            local ch = CreateLightCham(obj, monColor)
            table.insert(TrackedMonsters, {bb = bb, ch = ch, obj = obj})
        end
        return
    end

    if obj:IsA("Model") or obj:IsA("BasePart") then
        if obj:FindFirstChildOfClass("ProximityPrompt") or obj:FindFirstChild("PickupPrompt") or obj:FindFirstChild("Interact") or obj.Name:lower():find("scrap") or obj:GetAttribute("Value") then
            local value = GetItemPrice(obj)
            local cleanName = obj.Name:gsub("Model", ""):gsub("Part", "")
            
            local itemDisplayName = cleanName
            if value > 0 then 
                itemDisplayName = itemDisplayName .. " ($" .. tostring(value) .. ")" 
            else
                itemDisplayName = itemDisplayName .. " (Loot)"
            end
            
            local targetPart = obj:IsA("Model") and (obj.PrimaryPart or obj:FindFirstChildOfClass("Part")) or obj
            if targetPart then
                local bb = CreateBillboard(targetPart, itemDisplayName, Color3.fromRGB(0, 255, 130))
                local ch = CreateLightCham(obj, Color3.fromRGB(150, 150, 150))
                table.insert(TrackedItems, {bb = bb, ch = ch, obj = obj, val = value})
            end
        end
    end
end

for _, obj in ipairs(workspace:GetDescendants()) do pcall(ProcessObject, obj) end
workspace.DescendantAdded:Connect(function(obj) pcall(ProcessObject, obj) end)

local defaultAmbient = Lighting.Ambient
local defaultOutdoor = Lighting.OutdoorAmbient
local defaultBrightness = Lighting.Brightness

RunService.Heartbeat:Connect(function()
    for _, player in ipairs(Players:GetPlayers()) do
        if player ~= LocalPlayer and player.Character then
            local root = player.Character:FindFirstChild("HumanoidRootPart")
            if root then
                local bb = CreateBillboard(root, player.Name, Color3.fromRGB(0, 180, 255))
                local ch = CreateLightCham(player.Character, Color3.fromRGB(0, 180, 255))
                bb.Enabled = config.EspPlayers
                ch.Visible = config.EspPlayers
            end
        end
    end
    for i = #TrackedMonsters, 1, -1 do
        local data = TrackedMonsters[i]
        if data.obj and data.obj.Parent then
            data.bb.Enabled = config.EspMonsters
            data.ch.Visible = config.EspMonsters
        else
            table.remove(TrackedMonsters, i)
        end
    end
    for i = #TrackedItems, 1, -1 do
        local data = TrackedItems[i]
        if data.obj and data.obj.Parent then
            data.bb.Enabled = config.EspItems
            data.ch.Visible = config.EspItems
            
            if data.val > 0 then
                data.ch.Color3 = data.val >= config.ItemMinPrice and Color3.fromRGB(0, 255, 100) or Color3.fromRGB(150, 150, 150)
            else
                data.ch.Color3 = Color3.fromRGB(0, 255, 100)
            end
        else
            table.remove(TrackedItems, i)
        end
    end
    if config.InfinitySprint and LocalPlayer.Character then
        local humanoid = LocalPlayer.Character:FindFirstChildOfClass("Humanoid")
        for _, child in ipairs(LocalPlayer.Character:GetChildren()) do
            if child:IsA("LocalScript") and (child.Name:lower():find("stamina") or child.Name:lower():find("sprint") or child.Name:lower():find("energy")) then
                child.Disabled = true
            end
        end
        LocalPlayer.Character:SetAttribute("Stamina", 100)
        LocalPlayer.Character:SetAttribute("Energy", 100)
        if humanoid and humanoid.MoveDirection.Magnitude > 0 then
            if UserInputService:IsKeyDown(Enum.KeyCode.LeftShift) then
                humanoid.WalkSpeed = 24 
            else
                humanoid.WalkSpeed = 14
            end
        end
    end
    if config.FullBright then
        Lighting.Ambient = Color3.fromRGB(255, 255, 255)
        Lighting.OutdoorAmbient = Color3.fromRGB(255, 255, 255)
        Lighting.Brightness = 2
    else
        Lighting.Ambient = defaultAmbient
        Lighting.OutdoorAmbient = defaultOutdoor
        Lighting.Brightness = defaultBrightness
    end
end)

Features & Information

KEYLESS ESP monster, item price,item,player infinity sprint fullbright right/left enabled/disabled up/down change hack This is most likely the first script for this game.

Community Comments (0)

No comments yet for this script.

More Scripts for iiurgihfydhdy's Place