Ir para conteúdo

Posts Recomendados

Alguém posta o client aí arrumado já para deixar ligado , não estou afim de criar nenhum projeto á longo prazo , apenas quero abrir para brincar com uns amigos :DD

@RoronoaZoro como vc que so vc e mais algums manja desse servidor pq, nao da uma ajuda rapida pois basta so fala onde editar ja que vc sabé.

@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

Editado por 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

Editado por 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

Editado por garep
×
×
  • Criar Novo...