Ir para conteúdo

Sincronizando BasicInfo Cliente/Servidor


Posts Recomendados

Boa tarde galera.
Hoje trago um pequeno fix de compatibilidade na troca de informação básica do player entre tfs 1.2 e OTC. O que acontece é que o TFS envia uma coisa e o OTC está preparado para receber outras.
A solução prevista aqui não foi testada em cipclients, portanto, não me responsabilizo. Envios que o ptc não utilizava e recebimentos que o tfs não enviava foram deletados.
Chega de falar, mãos a obras.
Primeiro passo: vá na source do OTC, no arquivo protocolgameparse.cpp, e altere a função 
void ProtocolGame::parsePlayerInfo(constInputMessagePtr& msg) 
pela mostrada abaixo:
 
void ProtocolGame::parsePlayerInfo(const InputMessagePtr& msg){bool premium = msg->getU8(); // premiumint vocation = msg->getU8(); // vocationm_localPlayer->setPremium(premium);m_localPlayer->setVocation(vocation);} 

 

Segundo passo: agora no servidor, va em ProtocolGame.cpp, procure por
void ProtocolGame::sendBasicData()  
e substitua por:
void ProtocolGame::sendBasicData(){NetworkMessage msg;msg.addByte(0x9F);msg.addByte(player->isPremium() ? 0x01 : 0x00);msg.addByte(player->getVocation()->getClientId());writeToOutputBuffer(msg);}

 

Bom galera, por hoje é só.
Espero que ajude.
Abraços
Link para o comentário
Compartilhar em outros sites

2 hours ago, Deadpool said:

Muito bom, vai ajudar bastante..

Estou sem rep no momento  ;X

Hahahaha valeu! São detalhes, mas na hora de fazer algumas coisas no OTC faz falta.

Abraços!

Link para o comentário
Compartilhar em outros sites

2 minutes ago, deadkiller said:

Aee, Haha!! 

Muito Obrigado!

Só uma coisa tem que compilar no Final quando alterar as coisas na Source?

Abraços Skulls!

Qualquer edição nas sources precisa compilar para funcionar. No caso, você tem que compilar OTC e TFS pra funcionar.

 

Abraços e valeu! =)

Link para o comentário
Compartilhar em outros sites

  • Quem Está Navegando   0 membros estão online

    • Nenhum usuário registrado visualizando esta página.
×
×
  • Criar Novo...