"totalPoisonBerries", 2 => "totalSlowBerries", 3 => "totalUltraBerries", 4 => "totalSpeedyBerries", 5 => "totalCoinBerries", 6 => "totalRandomBerries", 7 => "totalAntiBerries", default => "totalNormalBerries" }; } else if ($request_type !== "2" && $request_type !== "3" && $request_type !== "4") { exitWithMessage(json_encode([])); } $stmt = $conn0->prepare("SELECT username, id FROM users WHERE leaderboards_banned = 0"); $stmt->execute(); $result = $stmt->get_result(); $rows = $result->fetch_all(MYSQLI_ASSOC); $mapped = []; $icons = []; foreach ($rows as $row) { $id = $row["id"]; $stmt2 = $conn1->prepare("SELECT legacy_high_score, save_data FROM userdata WHERE id = ? LIMIT 1"); $stmt2->bind_param("i", $id); $stmt2->execute(); $result2 = $stmt2->get_result(); if ($result2->num_rows != 1) { continue; } $user2 = $result2->fetch_assoc(); $savedata = json_decode($user2['save_data'], true); if (!$savedata) continue; if ($request_type == "4") { $berries = ["totalNormalBerries", "totalPoisonBerries", "totalSlowBerries", "totalUltraBerries", "totalSpeedyBerries", "totalCoinBerries", "totalRandomBerries", "totalAntiBerries"]; $value = 0; foreach ($berries as $b) $value += (int)($savedata['gameStore'][$b] ?? 0); } else { $value = $request_type != 2 ? $request_type != 3 ? ($savedata['gameStore'][$request_value] ?? 0) : ($user2['legacy_high_score'] ?? 0) : ($savedata['bird']['customIcon']['balance'] ?? 0); } if ($value <= 0) continue; $customIcon = $savedata['bird']['customIcon']['selected'] ?? null; if ($customIcon != null && strlen($customIcon) == 36 && $icons[$customIcon] == null) { $stmt = $conn1->prepare("SELECT data FROM marketplaceicons WHERE uuid = ?"); $stmt->bind_param("s", $customIcon); $stmt->execute(); $result = $stmt->get_result(); $rowData = $result->fetch_assoc(); if ($rowData) { $stmt->close(); $icons[$customIcon] = $rowData["data"]; } } $mapped[] = [ 'username' => $row['username'], 'userid' => $id, 'value' => $value, 'icon' => $savedata['bird']['icon'] ?? 1, 'overlay' => $savedata['bird']['overlay'] ?? 0, 'birdColor' => $savedata['settings']['colors']['icon'] ?? [255,255,255], 'overlayColor' => $savedata['settings']['colors']['overlay'] ?? [255,255,255], 'customIcon' => $customIcon ]; } usort($mapped, fn($a,$b) => $b['value'] <=> $a['value']); $limited = array_slice($mapped, 0, 500); if (getClientVersion() == "1.6" || (getClientVersion() == "1.6.1" && $request_type == "1")) { echo encrypt(json_encode($limited)); } else { echo encrypt(json_encode(["entries" => $limited, "customIcons" => $icons == [] ? new stdClass() : $icons])); } $conn0->close(); $conn1->close();