Ir para conteúdo
Faça parte da equipe! (2024) ×
Conheça nossa Beta Zone! Novas áreas a caminho! ×
  • Quem está por aqui   0 membros estão online

    • Nenhum usuário registrado visualizando esta página.

Tirando o BUG da clonagem de grana


Acezinhw
 Compartilhar

Posts Recomendados

[Antes de tudo, este tutorial necessita de conhecimentos basicos de compilação de otserver, por isso postei uim tópico sobre como compilar]

 

 

este bug só existe em alguns OTservers, não em todos, mas é bom ler...

 

o bug era, se voce fikar mexeno o item no chao, uma hora ele fikava 100 neh?

intaum, como arruma?

simplesmente, "blokeano" o item se separar no chao.

exemplo, vc poe 50 pexes no chao, ai vc tenta manda 30 pra otro sqm (square) e simplesmente os 50 vaum tudo, impedino q ocorra o bug.

Mas como fazer isto??

Simplesmente, procure essa parte do Code no seu Game.cpp

bool Game::onPrepareMoveThing(Creature* creature, const Thing* thing,[/code]

 

substitua essa parte do code por:

 

Código:

 

bool Game::onPrepareMoveThing(Creature* creature, const Thing* thing,

 

************const Tile* fromTile, const Tile *toTile, int count)

 

{

 

************const Player* player = dynamic_cast<const Player*>(creature);

 

 

 

************const Item *item = dynamic_cast<const Item*>(thing);

 

************const Creature* movingCreature = dynamic_cast<const Creature*>(thing);

 

************const Player* movingPlayer = dynamic_cast<const Player*>(thing);

 

 

 

************if(item && !item->canMovedTo(toTile)) {

 

***************creature->sendCancel("Sorry, not possible.");

 

***return false;

 

************}

 

************else if(movingCreature && !movingCreature->canMovedTo(toTile)) {

 

*** ***if(player) {

 

*** ***player->sendTextMessage(MSG_SMALLINFO, "Sorry, not possible.");

 

*** ***player->sendCancelWalk();

 

*** ***}

 

 

 

***return false;

 

************}

 

************else if(!movingPlayer && toTile && toTile->floorChange()) {

 

***creature->sendCancel("Sorry, not possible.");

 

***return false;

 

************}

 

***else if(movingCreature && toTile && !toTile->ground) {

 

*** ***if(player) {

 

*** *** ***player->sendTextMessage(MSG_SMALLINFO, "Sorry, not possible.");

 

*** *** ***player->sendCancelWalk();

 

*** ***}

 

 

 

***return false;

 

************}[/b]

 

depois disso, apenas recompile o server.

Link para o comentário
Compartilhar em outros sites

  • 4 semanas atrás...
Este tópico está impedido de receber novos posts.
 Compartilhar

×
×
  • Criar Novo...

Informação Importante

Nós fazemos uso de cookies no seu dispositivo para ajudar a tornar este site melhor. Você pode ajustar suas configurações de cookies , caso contrário, vamos supor que você está bem para continuar.