esp v2 by grok ai update!
Key Required

esp v2 by grok ai update!

Depth Spelunkingeduardolino584eduardolino584 3.5K views 213 executesUpdated Oct 4, 2025
3.8/ 5(4 votes)
3175% Positive
Lua Script•280 lines (8924 chars)
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

Features & Information

So I'm found a depth spelunking script first time what if I'm make my own v2 with use grok ai so I'm ask grok ai and copy the script and paste script for grok ai and make another idea so is it btw Update: remover glow cuz lag Add name monster to monster: name Fix player name
#depth spelunking#depth spelunking script#Esp#Second better version

Community Comments (7)

AY21AY21Oct 4, 2025

Peak

aettheniaettheniOct 23, 2025(edited)

good

EunoiaTheStarGazerEunoiaTheStarGazerNov 24, 2025

mid

KannaKannaFeb 12, 2026

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

SimmysimmiSimmysimmiJul 27, 2026

Will you be able to redo this since recode dropped?

Niko__Niko__Jul 28, 2026

Fr we need an esp script

More Scripts for Depth Spelunking