Ir para conteúdo
Entre para seguir isso  
lehdarkangel

[7.6] Clean Server Automático ~

Recommended Posts

lehdarkangel    0
lehdarkangel

Em GAME.CPP troque isso:

 

long Game::cleanMap()
{
OTSYS_THREAD_LOCK_CLASS lockClass(gameLock, "Game::cleanMap()");
return map->clean();
}

 

Por esse:

 

long Game::cleanMap()
{
OTSYS_THREAD_LOCK_CLASS lockClass(gameLock, "Game::cleanMap()");
return map->clean();
}

long Game::autocleanMap()
{    
       OTSYS_THREAD_LOCK_CLASS lockClass(gameLock, "Game::autocleanMap()");
       std::cout << ":: auto clean... ";
       timer();
       long count = cleanMap();
       double sec = timer();

       std::stringstream msg;
       msg << "Clean completed. Collected " << count << (count==1? " item." : " items.") << std::ends;
       for(AutoList<Player>::listiterator it = Player::listPlayer.list.begin(); it != Player::listPlayer.list.end(); ++it){
               if(dynamic_cast<Player*>(it->second))
                       (*it).second->sendTextMessage(MSG_RED_INFO, msg.str().c_str());
       }

       std::cout << "ok (" << timer() << "s)" << std::endl;
       addEvent(makeTask((g_config.getGlobalNumber("autoclean", 2)-1)*60000, std::mem_fun(&Game::beforeClean)));
}

long Game::beforeClean()
{
       for(AutoList<Player>::listiterator it = Player::listPlayer.list.begin(); it != Player::listPlayer.list.end(); ++it) {
               it->second->sendTextMessage(MSG_RED_INFO, "1 minute to clean. Get your things from floor now!");
       }

       addEvent(makeTask(60000, std::mem_fun(&Game::autocleanMap)));
}

 

Em GAME.H «~~

Após:

	long cleanMap();

 

adicione:

 

    long autocleanMap();
   long beforeClean();

 

Em OTSERV.CPP «~~

Depois de:

 

  	// Call to WSA Startup on Windows Systems...

 

adicione:

 

#ifdef YUR_CLEAN_MAP   
   if (g_config.getGlobalNumber("autoclean") > 0)
       g_game.addEvent(makeTask((g_config.getGlobalNumber("autoclean", 2)-1)*60000, std::mem_fun(&Game::beforeClean)));
   else
       std::cout << ":: Auto clean disabled!" << std::endl;
#endif //YUR_CLEAN_MAP

 

agora Compile o Projeto e adicione no config.lua adicione:

-- Clean Automático by LeeeH (0 - Desligado, 1 - Um Minuto, 60 - Uma Hora)
autoclean = 60

 

Testado no YurOTS 0.94d ~ Have Fun!!

Compartilhar este post


Link para o post
Visitante
Este tópico está impedido de receber novos posts.
Entre para seguir isso  
  • Quem Está Navegando   0 membros estão online

    Nenhum usuário registrado visualizando esta página.

×