Ir para conteúdo
  • Cadastre-se

Client de 8.54 para 8.60 [AJUDA] Como Passo um Client de 8.54 para 8.60 !


Posts Recomendados

Opa gaelra blz?queria saber como passo meu client 8.54 para 8.60 sem perder minhas sprites? alguem ajuda?


@UP

                                                        

Link para o post
Compartilhar em outros sites

Você deve saber compilar. O que eu achei foi para servidor 8.61, não sei dizer se vai perder as sprites (se forem próprias).

Créditos: Evil Mark

 

em resources.h, vá até o final e substitua o código com isso
 

Code:
#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:

Code:
    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
Code:
else if(Items::dwMinorVersion != CLIENT_VERSION_854)

and


Substitua:

Code:
    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:
 

Code:
    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:
Code:
void ProtocolGame::parseAttack(NetworkMessage& msg)

Substitua

Code:
void ProtocolGame::parseAttack(NetworkMessage& msg)
{
    uint32_t creatureId = msg.GetU32();
    addGameTask(&Game::playerSetAttackedCreature, player->getID(), creatureId);
}

Com
 

Code:
void ProtocolGame::parseAttack(NetworkMessage& msg)
{
    uint32_t creatureId = msg.GetU32();
    msg.GetU32();
    msg.GetU32();

    addGameTask(&Game::playerSetAttackedCreature, player->getID(), creatureId);
}






Protocolgame.cpp

Procure por:
Code:
void ProtocolGame::sendCancelTarget()

and

Substitua

Code:
void ProtocolGame::sendCancelTarget()
{
    NetworkMessage_ptr msg = getOutputBuffer();
    if(msg)
    {
        TRACK_MESSAGE(msg);
        msg->AddByte(0xA3);
    }
}

Com
 

Code:
void ProtocolGame::sendCancelTarget()
{
    NetworkMessage_ptr msg = getOutputBuffer();
    if(msg)
    {
        TRACK_MESSAGE(msg);
        msg->AddByte(0xA3);
        msg->AddU32(0);
    }


Em spells.cpp vá até

Code:
bool RuneSpell::executeUse(Player* player, Item* item, const PositionEx& posFrom,

E substitua:

Code:
g_game.transformItem(item, item->getID(), std::max((int32_t)0, ((int32_t)item->getCharges()) - 1));

Com isso:
 

Code:
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:
Code:
{"insects",        MAGIC_EFFECT_INSECTS}

E substitua

Code:
    {"insects",        MAGIC_EFFECT_INSECTS},
};

Com

Code:
    {"insects",        MAGIC_EFFECT_INSECTS},
    {"dragonhead",        MAGIC_EFFECT_DRAGONHEAD}
};





vá até const.h e procure por
Code:
MAGIC_EFFECT_INSECTS        = 0x44, //68

Substitua

Code:
    MAGIC_EFFECT_INSECTS        = 0x44, //68
    MAGIC_EFFECT_LAST        = MAGIC_EFFECT_INSECTS,

Com

Code:
    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" /> 

 

Code:
    <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>
Link para o post
Compartilhar em outros sites
  • 3 years later...

Ajuda no meu deu tudo certo mas quando entro no cliente 8.60 o serv manda a msg pro cliente (Only clients with protocol 8.54) e quando entro em um cliente 8.54 (Only clients with protocol 8.60) ajuda porfavor

Link para o post
Compartilhar em outros sites

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

×   Você colou conteúdo com formatação.   Remover formatação

  Apenas 75 emojis são permitidos.

×   Seu link foi automaticamente incorporado.   Mostrar como link

×   Seu conteúdo anterior foi restaurado.   Limpar o editor

×   Não é possível colar imagens diretamente. Carregar ou inserir imagens do URL.

×
×
  • Criar Novo...

Informação Importante

Confirmação de Termo