format('i'));
$minutesToNextUpdate = 30 - ($minutes % 30);
if ($minutesToNextUpdate === 30) $minutesToNextUpdate = 0; // Already on the half hour
if ($minutesToNextUpdate > 0) {
$updateMessage = "Kill stats are processing. Check back in $minutesToNextUpdate minutes. Data is updated every half hour.";
} else {
$updateMessage = "Kill stats data is updating, please check back shortly.";
}
} catch (Exception $e) {
$updateMessage = "Could not determine update time."; // Handle potential DateTime errors
}
} else {
// Process killstats files
foreach ($killstatsFiles as $file) {
$killJsonData = json_decode(file_get_contents($file), true);
if (is_array($killJsonData) && isset($killJsonData['stats'])) {
$playerName = $killJsonData['stats']['playername'] ?? 'Unknown';
// Find corresponding participant for additional stats
$totalDamage = 'N/A';
$rank = 'N/A';
$dbnos = 'N/A';
foreach ($participantStats as $pStat) {
if (($pStat['name'] ?? null) === $playerName) {
$totalDamage = $pStat['damageDealt'] ?? 'N/A';
$rank = $pStat['winPlace'] ?? 'N/A';
$dbnos = $pStat['DBNOs'] ?? 'N/A';
break;
}
}
$killStats[] = [
'playername' => $playerName,
'humankills' => $killJsonData['stats']['humankills'] ?? 'N/A',
'HumanDmg' => $killJsonData['stats']['HumanDmg'] ?? 'N/A',
'kills' => $killJsonData['stats']['kills'] ?? 'N/A',
'totalDamage' => $totalDamage,
'rank' => $rank,
'DBNOs' => $dbnos
];
}
}
}
} else {
$dataError = "Error decoding or invalid structure in match JSON file.";
}
} else {
$dataError = "Match data file not found for the given match ID.";
}
} else {
$dataError = "No match ID provided.";
}
?>
Match Info
Match Details
| Match Type | Game Mode | Duration (s) | Map | Date | ID |
|
|
|
|
|
|
Kill Stats
| Player Name |
Human Kills |
Human Dmg |
Total Kills |
Total Damage |
Rank |
DBNOs |
|
|
|
|
|
|
|
No kill stats available for this match.
All Participants
| Player Name |
Type |
Kills |
Damage Dealt |
Time Survived (s) |
Rank |
Revs |
DBNOs |
Assists |
| {$playerName}"; ?> |
|
|
|
|
|
|
|
|
No participant data available for this match.