Ir para conteúdo

[PEDIDO] Referente ao tfs 0.4 (rev3777) do Fir3element

Featured Replies

Postado
46 minutos atrás, Gabrieldsadaxas disse:

 

 

cara, eu tenho um item que adiciona vida e mana no meu ot e ele funciona 100%... vc n esqueceu de adicionar as tags do item no movements?

pior que não brow, qualquer item que eu tento por life, ele buga, tipo adiciona "ml/skill/mana/life" mas só a life que buga sabe. 

  • Respostas 25
  • Visualizações 3.2k
  • Created
  • Última resposta

Top Posters In This Topic

Most Popular Posts

  • Fir3element
    Fir3element

    falo do additem esses limites são em todos os tfs eu acho   provavelmente ele mudou a fórmula que calcula o lvl do player tibia normal: lvl 300 = 441084800xp modificado: lvl

  • @.Foxxy , o problema na 0.3.6 era no __queryDestination do player.cpp  Esse aqui funciona (se o código ficar bugado no spoiler, pega do LINK):   

  • Eu tenho a rev 0.3.7 OTX 8.60 sem bugs.   Pra frente talvez vou disponibilizar..

Posted Images

Postado

@.Foxxy , o problema na 0.3.6 era no __queryDestination do player.cpp 
Esse aqui funciona (se o código ficar bugado no spoiler, pega do LINK): 

 

 

 


Cylinder* Player::__queryDestination(int32_t& index, const Thing* thing, Item** destItem, uint32_t& flags) { if (index == 0 /*drop to capacity window*/ || index == INDEX_WHEREEVER) { *destItem = NULL; const Item* item = thing->getItem(); if (!item) return this; //find an appropiate slot std::list<Container*> containerList; for (int i = SLOT_FIRST; i < SLOT_LAST; ++i) { Item* inventoryItem = inventory[i]; if (inventoryItem) { if (inventoryItem == tradeItem) { continue; } //try find an already existing item to stack with if (inventoryItem != item && item->isStackable() && inventoryItem->getID() == item->getID() && inventoryItem->getItemCount() < 100) { *destItem = inventoryItem; index = i; return this; } //check sub-containers else if (Container* subContainer = inventoryItem->getContainer()) { Cylinder* tmpCylinder = NULL; int32_t tmpIndex = INDEX_WHEREEVER; Item* tmpDestItem = NULL; tmpCylinder = subContainer->__queryDestination(tmpIndex, item, &tmpDestItem, flags); if (tmpCylinder && tmpCylinder->__queryAdd(tmpIndex, item, item->getItemCount(), flags) == RET_NOERROR) { index = tmpIndex; *destItem = tmpDestItem; return tmpCylinder; } containerList.push_back(subContainer); } } //empty slot else if (__queryAdd(i, item, item->getItemCount(), flags) == RET_NOERROR) { index = i; *destItem = NULL; return this; } } //check deeper in the containers for (std::list<Container*>::iterator it = containerList.begin(); it != containerList.end(); ++it) { for (ContainerIterator iit = (*it)->begin(); iit != (*it)->end(); ++iit) { if (Container* subContainer = (*iit)->getContainer()) { if (subContainer == tradeItem) { continue; } Cylinder* tmpCylinder = NULL; int32_t tmpIndex = INDEX_WHEREEVER; Item* tmpDestItem = NULL; tmpCylinder = subContainer->__queryDestination(tmpIndex, item, &tmpDestItem, flags); if (tmpCylinder && tmpCylinder->__queryAdd(tmpIndex, item, item->getItemCount(), flags) == RET_NOERROR) { index = tmpIndex; *destItem = tmpDestItem; return tmpCylinder; } } } } return this; } Thing* destThing = __getThing(index); if (destThing) *destItem = destThing->getItem(); Cylinder* subCylinder = dynamic_cast<Cylinder*>(destThing); if (subCylinder) { index = INDEX_WHEREEVER; *destItem = NULL; return subCylinder; } return this; }

 

 

Editado por Rusherzin (veja o histórico de edições)

  • 3 weeks later...

Participe da conversa

Você pode postar agora e se cadastrar mais tarde. Se você tem uma conta, faça o login para postar com sua conta.

Visitante
Responder

Quem Está Navegando 0

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

Estatísticas dos Fóruns

  • Tópicos 96.9k
  • Posts 519.6k

Informação Importante

Confirmação de Termo