Ir para conteúdo
  • 0

Adaptação para 0.4 e Correção de Bug!


Luga03

Pergunta

Eae pessoal blz? estou aqui para pedir ajuda com 2 problemas, o primeiro eu gostaria que se alguem puder adaptar o code do onDropLoot, para tfs 0.4 rev 8334, pfv.

Segundo problema resolvido!



E o segundo pedido é para resolver este bug:

c317115abb8e14cf2b60cb67e558ae24.png

Eu tava adicionando o sistema de Monster Level, só que quando terminei de adicionar tudo nas sources fica dando este erro :( se puderem me ajudar agraeceria muito!



Vlw pela atenção e fuis!
Tópico Atualizado!

Editado por Zet0N0Murmurouu
Link para o comentário
Compartilhar em outros sites

10 respostass a esta questão

Posts Recomendados

  • 0
  • Diretor

Acho que você não instalou o Devpack

 

vai na pasta Stian's Repack Dev-Cpp

 

Abre o Packman.exe vai em install e seleciona este arquivo que estarei deixando aqui para você baixar.

 

Depois é so você instalar normal dando Next > e pronto.

 

 

Download: OpenSLL 0.9.8

 

 

 

 

Link para o comentário
Compartilhar em outros sites

  • 0

Acho que você não instalou o Devpack

 

vai na pasta Stian's Repack Dev-Cpp

 

Abre o Packman.exe vai em install e seleciona este arquivo que estarei deixando aqui para você baixar.

 

Depois é so você instalar normal dando Next > e pronto.

 

 

Download: OpenSLL 0.9.8

 

 

 

 

Cara man, vc me ajudou e conseguio resolver o segundo problema! vlw man! vc e essa sua Open SLL auehaueh vlw msm :) Alguem ai pode ajudar no primeiro agora?

Link para o comentário
Compartilhar em outros sites

  • 0

Calma ae, vou re-instalar o code nas minhas sources e te mando print do erro, o problema não é este, até porque já tinha feito isto e não tinha resolvido problema nenhum além deste que é LuaScriptInterface... Calma ae já já te mando o outro erro :D

Link para o comentário
Compartilhar em outros sites

  • 0

Calma ae, vou re-instalar o code nas minhas sources e te mando print do erro, o problema não é este, até porque já tinha feito isto e não tinha resolvido problema nenhum além deste que é LuaScriptInterface... Calma ae já já te mando o outro erro :D

 

Posso tentar te ajudar se quiser, te mandei um convite no skype.

Link para o comentário
Compartilhar em outros sites

  • 0

Blz Avronex!

 

@Topic

 

Está dando este erro no dev-Cpp quando instalo o onDropLoot do Caotic:

 C:\Source\creatureevent.cpp In member function `bool CreatureEvents::dropLoot(Creature*, Item*)': 
118 G:\Kensey Server\Source\creatureevent.cpp request for member `second' in `*(&it)->__gnu_cxx::__normal_iterator<_Iterator, _Container>::operator-> [with _Iterator = CreatureEvent**, _Container = std::vector<CreatureEvent*, std::allocator<CreatureEvent*> >]()', which is of non-class type `CreatureEvent*' 
119 G:\Kensey Server\Source\creatureevent.cpp request for member `second' in `*(&it)->__gnu_cxx::__normal_iterator<_Iterator, _Container>::operator-> [with _Iterator = CreatureEvent**, _Container = std::vector<CreatureEvent*, std::allocator<CreatureEvent*> >]()', which is of non-class type `CreatureEvent*' 
 G:\Kensey Server\Source\dev-cpp\Makefile.win [Build Error]  [obj//creatureevent.o] Error 1 

O erro está apontando estas duas linhas no creaturescripts:

 

 

if(it->second->getEventType() == CREATURE_EVENT_DROPLOOT &&
!it->second->executeDropLoot(creature, item))

 

As duas foram adicionadas com o code do onDropLoot!

Link para o comentário
Compartilhar em outros sites

  • 0

 

bool CreatureEvents::dropLoot(Creature* creature, Item* item)
{
    bool result = true;
    for(CreatureEventList::iterator it = m_creatureEvents.begin(); it != m_creatureEvents.end(); ++it)
    {
        if((*it)->getEventType() == CREATURE_EVENT_DROPLOOT && !(*it)->executeDropLoot(creature, item))
            result = false;
    }

    return result;
}
Link para o comentário
Compartilhar em outros sites

  • 0

Pronto, aquele problema foi resolvido, agora apareceu este:

 

https://gyazo.com/e68e3f1337589415e6c96e0a41287802

Estou com o mesmo erro, conseguiu resolver?

Print:

foKuUwg.png

Código:

void Monster::dropLoot(Container* corpse)
{
Item* tmpItem = NULL;
for(LootItems::const_iterator it = lootItems.begin(); it != lootItems.end() && !corpse->full(); ++it)
{
uint32_t owner = corpse->getCorpseOwner();
    Creature* creature = g_game.getCreatureByID(owner);
if((tmpItem = createLoot(*it)))
{
if(Container* container = tmpItem->getContainer())
{
if(createChildLoot(container, (*it)))
corpse->__internalAddThing(tmpItem);
else
delete container;
}
else
corpse->__internalAddThing(tmpItem);
}
}


corpse->__startDecaying();
uint32_t ownerId = corpse->getCorpseOwner();
if(!ownerId)
return;


Player* owner = g_game.getPlayerByID(ownerId);
if(!owner)
return;


LootMessage_t message = lootMessage;
if(message == LOOTMSG_IGNORE)
message = (LootMessage_t)g_config.getNumber(ConfigManager::LOOT_MESSAGE);


if(message < LOOTMSG_PLAYER)
return;


std::stringstream ss;
ss << "Loot of " << nameDescription << ": " << corpse->getContentDescription() << ".";
if(owner->getParty() && message > LOOTMSG_PLAYER)
owner->getParty()->broadcastMessage((MessageClasses)g_config.getNumber(ConfigManager::LOOT_MESSAGE_TYPE), ss.str());
else if(message == LOOTMSG_PLAYER || message == LOOTMSG_BOTH)
owner->sendTextMessage((MessageClasses)g_config.getNumber(ConfigManager::LOOT_MESSAGE_TYPE), ss.str());
}
Editado por ElderZard
Link para o comentário
Compartilhar em outros sites

  • 0

 

Estou com o mesmo erro, conseguiu resolver?

Print:

foKuUwg.png

Código:

void Monster::dropLoot(Container* corpse)
{
Item* tmpItem = NULL;
for(LootItems::const_iterator it = lootItems.begin(); it != lootItems.end() && !corpse->full(); ++it)
{
uint32_t owner = corpse->getCorpseOwner();
    Creature* creature = g_game.getCreatureByID(owner);
if((tmpItem = createLoot(*it)))
{
if(Container* container = tmpItem->getContainer())
{
if(createChildLoot(container, (*it)))
corpse->__internalAddThing(tmpItem);
else
delete container;
}
else
corpse->__internalAddThing(tmpItem);
}
}


corpse->__startDecaying();
uint32_t ownerId = corpse->getCorpseOwner();
if(!ownerId)
return;


Player* owner = g_game.getPlayerByID(ownerId);
if(!owner)
return;


LootMessage_t message = lootMessage;
if(message == LOOTMSG_IGNORE)
message = (LootMessage_t)g_config.getNumber(ConfigManager::LOOT_MESSAGE);


if(message < LOOTMSG_PLAYER)
return;


std::stringstream ss;
ss << "Loot of " << nameDescription << ": " << corpse->getContentDescription() << ".";
if(owner->getParty() && message > LOOTMSG_PLAYER)
owner->getParty()->broadcastMessage((MessageClasses)g_config.getNumber(ConfigManager::LOOT_MESSAGE_TYPE), ss.str());
else if(message == LOOTMSG_PLAYER || message == LOOTMSG_BOTH)
owner->sendTextMessage((MessageClasses)g_config.getNumber(ConfigManager::LOOT_MESSAGE_TYPE), ss.str());
}

Nem consegui :( eu desisti este code tinha bugado minhas sources inteiras '-'

Link para o comentário
Compartilhar em outros sites

×
×
  • Criar Novo...