You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
I'm trying to use recanalyst to find the players that resigned in an HD game (and whether or not they were the owner).
I wrote a little script to do this for a recorded game given from the command line. The script just looks for the first person to resign and checks if player->owner. It doesn't check the team of the player who resigned.
(A usage for this script is: php examples/get_resigned.php some_recorded_game.aoe2record; echo $?;
require __DIR__ . '/../vendor/autoload.php';
use RecAnalyst\RecordedGame;
$filename = $argv[1];
$rec = new RecordedGame($filename);
// EXIT 0 means you did not resign
// EXIT 1 means you did resign
// EXIT 2 means could not find anyone who resigned
// Go through each of the chat messages, search for if the chat message is:
// "<player> resigned" and player is owner.
foreach ($rec->body()->chatMessages as $chat) {
if ($chat->player && $chat->player->owner && $chat->msg === 'resigned') {
exit(1);
}
}
foreach ($rec->body()->chatMessages as $chat) {
if ($chat->player && $chat->msg === 'resigned'){
exit(0);
}
}
// Go through each of the players and search for resignTime + player is owner
foreach($rec->players() as $player){
if($player->resignTime && $player->owner){
exit(1);
}
elseif ($player->resignTime){
exit(0);
}
}
exit(2);
The text was updated successfully, but these errors were encountered:
Hmm… Resignation times are determined by reading Resign actions from the recorded game body, but it looks like that game doesn't contain a Resign action.
(Perhaps AoE saves the game before the resign action is processed?)
I don't think resign times are actually saved anywhere in the recorded game, so I'm not sure if there's anything we can do about this :(
I'm trying to use recanalyst to find the players that resigned in an HD game (and whether or not they were the owner).
I wrote a little script to do this for a recorded game given from the command line. The script just looks for the first person to resign and checks if player->owner. It doesn't check the team of the player who resigned.
(A usage for this script is:
php examples/get_resigned.php some_recorded_game.aoe2record; echo $?;
The text was updated successfully, but these errors were encountered: