SK

Sincronizando BasicInfo Cliente/Servidor

Por Skulls, 06 de abr. de 2016 em Linguagens de Programação

7
1.4k
SkullsS
06 de abril de 2016 às 18:36
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

Editado Abril 6 por danihcv

DeadpoolD
06 de abril de 2016 às 18:55

Muito bom, vai ajudar bastante..

Estou sem rep no momento  ;X

SkullsS
06 de abril de 2016 às 21:04
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!

deadkillerD
06 de abril de 2016 às 21:23

Aee, Haha!! 

Muito Obrigado!

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

Abraços Skulls!

SkullsS
06 de abril de 2016 às 21:26
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! =)

AdministradorA
07 de abril de 2016 às 09:17

Ótimo conteúdo @Skulls, e muito bem escrito.

SkullsS
07 de abril de 2016 às 12:57
3 hours ago, Daniel said:

Ótimo conteúdo @Skulls, e muito bem escrito.

Obrigado. Pena que fiz pelo celular ficou achatado na esquerda sei lá pq =/