void LogDetail::Init ( const char* /*commandLine*/ ) { Register(bz_eSlashCommandEvent); Register(bz_eRawChatMessageEvent); Register(bz_eServerMsgEvent); Register(bz_ePlayerJoinEvent); Register(bz_ePlayerPartEvent); Register(bz_ePlayerAuthEvent); Register(bz_eMessageFilteredEvent); bz_debugMessage(0, "SERVER-STATUS Running"); bz_debugMessagef(0, "SERVER-MAPNAME %s", bz_getPublicDescription().c_str()); listPlayers( join , NULL ); }
void LogDetail::Event( bz_EventData *eventData ) { bz_ChatEventData_V1 *chatData = (bz_ChatEventData_V1 *) eventData; bz_ServerMsgEventData_V1 *serverMsgData = (bz_ServerMsgEventData_V1 *) eventData; bz_SlashCommandEventData_V1 *cmdData = (bz_SlashCommandEventData_V1 *) eventData; bz_PlayerJoinPartEventData_V1 *joinPartData = (bz_PlayerJoinPartEventData_V1 *) eventData; bz_PlayerAuthEventData_V1 *authData = (bz_PlayerAuthEventData_V1 *) eventData; bz_MessageFilteredEventData_V1 *filteredData = (bz_MessageFilteredEventData_V1 *) eventData; char temp[9] = {0}; if (eventData) { switch (eventData->eventType) { case bz_eSlashCommandEvent: // Slash commands are case insensitive // Tokenize the stream and check the first word // /report -> MSG-REPORT // anything -> MSG-COMMAND strncpy(temp, cmdData->message.c_str(), 8); if (strcasecmp( temp, "/REPORT ") == 0) { bz_debugMessagef(0, "MSG-REPORT %s %s", displayCallsign( cmdData->from ).c_str(), cmdData->message.c_str()+8); } else { bz_debugMessagef(0, "MSG-COMMAND %s %s", displayCallsign( cmdData->from ).c_str(), cmdData->message.c_str()+1); } break; case bz_eRawChatMessageEvent: if ((chatData->to == BZ_ALLUSERS) && (chatData->team == eNoTeam)) { bz_debugMessagef(0, "MSG-BROADCAST %s %s", displayCallsign( chatData->from ).c_str(), chatData->message.c_str()); } else if (chatData->to == BZ_NULLUSER) { if (chatData->team == eAdministrators) { bz_debugMessagef(0, "MSG-ADMIN %s %s", displayCallsign( chatData->from ).c_str(), chatData->message.c_str()); } else { bz_debugMessagef(0, "MSG-TEAM %s %s %s", displayCallsign( chatData->from ).c_str(), displayTeam( chatData->team ).c_str(), chatData->message.c_str()); } } else { bz_debugMessagef(0, "MSG-DIRECT %s %s %s", displayCallsign( chatData->from ).c_str(), displayCallsign( chatData->to ).c_str(), chatData->message.c_str()); } break; case bz_eMessageFilteredEvent: bz_debugMessagef(0, "MSG-FILTERED %s %s", displayCallsign( filteredData->playerID ).c_str(), filteredData->filteredMessage.c_str()); break; case bz_eServerMsgEvent: if ((serverMsgData->to == BZ_ALLUSERS) && (serverMsgData->team == eNoTeam)) { bz_debugMessagef(0, "MSG-BROADCAST 6:SERVER %s", serverMsgData->message.c_str()); } else if (serverMsgData->to == BZ_NULLUSER) { if (serverMsgData->team == eAdministrators) { bz_debugMessagef(0, "MSG-ADMIN 6:SERVER %s", serverMsgData->message.c_str()); } else { bz_debugMessagef(0, "MSG-TEAM 6:SERVER %s %s", displayTeam( serverMsgData->team ).c_str(), serverMsgData->message.c_str()); } } else { bz_debugMessagef(0, "MSG-DIRECT 6:SERVER %s %s", displayCallsign( serverMsgData->to ).c_str(), serverMsgData->message.c_str()); } break; case bz_ePlayerJoinEvent: { if (joinPartData->record) { bz_debugMessagef(0, "PLAYER-JOIN %s #%d%s %s %s", displayCallsign( joinPartData->playerID).c_str(), joinPartData->playerID, displayBZid( joinPartData->playerID ).c_str(), displayTeam( joinPartData->record->team ).c_str(), displayPlayerPrivs( joinPartData->playerID ).c_str()); listPlayers( join, joinPartData); } } break; case bz_ePlayerPartEvent: bz_debugMessagef(0, "PLAYER-PART %s #%d%s %s", displayCallsign( joinPartData->playerID ).c_str(), joinPartData->playerID, displayBZid( joinPartData->playerID ).c_str(), joinPartData->reason.c_str()); listPlayers( part, joinPartData); break; case bz_ePlayerAuthEvent: bz_debugMessagef(0, "PLAYER-AUTH %s %s", displayCallsign( authData->playerID ).c_str(), displayPlayerPrivs( authData->playerID ).c_str()), listPlayers( join, joinPartData); break; default : break; } } }
void LogDetail::Cleanup() { listPlayers( part , NULL ); bz_debugMessage(0, "SERVER-STATUS Stopped"); Flush(); }
// Admin void BF3Widget::onAdminListPlayersCommand(const QList<PlayerInfo> &playerList, const PlayerSubset &playerSubset) { listPlayers(playerList, playerSubset); }