local Settings = { ItemData = { [4496695972] = "Arrow", [511706016] = "Diamond", [3497428510] = "Rokakaka", [3583727108] = "Gold Coin", [4551120971] = "Stone Mask", [5249254947] = "Holy Ribcage Corpse" }, Colors = { ["Arrow"] = Color3.fromRGB(255, 120, 0), ["Diamond"] = Color3.fromRGB(81, 117, 255), ["Rokakaka"] = Color3.fromRGB(220, 50, 50), ["Gold Coin"] = Color3.fromRGB(255, 240, 0), ["Stone Mask"] = Color3.fromRGB(98, 37, 209), ["Pure Rokakaka"] = Color3.fromRGB(233, 233, 233), ["Holy Ribcage Corpse"] = Color3.fromRGB(50, 220, 50) }, Tracers = false, Circles = false, Distance = true } local Wrapper = loadstring(game:HttpGet("https://hastebin.com/raw/afanusokek.lua"))() local Map = workspace.Map local function GetAsset(Id) if Id:sub(1, 13) == "rbxassetid://" then return tonumber(Id:sub(14, #Id)) -- rbxassetid://0 else if Id:sub(1, 32) == "http://www.roblox.com/asset/?id=" then return tonumber(Id:sub(33, #Id)) elseif Id:sub(1, 33) == "https://www.roblox.com/asset/?id=" then return tonumber(Id:sub(34, #Id)) end return tonumber(Id) -- maybe idk end end local function IsItem(Mesh) local AssetId = GetAsset(Mesh.MeshId) for Mesh in pairs(Settings.ItemData) do if Mesh == AssetId then return true end end return false end local function Esp(Item) local ItemName = Settings.ItemData[GetAsset(Item.MeshId)] ItemName = ItemName or "Unknown Item [???] " -- Some items decide to re-use mesh so oof! if Item.Material == Enum.Material.ForceField then ItemName = "Pure Rokakaka" end Wrapper:AddObject( Item, ItemName, Settings.Colors[ItemName], Settings.Distance, Settings.Tracers, Settings.Circles ) end -- Grab items that are currently in the game for Index, Object in pairs(Map:GetDescendants()) do if Object:IsA("MeshPart") then if IsItem(Object) then Esp(Object) end end end -- Detect New Items Map.DescendantAdded:Connect(function(Descendant) if Descendant:IsA("MeshPart") then if IsItem(Descendant) then Esp(Descendant) end end end)