Postado Janeiro 28, 2018 7 anos Estou dando upgrade de versão em um servidor baseado em TFS 1.2 porém ao adicionar novos monstros, o console gera vários erros. Spoiler Código de um monstro que gera erro: amazon.xml: <?xml version="1.0" encoding="ISO-8859-1"?> <monster name="Amazon" nameDescription="an amazon" race="blood" experience="60" speed="180" manacost="390"> <health now="110" max="110" /> <look type="137" head="113" body="120" legs="114" feet="132" corpse="20323" /> <targetchange interval="4000" chance="10" /> <flags> <flag summonable="1" /> <flag attackable="1" /> <flag hostile="1" /> <flag illusionable="1" /> <flag convinceable="1" /> <flag pushable="0" /> <flag canpushitems="1" /> <flag canpushcreatures="0" /> <flag targetdistance="4" /> <flag staticattack="90" /> <flag runonhealth="10" /> </flags> <attacks> <attack name="melee" interval="2000" min="0" max="-45" /> <attack name="physical" interval="2000" chance="15" range="7" min="0" max="-40"> <attribute key="shootEffect" value="throwingknife" /> </attack> </attacks> <defenses armor="10" defense="10" /> <elements> <element physicalPercent="-5" /> <element deathPercent="-5" /> </elements> <voices interval="5000" chance="10"> <voice sentence="Yeeee ha!" /> <voice sentence="Your head shall be mine!" /> <voice sentence="Your head will be mine!" /> </voices> <loot> <item id="2050" chance="1005" /> <item name="crystal necklace" chance="287" /> <item name="small ruby" chance="161" /> <item name="gold coin" countmax="20" chance="40000" /> <item id="2229" countmax="2" chance="80000" /> <item name="dagger" chance="80000" /> <item name="sabre" chance="23000" /> <item name="brown bread" chance="30333" /> </loot> </monster> Modificando esse código eu percebi que o erro SÓ acontece quando o eu configuro o loot pelo nome (ex: <item name="small ruby" chance="161" />) Se eu colocar o loot pelo ID: (ex: <item id="2125" chance="161" />) Não acontece nenhum erro. OU SEJA: A source que eu estou usando (TFS 1.2 modificada) teve a parte que lida com o loot pelo nome excluida. Alguem tem ideia onde fica e oque modificar para restaurar essa função?
Postado Janeiro 28, 2018 7 anos monsters.cpp Procure esse trecho. bool Monsters::loadLootItem(const pugi::xml_node& node, LootBlock& lootBlock) { pugi::xml_attribute attr; if ((attr = node.attribute("id"))) { lootBlock.id = pugi::cast<int32_t>(attr.value()); } Substitua por. bool Monsters::loadLootItem(const pugi::xml_node& node, LootBlock& lootBlock) { pugi::xml_attribute attr; if ((attr = node.attribute("id"))) { lootBlock.id = pugi::cast<int32_t>(attr.value()); } else if ((attr = node.attribute("name"))) { lootBlock.id = Item::items.getItemIdByName(attr.as_string()); } https://github.com/Cjaker/ , _ , ( o o ) /'` ' `'\ ESTOU TE OBSERVANDO O_O |'''''''| |\\'''//| """
Postado Janeiro 28, 2018 7 anos Autor Sem eu mesmo postar meu monsters.cpp vc foi capaz de achar o erro e mandar o código, muito obrigado @Cjaker era exatamente isso que eu queria!
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.