AD

Auto Save Player

Por Administrador, 05 de out. de 2005 em Linguagens de Programação

tibia
script
20
9.2k
centropoC
22 de fevereiro de 2011 às 12:19

Tibia Rules, fez um code de server save que de acordo com eles , e testes feitos por mim, o code é muito estável.

 

Irei mostrar passo a passo como colocá-lo!

 

 

 

Procure em game.cpp por:

Player* player = dynamic_cast<Player*>(creature);
if(player){
Tile *tile = getTile(player->pos.x, player->pos.y, player->pos.z);
if(tile == NULL){
std::cout << "CheckPlayer NULL tile: " << player->getName() << std::endl;
return;
}

 

Abaixo coloque :

 

  //Player Auto save by Tibia Rules
 if(player->saveTime < g_config.getGlobalNumber("saveTime", 5)*60*1000)//check the save time and subtract thinkTicks
  player->saveTime += thinkTicks;
     if(player->saveTime >= g_config.getGlobalNumber("saveTime", 5)*60*1000){//Check if its time to save!
  player->sendTextMessage(MSG_BLUE_TEXT,"You character was just auto-saved!" );
       IOPlayer::instance()->savePlayer(player);
       player->saveTime = 0;//reset the save time
     }
     //End Player Auto save

 

 

player.cpp

 

Procure por:

food = 0;

 

Abaixo coloque:

 

saveTime  = 0;

 

 

Coloque em:

 

player.h

in public:

 

int saveTime;

 

 

Adicione no config.lua:

 

Code:

--Auto Save time for each player.... 1 = 1min
saveTime = 1

 

 

OBS: Lembrando que todos os créditos vão para tibia rules!

 

 

Problema descoberto:

 

Como o server aproveita uma função de check do ot, cada jogador fica com 1 tempo de save. Com isso (não vou explicar como para nao prejudicar o andamento de alguns servidores) o player se tiver um pouco de sorte e pensar um pouco consegue duplicar items.

 

Usem o script por conta própria, irei postar um save server melhor e seguro.

 

Olá,

 

Poderia informar qual versão do TFS funciona este método? estou com a versão TFS 0.3.6, conhece algum script ou modificação a fazer para fazer funcionar a função doSavePlayer(cid, true) nesta versão? ou até mesmo este método pela source?

comedinhasssC
22 de fevereiro de 2011 às 14:21

Tibia Rules, fez um code de server save que de acordo com eles , e testes feitos por mim, o code é muito estável.

 

Irei mostrar passo a passo como colocá-lo!

 

 

 

Procure em game.cpp por:

Player* player = dynamic_cast<Player*>(creature);
if(player){
Tile *tile = getTile(player->pos.x, player->pos.y, player->pos.z);
if(tile == NULL){
std::cout << "CheckPlayer NULL tile: " << player->getName() << std::endl;
return;
}

 

Abaixo coloque :

 

  //Player Auto save by Tibia Rules
 if(player->saveTime < g_config.getGlobalNumber("saveTime", 5)*60*1000)//check the save time and subtract thinkTicks
  player->saveTime += thinkTicks;
     if(player->saveTime >= g_config.getGlobalNumber("saveTime", 5)*60*1000){//Check if its time to save!
  player->sendTextMessage(MSG_BLUE_TEXT,"You character was just auto-saved!" );
       IOPlayer::instance()->savePlayer(player);
       player->saveTime = 0;//reset the save time
     }
     //End Player Auto save

 

 

player.cpp

 

Procure por:

food = 0;

 

Abaixo coloque:

 

saveTime  = 0;

 

 

Coloque em:

 

player.h

in public:

 

int saveTime;

 

 

Adicione no config.lua:

 

Code:

--Auto Save time for each player.... 1 = 1min
saveTime = 1

 

 

OBS: Lembrando que todos os créditos vão para tibia rules!

 

 

Problema descoberto:

 

Como o server aproveita uma função de check do ot, cada jogador fica com 1 tempo de save. Com isso (não vou explicar como para nao prejudicar o andamento de alguns servidores) o player se tiver um pouco de sorte e pensar um pouco consegue duplicar items.

 

Usem o script por conta própria, irei postar um save server melhor e seguro.

 

Olá,

 

Poderia informar qual versão do TFS funciona este método? estou com a versão TFS 0.3.6, conhece algum script ou modificação a fazer para fazer funcionar a função doSavePlayer(cid, true) nesta versão? ou até mesmo este método pela source?

 

Amigo, olha a data do tópico, 2008...

Cuidado com o flood, da próxima vez terei de alertado..

Cuidado, veja a data do tópico quando postar.

centropoC
22 de fevereiro de 2011 às 16:15

 

Amigo, olha a data do tópico, 2008...

Cuidado com o flood, da próxima vez terei de alertado..

Cuidado, veja a data do tópico quando postar.

 

Desculpe pelo flood, mas se puder me ajudar agradeço muito, :(

10 meses depois...
milbradtM
20 de dezembro de 2011 às 00:13

.

Editado Outubro 22 por milbradt

9 meses depois...
LucasOlzonL
03 de setembro de 2012 às 16:23

Post bem antigo mas sera que ainda funciona?

Seria possivel salvar a casa do player tambem?