Jump to content

World of piece - completo! sources - launcher - sprites - modulos

Rate this topic


Recommended Posts

@garep

Não é tão simples eu teria que Estudar os Códigos e no momento não tenho tempo,Provavelmente por esse bloqueio a linha provavelmente se encontra em otserv.cpp

Mais não tenho Certeza.

Sem título.png@RoronoaZoro Nao esta em game.cpp esta no client so segue um print de como esta ficando conseguir desbloquear, acho que é agora 6 que meche com ele.  :*

test.png

Edited by garep
9 horas atrás, garep disse:

Sem título.png@RoronoaZoro Nao esta em game.cpp esta no client so segue um print de como esta ficando conseguir desbloquear, acho que é agora 6 que meche com ele.  :*

test.png

como vc conseguiu nos encine pf?

Provavel que o @garep não ira postar + para a galera justamente por Algum motivo mais eu irei disponibilizar oque eu sei ate para desbloquear o "Otclient"

 

Nas sources do Otclient do Wop

Procure por protocolgamesend.cpp 

 

e procure por

 

void ProtocolGame::sendLoginPacket(uint challengeTimestamp, uint8 challengeRandom)

 

e substitua toda a função por essa função

 

void ProtocolGame::sendLoginPacket(uint challengeTimestamp, uint8 challengeRandom)
{
    OutputMessagePtr msg(new OutputMessage);

    msg->addU8(Proto::ClientPendingGame);
    msg->addU16(g_game.getOs());
    msg->addU16(g_game.getProtocolVersion());

    if(g_game.getFeature(Otc::GameClientVersion))
        msg->addU32(g_game.getClientVersion());

    if(g_game.getFeature(Otc::GameContentRevision))
        msg->addU16(g_things.getContentRevision());

    if(g_game.getFeature(Otc::GamePreviewState))
        msg->addU8(0);

    int offset = msg->getMessageSize();
    // first RSA byte must be 0
    msg->addU8(0);

    if(g_game.getFeature(Otc::GameLoginPacketEncryption)) {
        // xtea key
        generateXteaKey();
        msg->addU32(m_xteaKey[0]);
        msg->addU32(m_xteaKey[1]);
        msg->addU32(m_xteaKey[2]);
        msg->addU32(m_xteaKey[3]);
        msg->addU8(0); // is gm set?
    }

    if(g_game.getFeature(Otc::GameSessionKey)) {
        msg->addString(m_sessionKey);
        msg->addString(m_characterName);
    } else {
        if(g_game.getFeature(Otc::GameAccountNames))
            msg->addString(m_accountName);
        else
            msg->addU32(stdext::from_string<uint32>(m_accountName));

        msg->addString(m_characterName);
        msg->addString(m_accountPassword);

        if(g_game.getFeature(Otc::GameAuthenticator))
            msg->addString(m_authenticatorToken);
    }

    if(g_game.getFeature(Otc::GameChallengeOnLogin)) {
        msg->addU32(challengeTimestamp);
        msg->addU8(challengeRandom);
    }

    std::string extended = callLuaField<std::string>("getLoginExtendedData");
    if(!extended.empty())
        msg->addString(extended);

    // complete the bytes for rsa encryption with zeros
    int paddingBytes = g_crypt.rsaGetSize() - (msg->getMessageSize() - offset);
    assert(paddingBytes >= 0);
    msg->addPaddingBytes(paddingBytes);

    // encrypt with RSA
    if(g_game.getFeature(Otc::GameLoginPacketEncryption))
        msg->encryptRsa();

    if(g_game.getFeature(Otc::GameProtocolChecksum))
        enableChecksum();

    send(msg);

    if(g_game.getFeature(Otc::GameLoginPacketEncryption))
        enableXteaEncryption();
}

 

 

Agora em game.cpp

 

Procure por  int Game::getOs()

 

e troque toda a função por

 

int Game::getOs()
{
    if(m_clientCustomOs >= 0)
        return m_clientCustomOs;

    if(g_app.getOs() == "windows")
        return 10;
    else if(g_app.getOs() == "mac")
        return 12;
    else // linux
        return 11;
}

 

Depois disso e so compilar o otc , o resto eu não sei .-. ai ja e com quem manja +

 

 

Acho provavel que o resto seja na source do proprio servidor.

Creditos Totalmente ao @Garep por me passar essas modificações na source do client

Edited by Fuuin Fake
20 minutos atrás, KaboFlow29 disse:

posta cliente mano

Postar client pra que? , eu ja postei o codigo pra arrumar o client , compile e pronto , mesmo assim não ira funcionar por que tem modificações na source para mecher.

Galera descobri o bug e uma dica nao esta no client ;p, estou usando o client original sem modificar nada. mais da uma olhada no entergame do client

To resolvendo algums bug,s pra um cara tipo se ele deixa eu libera certinho eu libero.

 

f6d6e47da0dbc2f77359177fc2178819.gif

Edited by garep
×
×
  • Create New...