[7.92] Auto Clean Map!

Jackson Zani

avatar
Campones
Campones

INFOS

Grupo: CamponesRegistrado: 25/02/07Posts: 84

COMENTS PLEASE!

 

Bom esse code é para quem já tem o code /clean em commands.cpp :)

No caso eu usei a versão do Evolutions 0.7.7 pra criar ele, e lá tem tudo certinho. Intão irei passar pra vocês o code.

 

Em configmanager.cpp adicione:

#ifdef __AUTOCLEAN_JACK__
m_confInteger[AUTO_CLEAN] = getGlobalNumber(L, "autoclean", 30)*60*1000;
#endif

 

Em configmanager.h adicione:

#ifdef __AUTOCLEAN_JACK__
	AUTO_CLEAN,
	#endif

 

No final de game adicione:

#ifdef __AUTOCLEAN_JACK__
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 << "Next map clean you be in " << g_config.getNumber(ConfigManager::AUTO_CLEAN) << " minutes." << 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_STATUS_WARNING, msg.str().c_str());
	}

	std::cout << "ok (" << timer() << "s)" << std::endl;
	addEvent(makeTask(g_config.getNumber(ConfigManager::AUTO_CLEAN), 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_STATUS_WARNING, "1 minute to clean. Get your things from floor now!");
	}

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

 

Em games.h abaixo de:

void changeLight(const Creature* creature);

 

Adicione:

#ifdef __AUTOCLEAN_JACK__
long autocleanMap();
long beforeClean();
long cleanMap();
#endif

 

Em otserv.cpp abaixo de:

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

 

Adicione:

#ifdef __AUTOCLEAN_JACK__   
if(g_config.getNumber(ConfigManager::AUTO_CLEAN) > 0)
	g_game.addEvent(makeTask(g_config.getNumber(ConfigManager::AUTO_CLEAN), std::mem_fun(&Game::autocleanMap)));
else
	std::cout << ":: Auto clean disabled!" << std::endl;
#endif //__AUTOCLEAN_JACK__

 

Em paramenters adicione:

 -D__AUTOCLEAN_JACK__

 

Agora no config.lua adicione

--Auto clean(0 - off, 1 - um minuto, 60 - uma hora!)
autoclean = 5

 

Crédits: 80% Jackson Zani, 20% Bido

Todos direitos reservados® Administrador - Medieval Works 2009.

tgk4evertm

avatar
Campones
Campones

INFOS

Grupo: CamponesRegistrado: 13/03/07Posts: 3

muito bom cara é realmente oq eu estava precisando me add no msn ae tenho uma proposta para vc ...

 

MSN= tgk@tgkhoster.com

 

 

WEB= www.tgkhoster.com

 

 

falow!

Ventura

Felipe Venturini
avatar
Visconde
Visconde

INFOS

Grupo: ViscondeRegistrado: 12/10/05Posts: 340Char no Tibia: Tweets

Jackson Zani, você faz ótimos códigos...

Parabéns esta é ótimo pena que eu não sei mexer com compiler ^.-

 

Atenciosamente;

Ventura

Atenciosamente,

Felipe Venturini

contato@fventurini.com.br

www.felipeventurini.com.br

Celular: +55 11 8249.0045

God Anthyrax

avatar
Campones
Campones

INFOS

Grupo: CamponesRegistrado: 07/04/07Posts: 61

Aew cara otimo codigo.

 

 

ow esse code nun funciona nu evolutions0.07.8?

 

teria como vc adaptar un code pra eli?

 

vlw

Net XD







Clic

avatar
Campones
Campones

INFOS

Grupo: CamponesRegistrado: 07/05/06Posts: 57

Eu nao axei 2 arkivo q vc flo ae!!

o game e o parameters!!! ajude



Lutando por um forum Melhor

Presentes:
NONE

Mustorze

Banido
avatar
Banidos
Banidos

INFOS

Grupo: BanidosRegistrado: 28/04/06Posts: 46

ée! onde fica paramiters é isso ai!??

[Banido por Ripping]

Jackson Zani

avatar
Campones
Campones

INFOS

Grupo: CamponesRegistrado: 25/02/07Posts: 84

Bom, galerinha

 

O paramenters ele fica no

 

Project(projeto)>Project Options>Paramenters

 

Ou se não só use alt+p que abre direto no paramenters ;}

 

Abraços.

 

PS: Pega em todas as versões.

Todos direitos reservados® Administrador - Medieval Works 2009.

dyegodb

avatar
Campones
Campones

INFOS

Grupo: CamponesRegistrado: 16/01/06Posts: 23

eu não tenho o clean... tm omo posta pra nós n? ;D

Jackson Zani

avatar
Campones
Campones

INFOS

Grupo: CamponesRegistrado: 25/02/07Posts: 84
eu não tenho o clean... tm omo posta pra nós n? ;D

 

Hmm, este code não funciona na nova SVN

Porque agora estão usando outro tipo de class QTreeNode, dai tenho que aprimorar hehehe

Tem um code do novo /clean no otfans. feito pelo Xidaozu e pelo Jiddo, mas lembrando que esse code não pegará com o novo /clean, a não ser que tu pode esse code na versão 0.7.8 do xidaozu, lá ainda está com svn velha, (class velha). mas já já tem a nova versão 0.7.9 :D

 

Abraços

Todos direitos reservados® Administrador - Medieval Works 2009.

GM Volcano

Freelancer Developer
avatar
Artesão
Artesão

INFOS

Grupo: ArtesãoRegistrado: 26/06/06Posts: 115Char no Tibia: Kasugol

Pow cara Mto rox, compilei td certinho rodou bem + tem um probleminha...

Quando vc da /clean some ateh items q vc pois no mapeditor o0, no meu serv existem muitos npcs que mostram o q vende apenas pelo item q fika na mesinha atras...dai fika um pouco complicado..quando eu do /clean some! Impossivel arrumar esse "bug" no seu code???

---------------------Quando voce fizer o code e editar ae, ou postar um novo tópico manda uma mp p/ mim ok?-------------------



Um simples scripter, porém com criatividade..

GM Volcano - Since 2006

 

In momoriam : FrozenMapper(Carlos Pain), Tprocheira, Mustorze, Voxnot, BlackDream(Gabriel Carrara), Kiko5, Morpheus_, Look_of_hell, Skulls, Clic, Heitorzin, Biakko

~Hail Old School~

Jackson Zani

avatar
Campones
Campones

INFOS

Grupo: CamponesRegistrado: 25/02/07Posts: 84
Pow cara Mto rox, compilei td certinho rodou bem + tem um probleminha...

Quando vc da /clean some ateh items q vc pois no mapeditor o0, no meu serv existem muitos npcs que mostram o q vende apenas pelo item q fika na mesinha atras...dai fika um pouco complicado..quando eu do /clean some! Impossivel arrumar esse "bug" no seu code???

 

Bom, primeiramente isso não é bug hehehe, é porque eu não botei um if(container) ou seja, daqui alguns dias irei fazer um novo com a nova CLASS, esse code ai é muito velho hehehe, e já arrumarei esse problema.

 

Abraços!

Todos direitos reservados® Administrador - Medieval Works 2009.

Mustorze

Banido
avatar
Banidos
Banidos

INFOS

Grupo: BanidosRegistrado: 28/04/06Posts: 46

Rox Funfando A 100% :D!!

Mais Nao apareceu o 1 minute to clean. Get your things from floor now!

 

xP Mais ta legal :D

[Banido por Ripping]

Raphael Lion

avatar
Cavaleiro
Cavaleiro

INFOS

Grupo: CavaleiroRegistrado: 07/02/07Posts: 162

Code super útil para servidores grandes !

Parabéns.