
Key Required

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)No comments yet for this script.



