Zorzin 0 Postado Maio 17, 2006 Share Postado Maio 17, 2006 Oi gente... Tava sem nada pra faze e resolvi cria um code.. É assim.. De tantos em tantos minutos, o server da um cleanmap (comando /clean ) otserv.cpp Emcima disso: // Call to WSA Startup on Windows Systems... Coloque isso: // ZorZin clean mapif (g_config.getGlobalNumber("cleanmap") > 0){ g_game.addEvent(makeTask(g_config.getGlobalNumber("cleanmap")*60000-60000, std::mem_fun(&Game::msgAntesdeCleanup))); g_game.addEvent(makeTask(g_config.getGlobalNumber("cleanmap")*60000, std::mem_fun(&Game::cleanMap2)));}elsestd::cout << ":: Clean Map Disabled!" << std::endl;// ZorZin clean map Game.cpp acima de: void Game::creatureBroadcastMessage(Creature *creature, const std::string &text) coloque: void Game::msgAntesdeCleanup(){for(AutoList<Player>::listiterator it = Player::listPlayer.list.begin(); it != Player::listPlayer.list.end(); ++it){std::string name;name = (*it).second->getName();extern Game g_game;Creature* creature = g_game.getCreatureByName(name);(*it).second->onCreatureSay(creature, SPEAK_BROADCAST, "O mapa será limpo daqui a exatamente 1 minuto. Por favor, retire os equipamentos do chão ou de cima da caixa do dp e deixe com seu char.");}} agora procure por: long Game::cleanMap(){OTSYS_THREAD_LOCK_CLASS lockClass(gameLock, "Game::cleanMap()");return map->clean();} abaixo adicione: long Game::cleanMap2(){ addEvent(makeTask(g_config.getGlobalNumber("cleanmap")*60000-60000, std::mem_fun(&Game::msgAntesdeCleanup))); addEvent(makeTask(g_config.getGlobalNumber("cleanmap")*60000, std::mem_fun(&Game::cleanMap2)));return map->clean();} Game.h procure por: long cleanMap(); adicione logo abaixo: long cleanMap2(); agora procure por: void creatureBroadcastMessage(Creature *creature, const std::string &text); acima adicione: void msgAntesdeCleanup(); Agora vá no config.lua e coloque: --Auto Clean Map -- de quanto em quanto tempo ira dar clean (em minutos) 60 = 1 horacleanmap = 60 Se der algum erro, pode ser porque no seu ot num tem o CleanMap(comando /clean) Espero que esse code ajude vocês... É bem simples mas com items no chão, dá muito lag.. Ai você num precisa ficar entrando no ot e dar /clean Com o code da clean sozinho Crédits: Zorzin & Frerety Zorzin Link para o comentário https://xtibia.com/forum/topic/15824-76-auto-clean-map/ Compartilhar em outros sites More sharing options...
colex 8 Postado Maio 17, 2006 Share Postado Maio 17, 2006 Well done legal bem pensado e bem bolado bom trabalho cya~~ Link para o comentário https://xtibia.com/forum/topic/15824-76-auto-clean-map/#findComment-73503 Compartilhar em outros sites More sharing options...
Zen 0 Postado Maio 17, 2006 Share Postado Maio 17, 2006 Olá, Maneiro o Code, Vai ser Bem útil, Vai Reduzir o Lag de Certo modo e ajudar os GMs, para dar Clean, e vai poupar muito tempo, vou user no meu OT. Brigadão Zorzin, Abraços, Zen Link para o comentário https://xtibia.com/forum/topic/15824-76-auto-clean-map/#findComment-73504 Compartilhar em outros sites More sharing options...
GM Pikkeno 0 Postado Maio 17, 2006 Share Postado Maio 17, 2006 Cara muito massa esse code. O meu server so vivia dando lag por que a galera ficava pegando e clonando itens :confused: e jogava no chão ai varias pessoas ficavam reclamando. Agora graças a você eu não vou ter mais esse problema. ps: E deixa o server com muito lag Flws Link para o comentário https://xtibia.com/forum/topic/15824-76-auto-clean-map/#findComment-73511 Compartilhar em outros sites More sharing options...
kamimura 0 Postado Maio 17, 2006 Share Postado Maio 17, 2006 Oi, muito bom esse code. Mas tipo no mapa global ele trava o serv por uns minutos, se o PC do kara nao for bom vai ser ruim pra caramba a hora q de o autclean. E tipo nao e so para o mapa global, mapas grandes tb dao esse tipo de lag. Fora isso is very perfect !!! xD vlw //kamimura Link para o comentário https://xtibia.com/forum/topic/15824-76-auto-clean-map/#findComment-73533 Compartilhar em outros sites More sharing options...
Zorzin 0 Postado Maio 17, 2006 Autor Share Postado Maio 17, 2006 Oi,muito bom esse code. Mas tipo no mapa global ele trava o serv por uns minutos, se o PC do kara nao for bom vai ser ruim pra caramba a hora q de o autclean. E tipo nao e so para o mapa global, mapas grandes tb dao esse tipo de lag. Fora isso is very perfect !!! xD vlw //kamimura <{POST_SNAPBACK}> claro.. isso depende do pc.. mas, para pcs ruins, é só colocar de 3 em 3 horas por exemplo... ou seja, 180 minutos.. no meu ot que o mapa eh pequeno prefiro de 2 em 2 horas... ai deixo como 120 min... Zorzin Link para o comentário https://xtibia.com/forum/topic/15824-76-auto-clean-map/#findComment-73545 Compartilhar em outros sites More sharing options...
colex 8 Postado Maio 17, 2006 Share Postado Maio 17, 2006 mas mapa global em pc ruim deve ser um lag tremendo mesmu sem clean map xD mas eu até axu melhor u clean map de 4 em 4 horas, 8 em 8 horas e axo ke ficava melhor 1 minuto antes du clean um aviso prévio "1 minute left to clean map" para as pessoas naum perderem items cya~~ Link para o comentário https://xtibia.com/forum/topic/15824-76-auto-clean-map/#findComment-73578 Compartilhar em outros sites More sharing options...
frerety 7 Postado Maio 18, 2006 Share Postado Maio 18, 2006 wow! great code!!! haUhAUha... mt bem bolado... parabéns... soh teim um probleminha, o mapa soh eh limpo 1 vez... estou trabalhando com uma função que faça isso funcionar i faça mandar uma mensagem 1 minuto antes de dar clean... agora a msm toh postanu aki como vai fikar... FlW CyA! ----- EDITED ----- olhe mais pra baixo pra ver uma versão complementar Link para o comentário https://xtibia.com/forum/topic/15824-76-auto-clean-map/#findComment-73861 Compartilhar em outros sites More sharing options...
Sir Picaralhos 12 Postado Maio 18, 2006 Share Postado Maio 18, 2006 r0x e eu concordo com o colex é bom ter um aviso prévio de qunado ira ter clean no mapa pra ngm correr risco de perder nd e issu tem utilidade para todos tipos de server do enforced até o up lvl ;] vlw abraços Atenciosamente, Sir Picaralhos. Link para o comentário https://xtibia.com/forum/topic/15824-76-auto-clean-map/#findComment-73878 Compartilhar em outros sites More sharing options...
frerety 7 Postado Maio 18, 2006 Share Postado Maio 18, 2006 @Zorzin adorei seu comando i sua criatividade... dei uma "melhorada" no seu code... si vc kizer edite seu post e coloque assim: otserv.cpp Em cima disso: Call to WSA Startup on Windows Systems... Coloque isso: // ZorZin clean mapif (g_config.getGlobalNumber("cleanmap") > 0) { g_game.addEvent(makeTask(g_config.getGlobalNumber("cleanmap")*60000-60000, std::mem_fun(&Game::msgAntesdeCleanup))); g_game.addEvent(makeTask(g_config.getGlobalNumber("cleanmap")*60000, std::mem_fun(&Game::cleanMap2))); } else std::cout << ":: Clean Map Disabled!" << std::endl; // ZorZin clean map Game.cpp acima de: void Game::creatureBroadcastMessage(Creature *creature, const std::string &text) adicione: void Game::msgAntesdeCleanup(){ for(AutoList<Player>::listiterator it = Player::listPlayer.list.begin(); it != Player::listPlayer.list.end(); ++it) { std::string name; name = (*it).second->getName(); extern Game g_game; Creature* creature = g_game.getCreatureByName(name); (*it).second->onCreatureSay(creature, SPEAK_BROADCAST, "O mapa será limpo daqui a exatamente 1 minuto. Por favor, retire os equipamentos do chão ou de cima da caixa do dp e deixe com seu char."); } } agora procure por: long Game::cleanMap(){ OTSYS_THREAD_LOCK_CLASS lockClass(gameLock, "Game::cleanMap()"); return map->clean(); } abaixo adicione: long Game::cleanMap2(){ addEvent(makeTask(g_config.getGlobalNumber("cleanmap")*60000-60000, std::mem_fun(&Game::msgAntesdeCleanup))); addEvent(makeTask(g_config.getGlobalNumber("cleanmap")*60000, std::mem_fun(&Game::cleanMap2))); return map->clean(); } Game.h procure por: long cleanMap(); adicione logo abaixo: long cleanMap2(); agora procure por: void creatureBroadcastMessage(Creature *creature, const std::string &text); acima adicione: void msgAntesdeCleanup(); Config.lua adicione no final: --Auto Clean Map -- de quanto em quanto tempo ira dar clean (em minutos) 60 = 1 horacleanmap = 60 .: ALTERAÇÕES: .: .: Agora manda uma mensagem 1 minuto antes de dar clean; .: Não funciona apenas uma vez por reset server, funciona agora periodicamente (de x em x minutos, pq estava dando só uma vez por server ligado); FlW CyA! Link para o comentário https://xtibia.com/forum/topic/15824-76-auto-clean-map/#findComment-73915 Compartilhar em outros sites More sharing options...
Zorzin 0 Postado Maio 19, 2006 Autor Share Postado Maio 19, 2006 legal frerefty... vlw ai eu desobri que só tava dando isso só uma vez só agorinha.. na hora que eu ia arruma vc arrumo.. ehuaehuehue Obrigado, Zorzin Link para o comentário https://xtibia.com/forum/topic/15824-76-auto-clean-map/#findComment-73985 Compartilhar em outros sites More sharing options...
ladenn 0 Postado Maio 27, 2006 Share Postado Maio 27, 2006 Nuss, massa fico joia Link para o comentário https://xtibia.com/forum/topic/15824-76-auto-clean-map/#findComment-77609 Compartilhar em outros sites More sharing options...
Dragonblest 0 Postado Março 2, 2008 Share Postado Março 2, 2008 Como Fasso PRa coloka no Meu Serv? Link para o comentário https://xtibia.com/forum/topic/15824-76-auto-clean-map/#findComment-490291 Compartilhar em outros sites More sharing options...
Posts Recomendados