AN
wop

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

By Animal Pak, 17 de jun. de 2016 in OTServer Alternativo (ATS)

one piece
209
72.6k
megaguuhM
07 de julho de 2016 às 20:21

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

RoronoaZoroR
07 de julho de 2016 às 21:01

@garep

Infelizmente eu não tenho tempo no Momento,Porem é melhor estudar somente os Codigos.

garepG
08 de julho de 2016 às 10:38

@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é.

RoronoaZoroR
08 de julho de 2016 às 12:30

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

garepG
08 de julho de 2016 às 15:31

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 Julho 8 by garep

chateadoagrC
09 de julho de 2016 às 00:40
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?

DenuvoD
09 de julho de 2016 às 17:47

@garep ajuda ai a comunidade brother... 

Fuuin FakeF
09 de julho de 2016 às 18:12

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 Julho 9 by Fuuin Fake

KaboFlow29K
09 de julho de 2016 às 20:53

posta cliente mano

Fuuin FakeF
09 de julho de 2016 às 21:21
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.

garepG
10 de julho de 2016 às 13:03

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 Julho 10 by garep

DenuvoD
11 de julho de 2016 às 12:49

esses caras são uns comedia mesmo kkkkk

narutomaniacosN
11 de julho de 2016 às 20:19

E essa é a comunidade brasileira.

grimmjoow6G
13 de julho de 2016 às 22:37

Eai pessoal, ninguem conseguiu resolver o problema do client?

16 de julho de 2016 às 09:16

Tem mapa editor e site?