CL

Teleportplayer - Esse Sim Sem Bug!

Por Clic, 23 de jul. de 2007 em Linguagens de Programação

tibia
6
1.7k
ClicC
23 de julho de 2007 às 15:17

Bom pessoal eu pesso desculpas!! antes eu fiz um tópico contendo um code que eu não havia testado pois não havia o tibia instalado!!

Pois agora eu fiz um code e vi que ele funcionou!!! Agora aki eu vou postar o code e despois explicar!

 

Em commands.cpp:

 

Adicione:

   	#ifdef __CLIC_TELEPORT__
{"/tp",&Commands::teleportPlayer},
#endif

 

No final adicione:

 

#ifdef __CLIC_TELEPORT__
bool Commands::teleportPlayer(Creature* c, const std::string &cmd, const std::string &param)
{
std::string tmp = param;
std::string::size_type pos;
std::string position;

pos = tmp.find(" ");
if(pos){
   position = tmp.substr(0, pos).c_str();
   tmp.erase(0, pos+1);
   }
else{
	 position = param;
   }

Creature* creature = game->getCreatureByName(tmp);
Player* player = dynamic_cast<Player*>(creature);

  if(player){
  if(position == "Position1"){
Position pos = creature->getPosition();
Position Position1;
Position1.x = g_config.getNumber(ConfigManager::DIFERENCEPOS1X);
Position1.y = g_config.getNumber(ConfigManager::DIFERENCEPOS1Y);
Position1.z = g_config.getNumber(ConfigManager::DIFERENCEPOS1Z);
game->internalTeleport(player,Position1);
game->addMagicEffect(pos, NM_ME_ENERGY_AREA);
  }
  else if(position == "Position2"){
Position pos = creature->getPosition();
Position Position2;
Position2.x = g_config.getNumber(ConfigManager::DIFERENCEPOS2X);
Position2.y = g_config.getNumber(ConfigManager::DIFERENCEPOS2Y);
Position2.z = g_config.getNumber(ConfigManager::DIFERENCEPOS2Z);
game->internalTeleport(player,Position2);
game->addMagicEffect(pos, NM_ME_ENERGY_AREA);
  }
  }

return true;
}
#endif

 

Em commands.h:

 

Adicione:

   	#ifdef __CLIC_TELEPORT__
bool teleportPlayer(Creature* c, const std::string &cmd, const std::string &param);
#endif

 

Agora em configmanager.cpp:

 

Adicione:

	#ifdef __CLIC_TELEPORT__
m_confInteger[DIFERENCEPOS1X] = getGlobalNumber(L, "Position1x", 100);
m_confInteger[DIFERENCEPOS1Y] = getGlobalNumber(L, "Position1y", 100);
m_confInteger[DIFERENCEPOS1Z] = getGlobalNumber(L, "Position1z", 7);
m_confInteger[DIFERENCEPOS2X] = getGlobalNumber(L, "Position2x", 100);
m_confInteger[DIFERENCEPOS2Y] = getGlobalNumber(L, "Position2y", 100);
m_confInteger[DIFERENCEPOS2Z] = getGlobalNumber(L, "Position2z", 7);
#endif

 

em configmanager.h:

 

Adicione:

		#ifdef __CLIC_TELEPORT__
	DIFERENCEPOS1X,
	DIFERENCEPOS1Y,
	DIFERENCEPOS1Z,
	DIFERENCEPOS2X,
	DIFERENCEPOS2Y,
	DIFERENCEPOS2Z,
	#endif

 

Depois aperte Alt+p va em parametros:

 

Adicione:

-D__CLIC_TELEPORT__

 

Compile! (Ctrl+F9)

 

 

Agora adicione no Config.lua:

 

-- TELEPORT PLAYER TO (BY: CLIC)

Position1x = 100
Position1y = 100
Position1z = 7

Position2x = 102
Position2y = 102
Position2z = 7

 

para usar o comando é o seguinte code: /tp Position1(ou 2) Nome do Player

Lembrando se você quiser adicionar mais é facil!! se quiser mudar o nome Também pode mudar!!

 

Creditos:

A min(CLIC)

 

QUALQUER DÙVIDA OU BUG POSTE AQUI QUE O MAIS BREVEMENTE POSSIVEL ESTAREI RESPONDENDO

Editado Julho 23 por Clic

gulosoG
23 de julho de 2007 às 15:25

Isso da muito jeito para muita gente! :)

Topico EXCLUSIVO!!!

:]

Ta bom :]

gostei disso!

:*

xD

cya

AtlanticA
23 de julho de 2007 às 15:26

Ta muito legal!!

Adoro seus trabalhos se sabe que so seu FAN nehh??

=D

23 de julho de 2007 às 18:23

KARA MUITOOO BOMM

TU É FODAAA =)))

AJUDO MSMO!

23 de julho de 2007 às 19:20

Aew manow

 

parabens otimo code

 

 

flws

GM VolcanoG
23 de julho de 2007 às 23:46

ú.Ú

Akele otro n tinha testado...

e comentei :D

agora testei antes de comentar!

^^

Thx again!