Ir para conteúdo

Featured Replies

Postado

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.cpp

Procure 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 jogo
tools.cpp

Procure 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: potions

En 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 TUDO
Está 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)



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

<?xml version="1.0"?>
<outfits>
<outfit id="1">
<list gender="0" lookType="136" name="Citizen"/>
<list gender="1" lookType="128" name="Citizen"/>
</outfit>

<outfit id="2">
<list gender="0" lookType="137" name="Hunter"/>
<list gender="1" lookType="129" name="Hunter"/>
</outfit>

<outfit id="3">
<list gender="0" lookType="138" name="Mage"/>
<list gender="1" lookType="130" name="Mage"/>
</outfit>

<outfit id="4">
<list gender="0" lookType="139" name="Knight"/>
<list gender="1" lookType="131" name="Knight"/>
</outfit>

<outfit id="5" premium="yes">
<list gender="0" lookType="140" name="Noblewoman"/>
<list gender="1" lookType="132" name="Nobleman"/>
</outfit>

<outfit id="6" premium="yes">
<list gender="0" lookType="141" name="Summoner"/>
<list gender="1" lookType="133" name="Summoner"/>
</outfit>

<outfit id="7" premium="yes">
<list gender="0" lookType="142" name="Warrior"/>
<list gender="1" lookType="134" name="Warrior"/>
</outfit>

<outfit id="8" premium="yes">
<list gender="0" lookType="147" name="Barbarian"/>
<list gender="1" lookType="143" name="Barbarian"/>
</outfit>

<outfit id="9" premium="yes">
<list gender="0" lookType="148" name="Druid"/>
<list gender="1" lookType="144" name="Druid"/>
</outfit>

<outfit id="10" premium="yes">
<list gender="0" lookType="149" name="Wizard"/>
<list gender="1" lookType="145" name="Wizard"/>
</outfit>

<outfit id="11" premium="yes">
<list gender="0" lookType="150" name="Oriental"/>
<list gender="1" lookType="146" name="Oriental"/>
</outfit>

<outfit id="12" premium="yes">
<list gender="0" lookType="155" name="Pirate"/>
<list gender="1" lookType="151" name="Pirate"/>
</outfit>

<outfit id="13" premium="yes">
<list gender="0" lookType="156" name="Assassin"/>
<list gender="1" lookType="152" name="Assassin"/>
</outfit>

<outfit id="14" premium="yes">
<list gender="0" lookType="157" name="Beggar"/>
<list gender="1" lookType="153" name="Beggar"/>
</outfit>

<outfit id="15" premium="yes">
<list gender="0" lookType="158" name="Shaman"/>
<list gender="1" lookType="154" name="Shaman"/>
</outfit>

<outfit id="16" premium="yes">
<list gender="0" lookType="252" name="Norsewoman"/>
<list gender="1" lookType="251" name="Norseman"/>
</outfit>

<outfit id="17" premium="yes">
<list gender="0" lookType="269" name="Nightmare"/>
<list gender="1" lookType="268" name="Nightmare"/>
</outfit>

<outfit id="18" premium="yes">
<list gender="0" lookType="270" name="Jester"/>
<list gender="1" lookType="273" name="Jester"/>
</outfit>

<outfit id="19" premium="yes">
<list gender="0" lookType="279" name="Brotherhood"/>
<list gender="1" lookType="278" name="Brotherhood"/>
</outfit>

<outfit id="20" premium="yes">
<list gender="0" lookType="288" name="Demonhunter"/>
<list gender="1" lookType="289" name="Demonhunter"/>
</outfit>

<outfit id="21" premium="yes">
<list gender="0" lookType="324" name="Yalaharian"/>
<list gender="1" lookType="325" name="Yalaharian"/>
</outfit>

<outfit id="22" premium="yes">
<list gender="0" lookType="336" name="Warmaster"/>
<list gender="1" lookType="335" name="Warmaster"/>
</outfit>

<outfit id="23" default="0">
<list gender="0" lookType="329" name="Wife"/>
<list gender="1" lookType="328" name="Husband"/>
</outfit>

<outfit id="24" premium="yes">
<list gender="0" lookType="366" name="Wayfarer"/>
<list gender="1" lookType="367" name="Wayfarer"/>
</outfit>
</outfits>


 

Traduzido e adaptado por: Daaniel

  • Respostas 6
  • Visualizações 2.5k
  • Created
  • Última resposta

Top Posters In This Topic

  • 4 months later...
  • 1 month later...
Postado

queria atualizar de 9.83 pra 10.0

eu seguiria o mesmo tutorial ?

n35408.gif

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