Bom, esse é code de um amigo meu, todos já devem ter visto essa função, porém ele não tem nas versões , ele é conheçido bastante no Tibia global.
New record: x players are logged in.
Em game.cpp
abaixo de:
maxPlayers = g_config.getNumber(ConfigManager::MAX_PLAYERS);
adicione:
recordPlayer = 0; loadRecord();
Agora na função:
bool Game::placeCreature(const Position& pos, Creature* creature, bool forced /*= false*/)
abaixo de:
if(Player* player = creature->getPlayer()) {
adicione:
checkRecord();
No final de game.cpp, adicione:
void Game::loadRecord() { FILE* file = fopen("record.log", "r"); if(file != NULL) { fscanf(file, "online_players=%d", &recordPlayer); fclose(file); } } void Game::checkRecord() { if(getPlayersOnline() > recordPlayer) { char msg[64], log[32]; sprintf(msg, "New record: %d players are logged in.", getPlayersOnline()); for(AutoList<Player>::listiterator it = Player::listPlayer.list.begin(); it != Player::listPlayer.list.end(); ++it){ (*it).second->sendTextMessage(MSG_EVENT_ADVANCE, msg); } recordPlayer = getPlayersOnline(); // save record FILE* file = fopen("record.log", "w+"); sprintf(log, "online_players=%d", getPlayersOnline()); fputs(log, file); fclose(file); } }
Agora em game.h abaixo de:
class Game { public: Game(); ~Game();
adicione:
uint16_t recordPlayer; void checkRecord(); void loadRecord();
Codigo desenvolvido por Raphael Carnaúba.Todos direitos reservados®