diff --git a/Release/Plugins/RenX.Core.lib b/Release/Plugins/RenX.Core.lib index f1ac644..e82fada 100644 Binary files a/Release/Plugins/RenX.Core.lib and b/Release/Plugins/RenX.Core.lib differ diff --git a/RenX.Core/RenX_Server.cpp b/RenX.Core/RenX_Server.cpp index 3748a14..95368f6 100644 --- a/RenX.Core/RenX_Server.cpp +++ b/RenX.Core/RenX_Server.cpp @@ -1145,6 +1145,29 @@ void RenX::Server::processLine(const Jupiter::ReadableString &line) break; case 6: // Command 2 on Timer: Time interval break; + case 7: // Team change: Normal Player Data | Options (00) + header.shiftRight(1); + { + PARSE_PLAYER_DATA_P(header); + PlayerInfo *player = getPlayerOrAdd(this, name, id, team, isBot, 0U, Jupiter::ReferenceString::empty); + unsigned char options = 0; + if (playerData.isEmpty() == false) + options = playerData.get(0); + if (options & 0x02) + player->credits = 0.0f; + if (options & 0x04) + player->score = 0.0f; + // 0x08 unused. + if (options & 0x10) + player->deaths = 0; + if (options & 0x20) + player->kills = 0; + + for (size_t i = 0; i < xPlugins.size(); i++) + xPlugins.get(i)->RenX_OnTeamChange(this, player); + } + header.shiftLeft(1); + break; default: break; }