void AI_Manager::addVisits() { int noDiv = getNumDiv(); for(int div = 0; div < noDiv; div++) { int noTeams = getNumTeams(div); for(int team = 0; team < noTeams; team++) { selectTeam(div,team); compute->addTeamVisit(selectedTeam); compute->calculateTotal(selectedTeam); } } }
void flagResetTimerHandler::Event(bz_EventData *eventData) { switch (eventData->eventType) { case bz_eTickEvent: { double timeLimitSeconds = timeLimitMinutes*60; std::string flagname = bz_getName(0).c_str(); if(flagname=="R*" || flagname=="G*" || flagname=="B*" || flagname=="P*") { gameStyle = "ctf"; } if(nextReset<bz_getCurrentTime()) { if(gameStyle=="ctf") { for(unsigned int i = getNumTeams(); i < bz_getNumFlags(); i++) { if(bz_flagPlayer(i)==-1) bz_resetFlag(i); } } else { for(unsigned int i = 0; i < bz_getNumFlags(); i++) { if(bz_flagPlayer(i)==-1) bz_resetFlag(i); } } nextReset = bz_getCurrentTime()+timeLimitSeconds; } } break; default:break; } }
bool flagResetTimerHandler::SlashCommand (int playerID, bz_ApiString _command, bz_ApiString _message, bz_APIStringList *params) { std::string command = _command.c_str(); std::string message = _message.c_str(); bz_BasePlayerRecord *playerdata; playerdata = bz_getPlayerByIndex(playerID); if(command == "flagresetunused" && (bz_hasPerm(playerID, "flagMaster")||bz_hasPerm(playerID, "FLAGMASTER"))) { if(gameStyle=="ctf") { for(unsigned int i = getNumTeams(); i < bz_getNumFlags(); i++) { if(bz_flagPlayer(i)==-1) bz_resetFlag(i); } } else { for(unsigned int i = 0; i < bz_getNumFlags(); i++) { if(bz_flagPlayer(i)==-1) bz_resetFlag(i); } } nextReset = bz_getCurrentTime()+(timeLimitMinutes*60); return 1; } else if(command == "frsettime" && (bz_hasPerm(playerID, "flagMaster")||bz_hasPerm(playerID, "FLAGMASTER"))) { double invalue = ConvertToInteger(message); if (invalue > 0) { timeLimitMinutes=invalue; bz_sendTextMessagef (BZ_SERVER, BZ_ALLUSERS, "Flag reset time has been set to %i minutes by %s.", timeLimitMinutes,playerdata->callsign.c_str()); nextReset = bz_getCurrentTime()+(timeLimitMinutes*60); } else { bz_sendTextMessagef (BZ_SERVER, playerID, "Flag reset time invalid: must be between 1 and 120 minutes."); } return 1; } else if(command == "frcurrenttime") { bz_sendTextMessagef (BZ_SERVER, playerID, "Current flag reset time is set to: %i minute(s).",timeLimitMinutes); } else { bz_sendTextMessage(BZ_SERVER,playerID,"You do not have the permission to run the flag reset commands."); } bz_freePlayerRecord(playerdata); return 1; }