
Key Required

--services
local Players = game:GetService("Players")
local Workspace = game:GetService("Workspace")
local StarterGui = game:GetService("StarterGui")
--notif
local function notify(title, message)
pcall(function()
StarterGui:SetCore("SendNotification", {
Title = title,
Text = message,
Duration = 90
})
end)
end
notify("Notice", "entity esp may take a moment to appear at the start of every floor")
notify("Notice", "i barely playtested this, report any bugs at the scriptblox post")
notify("Notice", "also i couldnt figure out how to make the codes work")
--esp
local function addESP(obj, color, label)
local adornee = obj
if obj:IsA("Model") then
adornee =
obj:FindFirstChild("HumanoidRootPart")
or obj.PrimaryPart
or obj:FindFirstChildWhichIsA("BasePart")
end
if not adornee then return end
if adornee:FindFirstChild("BillboardGui") then
adornee.BillboardGui:Destroy()
end
local billboard = Instance.new("BillboardGui")
billboard.Name = "BillboardGui"
billboard.Size = UDim2.new(0, 60, 0, 30)
billboard.Adornee = adornee
billboard.AlwaysOnTop = true
billboard.Parent = adornee
local text = Instance.new("TextLabel")
text.Name = "Label"
text.Size = UDim2.new(1, 0, 0.5, 0)
text.Position = UDim2.new(0, 0, 0, 0)
text.Text = label
text.Font = Enum.Font.Cartoon
text.TextColor3 = color
text.BackgroundTransparency = 1
text.TextScaled = true
text.Parent = billboard
local frame = Instance.new("Frame")
frame.Name = "Dot"
frame.Size = UDim2.new(0, 14, 0, 14)
frame.Position = UDim2.new(0.5, -7, 0.55, 0)
frame.BackgroundColor3 = color
frame.Parent = billboard
local uicorner = Instance.new("UICorner")
uicorner.CornerRadius = UDim.new(1, 0)
uicorner.Parent = frame
end
local function removeESP(obj)
local adornee = obj
if obj:IsA("Model") then
adornee =
obj:FindFirstChild("HumanoidRootPart")
or obj.PrimaryPart
or obj:FindFirstChildWhichIsA("BasePart")
end
if not adornee then return end
local gui = adornee:FindFirstChild("BillboardGui")
if gui then gui:Destroy() end
end
--player esp
local function addPlayerESP(char)
if char and char:FindFirstChild("HumanoidRootPart") then
addESP(char, Color3.fromRGB(220, 220, 220), char.Name)
end
end
Players.PlayerAdded:Connect(function(player)
player.CharacterAdded:Connect(addPlayerESP)
end)
for _, player in ipairs(Players:GetPlayers()) do
if player.Character then
addPlayerESP(player.Character)
end
end
--task esp + other useless stuff
local function onMapSwitch()
local map = Workspace:FindFirstChild("CurrentMap")
if not map then return end
local tasks = map:FindFirstChild("CurrentTasks")
if tasks then
for _, task in pairs(tasks:GetChildren()) do
if task.Name ~= "EchoGen" then
removeESP(task)
addESP(task, Color3.fromRGB(255, 255, 0), "Task")
local completed = task:FindFirstChild("Completed")
if completed and completed:IsA("BoolValue") then
local function updateTaskColor()
local adornee =
task:FindFirstChild("HumanoidRootPart")
or task.PrimaryPart
or task:FindFirstChildWhichIsA("BasePart")
if not adornee then return end
local gui = adornee:FindFirstChild("BillboardGui")
if not gui then return end
local col = completed.Value
and Color3.fromRGB(0, 255, 0)
or Color3.fromRGB(255, 255, 0)
local label = gui:FindFirstChild("Label")
local dot = gui:FindFirstChild("Dot")
if label then label.TextColor3 = col end
if dot then dot.BackgroundColor3 = col end
end
updateTaskColor()
completed:GetPropertyChangedSignal("Value"):Connect(updateTaskColor)
end
end
end
end
local upgraders = map:FindFirstChild("CurrentUpgraders")
if upgraders then
for _, t in pairs(upgraders:GetChildren()) do
removeESP(t)
addESP(t, Color3.fromRGB(204, 153, 255), "Terminal")
end
end
local keepers = map:FindFirstChild("Keepers")
if keepers then
for _, k in pairs(keepers:GetChildren()) do
local clipboard = k:FindFirstChild("InfoEnvy")
if clipboard then
addESP(clipboard, Color3.fromRGB(0, 0, 255), "Clipboard")
end
end
end
for _, obj in pairs(map:GetChildren()) do
if obj.Name == "EnvyTrap" then
addESP(obj, Color3.fromRGB(255, 255, 0), "Trap")
end
end
end
--ele esp
local function setupElevatorESP()
local ele = Workspace:FindFirstChild("MapElevator")
if ele then
local floor = ele:FindFirstChild("Floor")
if floor then
addESP(floor, Color3.fromRGB(255, 165, 0), "Elevator")
end
end
end
--sybau
setupElevatorESP()
Workspace.ChildAdded:Connect(function(child)
if child.Name == "CurrentMap" then
repeat task.wait(1)
until child:FindFirstChild("SpawnedItems")
and child:FindFirstChild("CurrentTasks")
onMapSwitch()
end
end)
Workspace.DescendantAdded:Connect(function(desc)
if desc.Name == "MapElevator" or desc.Name == "Floor" then
setupElevatorESP()
end
end)
--entity esp
local entities = Workspace:FindFirstChild("Entities")
if entities then
for _, e in ipairs(entities:GetChildren()) do
addESP(e, Color3.fromRGB(255, 0, 0), e.Name)
end
entities.ChildAdded:Connect(function(ent)
task.wait()
addESP(ent, Color3.fromRGB(255, 0, 0), ent.Name)
end)
end
Not the best but is still very cool, +1 rep
ill try switching off of highlights soon - they are buggy and can only show a few at a time
decent script however sometimes it doesn't highlight the en*y's and might not highlight all the tasks very cool hopefully u can improve the script
FINALLY A DEPTH SPELUNKING SCRIPT
thank
can you make [ Into The Abyss ] ? just esp for door and en*y ?
@zela will you continue make this script like this?
can you make it so it highlights the items too?