Postado Outubro 26, 2017 7 anos Em 15/07/2014 em 11:13, Daniel disse: Resolvi trazer esse tutorial, já que não há no TK. Créditos: Evil Mark resources.h, vá até o final e substitua o código com isso #define CLIENT_VERSION_MIN 861 #define CLIENT_VERSION_MAX 862 #define CLIENT_VERSION_STRING "Only clients with protocol 8.61 and 8.62 are allowed!" #define STATUS_SERVER_NAME "TheForgottenServer" #define STATUS_SERVER_VERSION "0.3.5" #define STATUS_SERVER_CODENAME "Crying Damson" #define STATUS_SERVER_PROTOCOL "8.62" Então vá ao itemloader.h e procure por CLIENT_VERSION_854 = 16, Quando achar substitua por: CLIENT_VERSION_854 = 16, CLIENT_VERSION_855 = 17, CLIENT_VERSION_856 = 18, CLIENT_VERSION_857 = 19, CLIENT_VERSION_860 = 20, CLIENT_VERSION_861 = 21, CLIENT_VERSION_862 = 22 items.cpp:Procure por else if(Items::dwMinorVersion != CLIENT_VERSION_854)and Substitua: else if(Items::dwMinorVersion != CLIENT_VERSION_854) { std::cout << "[Error - Items::loadFromOtb] Another (client) version of items.otb is required." << std::endl; return ERROR_INVALID_FORMAT; } Com: else if(Items::dwMinorVersion != 19) { std::cout << "[Error - Items::loadFromOtb] Another (client) version of items.otb is required." << std::endl; return ERROR_INVALID_FORMAT; } Agora vá ao protocolgame.cpp, e procure por: void ProtocolGame::parseAttack(NetworkMessage& msg) Substitua void ProtocolGame::parseAttack(NetworkMessage& msg) { uint32_t creatureId = msg.GetU32(); addGameTask(&Game::playerSetAttackedCreature, player->getID(), creatureId); } Com void ProtocolGame::parseAttack(NetworkMessage& msg) { uint32_t creatureId = msg.GetU32(); msg.GetU32(); msg.GetU32(); addGameTask(&Game::playerSetAttackedCreature, player->getID(), creatureId); } Protocolgame.cppProcure por: void ProtocolGame::sendCancelTarget()and Substitua void ProtocolGame::sendCancelTarget() { NetworkMessage_ptr msg = getOutputBuffer(); if(msg) { TRACK_MESSAGE(msg); msg->AddByte(0xA3); } } Com void ProtocolGame::sendCancelTarget() { NetworkMessage_ptr msg = getOutputBuffer(); if(msg) { TRACK_MESSAGE(msg); msg->AddByte(0xA3); msg->AddU32(0); } Em spells.cpp vá até bool RuneSpell::executeUse(Player* player, Item* item, const PositionEx& posFrom, E substitua: g_game.transformItem(item, item->getID(), std::max((int32_t)0, ((int32_t)item->getCharges()) - 1)); Com isso: g_game.transformItem(item, item->getID(), std::max((int32_t)0, ((int32_t)item->getItemCount()) - 1)); Adicionando os novos efeitos ao jogotools.cppProcure por: {"insects", MAGIC_EFFECT_INSECTS} E substitua {"insects", MAGIC_EFFECT_INSECTS}, }; Com {"insects", MAGIC_EFFECT_INSECTS}, {"dragonhead", MAGIC_EFFECT_DRAGONHEAD} }; vá até const.h e procure por MAGIC_EFFECT_INSECTS = 0x44, //68 Substitua MAGIC_EFFECT_INSECTS = 0x44, //68 MAGIC_EFFECT_LAST = MAGIC_EFFECT_INSECTS, Com MAGIC_EFFECT_INSECTS = 0x44, //68 MAGIC_EFFECT_DRAGONHEAD = 0x45, //69 MAGIC_EFFECT_LAST = MAGIC_EFFECT_DRAGONHEAD, Como arrumar o bug do npc que não compra itens com charges, ex: potionsEn npc.cpp procure: li.itemId = intValue; Depois adicione: const ItemType& it = Item::items[li.itemId]; Procure: if(readXMLInteger(tmpNode, "subtype", intValue)) li.subType = intValue; Depois adicione: else { if(it.stackable) li.subType = 1; else if(it.isFluidContainer() || it.isSplash()) li.subType = 0; } COMPILE/Refaça TUDOEstá Feito! Códigos XML e Coisas que você precisa para o seu servidor, uma vez que foi atualizado (Dentro da pasta de dados do servidor)@Use esse Item.otb e baixe o Itemx XML abaixo (It's attached) items.otb: items.rar Scan (By Daaniel) Você deve remover essa linha em todas as runas do spells.xml. <attribute key="charges" value="1" /> \/ <item id="2261" name="destroy field rune"> <attribute key="runeSpellName" value="adito grav" /> <attribute key="weight" value="120" /> <attribute key="charges" value="1" /> </item> outfit.xml Conteúdo Oculto Traduzido e adaptado por: Daaniel Mano fiz exatamente como vc disse nesse tutorial passo-a-passo não pulei nenhuma parte mais quando eu vou entrar no server ele buga a maioria dos effects, você sabe como resolver esse bug se sim teria como vc me ajuda a resolver pfvrr ???
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.