local CONFIG = { ESP_ENABLED = true, MONSTER_ESP_ENABLED = true, SHOW_TEXT = true, ESP_COLOR = Color3.fromRGB(0, 255, 0), MONSTER_COLOR = Color3.fromRGB(255, 0, 0), LANGUAGE = "RU", KEY_SPAWN_POSITION = Vector3.new(252, 22, -314) } local LOC = { RU = { title = "MONOCHROME ESP", toggle = "ESP: ВКЛ", toggle_off = "ESP: ВЫКЛ", monster = "Монстр ESP: ВКЛ", monster_off = "Монстр ESP: ВЫКЛ", color = "Цвет ESP", text_on = "Текст: ВКЛ", text_off = "Текст: ВЫКЛ", lang = "Language/Язык", key = "КЛЮЧ", code = "КОД", spawn = "СПАВН" }, EN = { title = "MONOCHROME ESP", toggle = "ESP: ON", toggle_off = "ESP: OFF", monster = "Monster ESP: ON", monster_off = "Monster ESP: OFF", color = "ESP Color", text_on = "Text: ON", text_off = "Text: OFF", lang = "Language/Язык", key = "KEY", code = "CODE", spawn = "SPAWN" } } local function getLoc(key) return LOC[CONFIG.LANGUAGE][key] or key end local ScreenGui = Instance.new("ScreenGui") ScreenGui.Name = "MonochromeESP_Menu" ScreenGui.Parent = game.CoreGui ScreenGui.ResetOnSpawn = false local MainFrame = Instance.new("Frame") MainFrame.Size = UDim2.new(0, 240, 0, 220) MainFrame.Position = UDim2.new(0, 20, 0.4, 0) MainFrame.BackgroundColor3 = Color3.fromRGB(30, 30, 30) MainFrame.BorderSizePixel = 0 MainFrame.Active = true MainFrame.Draggable = true MainFrame.Parent = ScreenGui local TitleBar = Instance.new("Frame") TitleBar.Size = UDim2.new(1, 0, 0, 30) TitleBar.BackgroundColor3 = Color3.fromRGB(45, 45, 45) TitleBar.Parent = MainFrame local Title = Instance.new("TextLabel") Title.Size = UDim2.new(1, -60, 1, 0) Title.BackgroundTransparency = 1 Title.Text = getLoc("title") Title.TextColor3 = Color3.fromRGB(255, 255, 255) Title.Font = Enum.Font.GothamBold Title.TextSize = 14 Title.TextXAlignment = Enum.TextXAlignment.Left Title.Position = UDim2.new(0, 10, 0, 0) Title.Parent = TitleBar local MinBtn = Instance.new("TextButton") MinBtn.Size = UDim2.new(0, 25, 0, 25) MinBtn.Position = UDim2.new(1, -30, 0, 2.5) MinBtn.BackgroundColor3 = Color3.fromRGB(80, 80, 80) MinBtn.Text = "-" MinBtn.TextColor3 = Color3.fromRGB(255, 255, 255) MinBtn.Font = Enum.Font.GothamBold MinBtn.TextSize = 16 MinBtn.Parent = TitleBar local CloseBtn = Instance.new("TextButton") CloseBtn.Size = UDim2.new(0, 25, 0, 25) CloseBtn.Position = UDim2.new(1, -58, 0, 2.5) CloseBtn.BackgroundColor3 = Color3.fromRGB(200, 50, 50) CloseBtn.Text = "X" CloseBtn.TextColor3 = Color3.fromRGB(255, 255, 255) CloseBtn.Font = Enum.Font.GothamBold CloseBtn.TextSize = 14 CloseBtn.Parent = TitleBar local ToggleBtn = Instance.new("TextButton") ToggleBtn.Size = UDim2.new(0.9, 0, 0, 30) ToggleBtn.Position = UDim2.new(0.05, 0, 0, 40) ToggleBtn.BackgroundColor3 = Color3.fromRGB(60, 60, 60) ToggleBtn.Text = CONFIG.ESP_ENABLED and getLoc("toggle") or getLoc("toggle_off") ToggleBtn.TextColor3 = Color3.fromRGB(255, 255, 255) ToggleBtn.Font = Enum.Font.Gotham ToggleBtn.TextSize = 12 ToggleBtn.Parent = MainFrame local MonsterBtn = Instance.new("TextButton") MonsterBtn.Size = UDim2.new(0.9, 0, 0, 30) MonsterBtn.Position = UDim2.new(0.05, 0, 0, 75) MonsterBtn.BackgroundColor3 = Color3.fromRGB(60, 60, 60) MonsterBtn.Text = CONFIG.MONSTER_ESP_ENABLED and getLoc("monster") or getLoc("monster_off") MonsterBtn.TextColor3 = Color3.fromRGB(255, 255, 255) MonsterBtn.Font = Enum.Font.Gotham MonsterBtn.TextSize = 12 MonsterBtn.Parent = MainFrame local ColorBtn = Instance.new("TextButton") ColorBtn.Size = UDim2.new(0.9, 0, 0, 30) ColorBtn.Position = UDim2.new(0.05, 0, 0, 110) ColorBtn.BackgroundColor3 = Color3.fromRGB(60, 60, 60) ColorBtn.Text = getLoc("color") ColorBtn.TextColor3 = Color3.fromRGB(255, 255, 255) ColorBtn.Font = Enum.Font.Gotham ColorBtn.TextSize = 12 ColorBtn.Parent = MainFrame local TextBtn = Instance.new("TextButton") TextBtn.Size = UDim2.new(0.9, 0, 0, 30) TextBtn.Position = UDim2.new(0.05, 0, 0, 145) TextBtn.BackgroundColor3 = Color3.fromRGB(60, 60, 60) TextBtn.Text = CONFIG.SHOW_TEXT and getLoc("text_on") or getLoc("text_off") TextBtn.TextColor3 = Color3.fromRGB(255, 255, 255) TextBtn.Font = Enum.Font.Gotham TextBtn.TextSize = 12 TextBtn.Parent = MainFrame local LangBtn = Instance.new("TextButton") LangBtn.Size = UDim2.new(0.9, 0, 0, 30) LangBtn.Position = UDim2.new(0.05, 0, 0, 180) LangBtn.BackgroundColor3 = Color3.fromRGB(60, 60, 60) LangBtn.Text = getLoc("lang") LangBtn.TextColor3 = Color3.fromRGB(255, 255, 255) LangBtn.Font = Enum.Font.Gotham LangBtn.TextSize = 12 LangBtn.Parent = MainFrame local MiniBtn = Instance.new("TextButton") MiniBtn.Size = UDim2.new(0, 60, 0, 60) MiniBtn.Position = UDim2.new(0, 20, 0.4, 0) MiniBtn.BackgroundColor3 = Color3.fromRGB(45, 45, 45) MiniBtn.Text = "ESP" MiniBtn.TextColor3 = Color3.fromRGB(255, 255, 255) MiniBtn.Font = Enum.Font.GothamBold MiniBtn.TextSize = 14 MiniBtn.Visible = false MiniBtn.Parent = ScreenGui local LangMenu = Instance.new("Frame") LangMenu.Size = UDim2.new(0, 220, 0, 110) LangMenu.Position = UDim2.new(0.5, -110, 0.5, -55) LangMenu.BackgroundColor3 = Color3.fromRGB(35, 35, 35) LangMenu.BorderSizePixel = 0 LangMenu.Active = true LangMenu.Draggable = true LangMenu.Visible = false LangMenu.Parent = ScreenGui local LangTitle = Instance.new("TextLabel") LangTitle.Size = UDim2.new(1, 0, 0, 25) LangTitle.BackgroundColor3 = Color3.fromRGB(50, 50, 50) LangTitle.Text = "Language / Язык" LangTitle.TextColor3 = Color3.fromRGB(255, 255, 255) LangTitle.Font = Enum.Font.GothamBold LangTitle.TextSize = 12 LangTitle.Parent = LangMenu local RU_Btn = Instance.new("TextButton") RU_Btn.Size = UDim2.new(0.9, 0, 0, 30) RU_Btn.Position = UDim2.new(0.05, 0, 0.25, 0) RU_Btn.BackgroundColor3 = Color3.fromRGB(60, 60, 60) RU_Btn.Text = "🇷🇺Russian/Русский" RU_Btn.TextColor3 = Color3.fromRGB(255, 255, 255) RU_Btn.Font = Enum.Font.Gotham RU_Btn.TextSize = 12 RU_Btn.Parent = LangMenu local EN_Btn = Instance.new("TextButton") EN_Btn.Size = UDim2.new(0.9, 0, 0, 30) EN_Btn.Position = UDim2.new(0.05, 0, 0.60, 0) EN_Btn.BackgroundColor3 = Color3.fromRGB(60, 60, 60) EN_Btn.Text = "🇺🇲English/Английский" EN_Btn.TextColor3 = Color3.fromRGB(255, 255, 255) EN_Btn.Font = Enum.Font.Gotham EN_Btn.TextSize = 12 EN_Btn.Parent = LangMenu local ActiveESP = { highlights = {}, billboards = {}, boxes = {} } local function ClearAllESP() for _, h in ipairs(ActiveESP.highlights) do pcall(function() h:Destroy() end) end for _, b in ipairs(ActiveESP.billboards) do pcall(function() b.gui:Destroy() end) end for _, data in ipairs(ActiveESP.boxes) do if data.box then pcall(function() data.box:Destroy() end) end end ActiveESP = { highlights = {}, billboards = {}, boxes = {} } end local function CreateHighlightESP(object, info) if not object or not object:IsA("BasePart") then return end local highlight = Instance.new("Highlight") highlight.FillColor = CONFIG.ESP_COLOR highlight.FillTransparency = 0.5 highlight.OutlineColor = CONFIG.ESP_COLOR highlight.OutlineTransparency = 0 highlight.Adornee = object highlight.Parent = object local billboard = Instance.new("BillboardGui") billboard.Size = UDim2.new(0, 100, 0, 30) billboard.StudsOffset = Vector3.new(0, 2.5, 0) billboard.AlwaysOnTop = true billboard.Adornee = object billboard.Parent = object local label = Instance.new("TextLabel") label.Size = UDim2.new(1, 0, 1, 0) label.BackgroundTransparency = 1 label.TextColor3 = CONFIG.ESP_COLOR label.TextStrokeTransparency = 0 label.TextScaled = true label.Font = Enum.Font.GothamBold label.Parent = billboard if info.type == "code" then label.Text = getLoc("code") elseif info.type == "spawn" then label.Text = getLoc("spawn") end if info.type ~= "spawn" and not CONFIG.SHOW_TEXT then billboard.Enabled = false end table.insert(ActiveESP.highlights, highlight) table.insert(ActiveESP.billboards, { gui = billboard, label = label, info = info }) end local function CreateBoxESP(target, info) if not target then return end local adornTarget = target if target:IsA("Folder") then adornTarget = target:FindFirstChild("Key") or target:FindFirstChildWhichIsA("BasePart") end if not adornTarget or (not adornTarget:IsA("Model") and not adornTarget:IsA("BasePart")) then return end for _, data in ipairs(ActiveESP.boxes) do if data.box and data.box.Adornee == adornTarget then return end end local box = Instance.new("BoxHandleAdornment") box.Name = (info and info.type == "monster") and "MonsterESP_Box" or "KeyESP_Box" box.Adornee = adornTarget box.AlwaysOnTop = true box.ZIndex = 5 box.Transparency = 0.5 box.Color3 = (info and info.type == "monster") and CONFIG.MONSTER_COLOR or CONFIG.ESP_COLOR if adornTarget:IsA("Model") then box.Size = adornTarget:GetExtentsSize() else box.Size = adornTarget.Size end box.Parent = adornTarget table.insert(ActiveESP.boxes, {box = box, info = info}) if info and info.type == "key" then local billboard = Instance.new("BillboardGui") billboard.Size = UDim2.new(0, 100, 0, 30) billboard.StudsOffset = Vector3.new(0, 2.5, 0) billboard.AlwaysOnTop = true billboard.Adornee = adornTarget billboard.Parent = adornTarget local label = Instance.new("TextLabel") label.Size = UDim2.new(1, 0, 1, 0) label.BackgroundTransparency = 1 label.TextColor3 = CONFIG.ESP_COLOR label.TextStrokeTransparency = 0 label.TextScaled = true label.Font = Enum.Font.GothamBold label.Text = getLoc("key") .. " " .. info.id label.Parent = billboard if not CONFIG.SHOW_TEXT then billboard.Enabled = false end table.insert(ActiveESP.billboards, { gui = billboard, label = label, info = info }) end end local function UpdateColors() for _, h in ipairs(ActiveESP.highlights) do h.FillColor = CONFIG.ESP_COLOR h.OutlineColor = CONFIG.ESP_COLOR end for _, b in ipairs(ActiveESP.billboards) do b.label.TextColor3 = CONFIG.ESP_COLOR end for _, data in ipairs(ActiveESP.boxes) do if data.info and data.info.type == "monster" then data.box.Color3 = CONFIG.MONSTER_COLOR else data.box.Color3 = CONFIG.ESP_COLOR end end end local function UpdateLabels() for _, b in ipairs(ActiveESP.billboards) do if b.info.type == "code" then b.label.Text = getLoc("code") elseif b.info.type == "spawn" then b.label.Text = getLoc("spawn") elseif b.info.type == "key" then b.label.Text = getLoc("key") .. " " .. b.info.id end end end local function UpdateTextVisibility() for _, b in ipairs(ActiveESP.billboards) do if b.info.type == "spawn" then b.gui.Enabled = true else b.gui.Enabled = CONFIG.SHOW_TEXT end end end local function ScanESP() ClearAllESP() if not CONFIG.ESP_ENABLED then return end local workspace = game:GetService("Workspace") for _, obj in ipairs(workspace:GetDescendants()) do if obj.Name == "CodeNote" then CreateHighlightESP(obj, {type = "code"}) end end for i = 1, 4 do local keyObj = workspace:FindFirstChild("HiddenKey" .. i, true) if keyObj then local target = keyObj if keyObj:IsA("Folder") then target = keyObj:FindFirstChild("Key") or keyObj:FindFirstChildWhichIsA("BasePart") end if target and (target:IsA("Model") or target:IsA("BasePart")) then CreateBoxESP(target, {type = "key", id = i}) end end end local spawnMarker = workspace:FindFirstChild("MonochromeESP_SpawnMarker") if not spawnMarker then spawnMarker = Instance.new("Part") spawnMarker.Name = "MonochromeESP_SpawnMarker" spawnMarker.Size = Vector3.new(1, 1, 1) spawnMarker.Position = CONFIG.KEY_SPAWN_POSITION spawnMarker.Anchored = true spawnMarker.CanCollide = false spawnMarker.Transparency = 0.8 spawnMarker.Color = CONFIG.ESP_COLOR spawnMarker.Parent = workspace end CreateHighlightESP(spawnMarker, {type = "spawn"}) if CONFIG.MONSTER_ESP_ENABLED then local monster = workspace:FindFirstChild("VER") if monster then CreateBoxESP(monster, {type = "monster"}) end end end ToggleBtn.MouseButton1Click:Connect(function() CONFIG.ESP_ENABLED = not CONFIG.ESP_ENABLED ToggleBtn.Text = CONFIG.ESP_ENABLED and getLoc("toggle") or getLoc("toggle_off") ScanESP() end) MonsterBtn.MouseButton1Click:Connect(function() CONFIG.MONSTER_ESP_ENABLED = not CONFIG.MONSTER_ESP_ENABLED MonsterBtn.Text = CONFIG.MONSTER_ESP_ENABLED and getLoc("monster") or getLoc("monster_off") ScanESP() end) ColorBtn.MouseButton1Click:Connect(function() local colors = {Color3.fromRGB(0,255,0), Color3.fromRGB(255,0,0), Color3.fromRGB(0,0,255), Color3.fromRGB(255,255,0), Color3.fromRGB(255,0,255)} local current = 1 for i, c in ipairs(colors) do if c == CONFIG.ESP_COLOR then current = i break end end CONFIG.ESP_COLOR = colors[(current % #colors) + 1] UpdateColors() end) TextBtn.MouseButton1Click:Connect(function() CONFIG.SHOW_TEXT = not CONFIG.SHOW_TEXT TextBtn.Text = CONFIG.SHOW_TEXT and getLoc("text_on") or getLoc("text_off") UpdateTextVisibility() end) LangBtn.MouseButton1Click:Connect(function() LangMenu.Visible = not LangMenu.Visible end) MinBtn.MouseButton1Click:Connect(function() MainFrame.Visible = false LangMenu.Visible = false MiniBtn.Visible = true end) MiniBtn.MouseButton1Click:Connect(function() MainFrame.Visible = true MiniBtn.Visible = false end) CloseBtn.MouseButton1Click:Connect(function() MainFrame.Visible = false LangMenu.Visible = false MiniBtn.Visible = false end) RU_Btn.MouseButton1Click:Connect(function() CONFIG.LANGUAGE = "RU" Title.Text = getLoc("title") ToggleBtn.Text = CONFIG.ESP_ENABLED and getLoc("toggle") or getLoc("toggle_off") MonsterBtn.Text = CONFIG.MONSTER_ESP_ENABLED and getLoc("monster") or getLoc("monster_off") ColorBtn.Text = getLoc("color") TextBtn.Text = CONFIG.SHOW_TEXT and getLoc("text_on") or getLoc("text_off") LangBtn.Text = getLoc("lang") UpdateLabels() LangMenu.Visible = false end) EN_Btn.MouseButton1Click:Connect(function() CONFIG.LANGUAGE = "EN" Title.Text = getLoc("title") ToggleBtn.Text = CONFIG.ESP_ENABLED and getLoc("toggle") or getLoc("toggle_off") MonsterBtn.Text = CONFIG.MONSTER_ESP_ENABLED and getLoc("monster") or getLoc("monster_off") ColorBtn.Text = getLoc("color") TextBtn.Text = CONFIG.SHOW_TEXT and getLoc("text_on") or getLoc("text_off") LangBtn.Text = getLoc("lang") UpdateLabels() LangMenu.Visible = false end) ScanESP() task.spawn(function() while true do task.wait(2) if CONFIG.ESP_ENABLED and CONFIG.MONSTER_ESP_ENABLED then local monster = game.Workspace:FindFirstChild("VER") if monster then local hasBox = false for _, data in ipairs(ActiveESP.boxes) do if data.box and data.box.Adornee == monster then hasBox = true break end end if not hasBox then CreateBoxESP(monster, {type = "monster"}) end end end end end)