local frag = getgenv().fragESP local lib = getgenv().Library local holder = frag.holder lib.Registry["Box Type"].Set("Corner") lib.Registry["Max Distance"].Set(5000) lib.Registry["Show Distance"].Set(true) lib.Registry["Show Held Item"].Set(true) task.wait(0.4) local rows = {} for _, v in ipairs(holder:GetChildren()) do local p = v:GetAttribute("fragPlayer") if p and v.Visible then rows[p] = rows[p] or {} local r = rows[p] if v.Name == "LeftTop" then r.top = v.Position.Y.Offset; r.corx = v.Size.X.Offset end if v.Name == "LeftSide" then r.h = v.Size.Y.Offset; r.cory = v.Size.Y.Offset end if v.Name == "Distance" then r.distY = v.Position.Y.Offset; r.distTxt = v.Text end if v.Name == "Weapon" then r.itemY = v.Position.Y.Offset; r.itemTxt = v.Text end if v.Name == "Name" then r.nameY = v.Position.Y.Offset; r.nameTxt = v.Text end end end local list = {} for p, r in pairs(rows) do if r.top and r.distY then table.insert(list, string.format("%-18s %-12s boxTop=%d boxH=%d bracket=%sx%s | name y=%d dist y=%d (+%d) item y=%d (+%d)", p, tostring(r.distTxt), r.top, r.h or 0, tostring(r.corx), tostring(r.cory), r.nameY or 0, r.distY, r.distY - (r.top + (r.h or 0)), r.itemY or 0, (r.itemY or 0) - r.distY)) end end table.sort(list) print("sets:", #list) for i = 1, math.min(#list, 6) do print(" " .. list[i]) end local prev = lib.EspPreviewState print("preview pieces:", (function() local n = 0 for _, v in ipairs(prev.Overlay:GetChildren()) do if v:IsA("Frame") and v.Visible then n += 1 end end return n end)())