
Key Required

local Players = game:GetService("Players")
local RunService = game:GetService("RunService")
local Workspace = game:GetService("Workspace")
function addHighlight(obj, color, transparency)
if not obj:FindFirstChild("Highlight") then
local highlight = Instance.new("Highlight")
highlight.Parent = obj
highlight.OutlineColor = color
highlight.FillColor = color
highlight.FillTransparency = transparency
highlight.OutlineTransparency = 0
highlight.Adornee = obj
end
end
function removeHighlight(obj)
local highlight = obj:FindFirstChild("Highlight")
if highlight then
highlight:Destroy()
end
end
function addNameLabel(obj, text, color, offsetY)
if not obj:FindFirstChild("NameLabel") then
local billboard = Instance.new("BillboardGui")
billboard.Name = "NameLabel"
billboard.Parent = obj
billboard.Adornee = obj
billboard.Size = UDim2.new(0, 100, 0, 20) -- Small size for name
billboard.StudsOffset = Vector3.new(0, offsetY or 3, 0) -- Above the object, adjustable
billboard.AlwaysOnTop = true
billboard.MaxDistance = 100 -- Visible from afar but not too far
local label = Instance.new("TextLabel")
label.Parent = billboard
label.Size = UDim2.new(1, 0, 1, 0)
label.BackgroundTransparency = 1
label.Text = text
label.TextColor3 = color
label.TextScaled = true
label.TextSize = 14 -- Small but readable
label.Font = Enum.Font.SourceSansBold
end
end
function removeNameLabel(obj)
local label = obj:FindFirstChild("NameLabel")
if label then
label:Destroy()
end
end
function addPlayerHighlight(char, playerName)
if char and char:FindFirstChild("HumanoidRootPart") then
addHighlight(char, Color3.fromRGB(220, 220, 220), 0.5)
addNameLabel(char:FindFirstChild("Head") or char, playerName, Color3.fromRGB(255, 255, 255), 2) -- Name on head, white text
end
end
function getColorName(color)
local colorMap = {
[Vector3.new(0, 0, 0)] = "Black",
[Vector3.new(0, 0, 1)] = "Blue",
[Vector3.new(0.333333, 1, 1)] = "Cyan",
[Vector3.new(0.156863, 0.498039, 0.278431)] = "Green",
[Vector3.new(0.835294, 0.45098, 0.239216)] = "Orange",
[Vector3.new(1, 0.4, 0.8)] = "Pink",
[Vector3.new(0.768627, 0.156863, 0.109804)] = "Red",
[Vector3.new(0.419608, 0.196078, 0.486275)] = "Purple",
[Vector3.new(0.94902, 0.952941, 0.952941)] = "White",
[Vector3.new(0.937255, 0.721569, 0.219608)] = "Yellow"
}
local colorVec = Vector3.new(color.R, color.G, color.B)
return colorMap[colorVec] or "Unknown"
end
local lastCode = "none"
local lastCCode = "none"
function updateCodes()
local map = Workspace:FindFirstChild("CurrentMap")
if map then
local items = map:FindFirstChild("SpawnedItems")
if items then
local codeObj = items:FindFirstChild("Code")
if codeObj then
local code = codeObj.Primary.SurfaceGui.TextLabel.Text
if code ~= lastCode then
notify("Game Code", code)
lastCode = code
end
end
local cCodeObj = items:FindFirstChild("ColourCode")
if cCodeObj then
local gui = cCodeObj.Primary.SurfaceGui
local colors = {
gui["1"].ImageColor3,
gui["2"].ImageColor3,
gui["3"].ImageColor3,
gui["4"].ImageColor3
}
local colorNames = {}
for _, color3 in pairs(colors) do
table.insert(colorNames, getColorName(color3))
end
local cCode = table.concat(colorNames, " ")
if cCode ~= lastCCode then
notify("Color Code", cCode)
lastCCode = cCode
end
end
end
end
end
function onMapSwitch()
local CurrentMap = Workspace:FindFirstChild("CurrentMap")
if not CurrentMap then
return
end
local tasks = CurrentMap:FindFirstChild("CurrentTasks")
if tasks then
tasks.ChildAdded:Connect(function(child)
tasks:WaitForChild(child.Name)
removeHighlight(child)
removeNameLabel(child)
addHighlight(child, Color3.fromRGB(255, 255, 0), 0.9)
addNameLabel(child, "Task: " .. child.Name, Color3.fromRGB(255, 255, 0), 4) -- Show task name
end)
for _, task in pairs(tasks:GetChildren()) do
tasks:WaitForChild(task.Name)
removeHighlight(task)
removeNameLabel(task)
addHighlight(task, Color3.fromRGB(255, 255, 0), 0.9)
addNameLabel(task, "Task: " .. task.Name, Color3.fromRGB(255, 255, 0), 4) -- Show task name
wait(0.25)
task.Completed.Changed:Connect(function()
if task.Completed.Value == true then
task.Highlight.FillColor = Color3.fromRGB(0, 255, 0)
task.Highlight.OutlineColor = Color3.fromRGB(0, 255, 0)
if task:FindFirstChild("NameLabel") then
task.NameLabel.TextLabel.TextColor3 = Color3.fromRGB(0, 255, 0)
task.NameLabel.TextLabel.Text = "Task: " .. task.Name .. " (Done)"
end
else
task.Highlight.FillColor = Color3.fromRGB(255, 255, 0)
task.Highlight.OutlineColor = Color3.fromRGB(255, 255, 0)
if task:FindFirstChild("NameLabel") then
task.NameLabel.TextLabel.TextColor3 = Color3.fromRGB(255, 255, 0)
task.NameLabel.TextLabel.Text = "Task: " .. task.Name
end
end
end)
end
end
local upgraders = CurrentMap:FindFirstChild("CurrentUpgraders")
if upgraders then
upgraders.ChildAdded:Connect(function(child)
upgraders:WaitForChild(child.Name)
removeHighlight(child)
removeNameLabel(child)
addHighlight(child, Color3.fromRGB(204, 153, 255), 0.5)
addNameLabel(child, "Upgrader: " .. child.Name, Color3.fromRGB(204, 153, 255), 4)
end)
for _, upgrader in pairs(upgraders:GetChildren()) do
upgraders:WaitForChild(upgrader.Name)
removeHighlight(upgrader)
removeNameLabel(upgrader)
addHighlight(upgrader, Color3.fromRGB(204, 153, 255), 0.5)
addNameLabel(upgrader, "Upgrader: " .. upgrader.Name, Color3.fromRGB(204, 153, 255), 4)
wait(0.25)
end
end
local keepers = CurrentMap:FindFirstChild("Keepers")
if keepers then
wait(1)
local keeperStatues = keepers:GetChildren()
local clipboards = {}
for _, keeper in pairs(keeperStatues) do
local clipboard = keeper:WaitForChild("InfoEnvy")
table.insert(clipboards, clipboard)
wait(0.2)
end
for _, obj in pairs(clipboards) do
removeHighlight(obj)
removeNameLabel(obj)
addHighlight(obj, Color3.fromRGB(0, 0, 255), 0.5)
addNameLabel(obj, "Keeper Info", Color3.fromRGB(0, 0, 255), 2)
wait(0.2)
end
end
local traps = {}
for _, child in pairs(CurrentMap:GetChildren()) do
if child.Name == "EnvyTrap" then
table.insert(traps, child)
wait(0.2)
end
end
for _, trap in pairs(traps) do
removeHighlight(trap)
removeNameLabel(trap)
addHighlight(trap, Color3.fromRGB(255, 255, 0), 0.5)
addNameLabel(trap, "Trap", Color3.fromRGB(255, 255, 0), 2)
wait(0.2)
end
end
function notify(title, message)
game.StarterGui:SetCore("SendNotification", {
Title = title,
Text = message,
Duration = 90
})
end
Players.PlayerAdded:Connect(function(player)
player.CharacterAdded:Connect(function(char)
addPlayerHighlight(char, player.Name)
end)
end)
for _, player in ipairs(Players:GetPlayers()) do
if player.Character then
addPlayerHighlight(player.Character, player.Name)
wait(0.2)
end
end
Workspace.ChildAdded:Connect(function(child)
if child.Name == "CurrentMap" then
repeat
wait(2)
until child:FindFirstChild("SpawnedItems") and child:FindFirstChild("CurrentTasks")
if child:FindFirstChild("SpawnedItems"):GetChildren() and child:FindFirstChild("CurrentTasks"):GetChildren() then
onMapSwitch()
end
end
end)
local eleFloor = Workspace:WaitForChild("MapElevator"):WaitForChild("Floor")
if eleFloor then
addHighlight(eleFloor, Color3.fromRGB(255, 165, 0), 0.5)
addNameLabel(eleFloor, "Elevator Floor", Color3.fromRGB(255, 165, 0), 5)
end
Workspace.DescendantAdded:Connect(function(descendant)
if descendant.Name == "MapElevator" or descendant.Name == "Floor" then
if descendant.Name == "MapElevator" or descendant.Parent.Name == "MapElevator" then
local floor = Workspace:WaitForChild("MapElevator"):WaitForChild("Floor")
addHighlight(floor, Color3.fromRGB(255, 165, 0), 0.5)
addNameLabel(floor, "Elevator Floor", Color3.fromRGB(255, 165, 0), 5)
end
end
end)
Workspace.Entities.ChildAdded:Connect(function(child)
Workspace.Entities:WaitForChild(child.Name)
removeHighlight(child)
removeNameLabel(child)
addHighlight(child, Color3.fromRGB(255, 0, 0), 0.5)
addNameLabel(child, "Monster: " .. child.Name, Color3.fromRGB(255, 0, 0), 4) -- Monster name
end)
while true do
wait(5)
updateCodes()
end



Peak
good
mid
any chance you can make a script for the so cl*ic modifier for custom games that tps you to the button, presses it and then back? would be great for auto farming
script breaks when you enter a cutscene causing you to be unable to find tasks using the esp
Will you be able to redo this since recode dropped?
Fr we need an esp script