Jump to content
TLThings

Pago pela resolução


Recommended Posts

Bem, vejo-me obrigado a fazer este tópico por vários fatores, sendo uma delas a falta de tempo.

Ontem este tópico:

No entanto foi despropositado, pois tal como este que irei apresentar, não passou de um simples erro que acabei por resolver e também dar a solução para os que forem ter no futuro, porém, tal como disse no começo, não tenho tido mesmo tempo de sobra para poder dedicar-me a isto e peço a vossa ajuda a quem souber resolver isto.


Por algum motivo, sempre que tento teleportar, o personagem fica desta forma:

Hidden Content

    Give reaction or reply to this topic to see the hidden content.

 

O syserr diz o seguinte:

Hidden Content

    Give reaction or reply to this topic to see the hidden content.

Ora, o header 3 refere-se ao HEADER_CG_MOVE no entanto não fiz nenhuma alteração nesse campo e não entendo o porquê disto.

Com uma curta pesquisa, percebi que para "solucionar" o primeiro erro que aparece era somente acrescentar "case HEADER_CG_MOVE: break;" no input_login.cpp, e isso acabou por fazer "desaparecer" o mesmo do syserr, porém o erro da sequência não termina.

Já testei alterar por completo a tabela de sequência por diffs e (in)felizmente não deu certo - se temos a disponibilidade de source, porquê usar diffs -, as sequências foram editadas com sucesso mas o erro persistiu.

Considero o erro simples e sei que haverá alguma pessoa aqui que tem a solução (o facto de ser simples não significa que seja fácil).

 

Como ninguém neste mundo gosta de perder tempo de graça, ofereço um valor monetário a quem conseguir ajudar-me a resolver o problema.

Ficarei à vossa espera!

 

  • Like 1
Link to post
Share on other sites

A sequencia esta igual em servidor e cliente?

Coloca aqui packet.h do cliente e servidor, por vezes o id do packet que aparece no erro não é o correcto

 

Vê também se tens isto assim em char.cpp

Hidden Content

    Give reaction or reply to this topic to see the hidden content.

e em input_main.cpp

Hidden Content

    Give reaction or reply to this topic to see the hidden content.

 

__

Tens _IMPROVED_PACKET_ENCRYPTION_  ativado ou desativado?

  • Like 2
Link to post
Share on other sites

Do servidor:

Hidden Content

    Give reaction or reply to this topic to see the hidden content.

Do cliente:

Hidden Content

    Give reaction or reply to this topic to see the hidden content.

 

Aqui fica os packets do servidor e do cliente, respetivamente:

Hidden Content

    Give reaction or reply to this topic to see the hidden content.

Hidden Content

    Give reaction or reply to this topic to see the hidden content.


char.cpp possui exatamente isso:

Hidden Content

    Give reaction or reply to this topic to see the hidden content.

 

input_main.cpp possui o mesmo:

Hidden Content

    Give reaction or reply to this topic to see the hidden content.


Tenho-o neste preciso momento ativado, no entanto com os conselhos que o @znyR tem-me dado, já o desativei para testes porém não consigo sequer entrar visto que a sequência do auth impossibilita o mesmo:

Hidden Content

    Give reaction or reply to this topic to see the hidden content.

 

  • Like 1
Link to post
Share on other sites

Isso tem a ver com a chave 1234abcd ou testtest provavelmente, tem de ser igual em cliente e servidor.

A clientkey (diferente do pong acima) e usada também na sequencia,caso seja diferente de servidor/cliente dará esses erros também

Já não estou no pc, só posso ver amanha a noite ou 2f de madrugada

  • Like 1
Link to post
Share on other sites
Please login or register to see this quote.

Tens razão, mudei a chave do cliente e consegui entrar, no entanto o erro persiste:

Hidden Content

    Give reaction or reply to this topic to see the hidden content.

 

  • Like 1
Link to post
Share on other sites

O primeiro erro como disseste, é só mesmo fazer o que fizeste, não é bem um erro mas um aviso que esse packet não tem codigo especificado

 

Cliente/userinterface/netstream.cpp

sff coloca o que está em:

Hidden Content

    Give reaction or reply to this topic to see the hidden content.

game/sequence.cpp

sff coloca o que está em:

Hidden Content

    Give reaction or reply to this topic to see the hidden content.

 

Se isso estiver ok então amanhã vou ler os packets, ver se algo está diferente entre ambos

  • Like 2
Link to post
Share on other sites

Ora, criei uma personagem chama tlthings e acontece o tal erro que tinha dito no início sobre o selecionar a personagem, ela fica apenas assim (sem qualquer erro no syserr, tanto no auth como na db):

Hidden Content

    Give reaction or reply to this topic to see the hidden content.

A acontecer isto, sou obrigado a sair da conta e a entrar de novo para conseguir entrar.

No entanto o erro persiste somente se fizer teleportar (/go c):

Hidden Content

    Give reaction or reply to this topic to see the hidden content.

 

 

OBS: Uma observação, apesar de considerar irrelevante, antes aparecia o nível e o karma do jogador assim que criasse a personagem e agora não aparece, só se alterar ou relogar (talvez tenha a ver com erro?)

Hidden Content

    Give reaction or reply to this topic to see the hidden content.


Please login or register to see this quote.

Perdão, não tinha visto a resposta!

Com certeza absoluta o erro apenas refere-se a isso:

Hidden Content

    Give reaction or reply to this topic to see the hidden content.

 

  • Like 1
Link to post
Share on other sites

A um tempo atrás eu tentei resolver isso de toda forma possível, cheguei até a pagar por uma "correção", ficou mais estável mas não muda muita coisa, sempre vai ter problemas. Tenha cuidado que muita gente diz que corrigi, cata a grana e vaza. (Eu desisti de resolver.) 

  • Like 1
Link to post
Share on other sites
Please login or register to see this quote.

Se for para pagar, será somente depois do problema for resolvido mas obrigado pelas palavras

Em caso de não existir solução até sexta, terei que levar a cabo o plano B e desistir disto

Link to post
Share on other sites

ta errado seu syser nao ta mostrando o verdadeiro erro !

segundo voce deve copilar uma debug  e depois prestar a atenaçao do que acontece la voce vai achar o verdadeiro erro

 

se gostou da ideia de like !

pq se isso nao resolver me mato aqui kkk mais nao e e esse o erro do syser amigo se vc mecheu nisso pode desfazer tudo !

  • Like 1
Link to post
Share on other sites

Dei debug e não mostrou nada que pudesse a ver com o erro, mas agradeço pela ajuda.

Infelizmente terei que seguir o plano B até conseguir mais detalhes sobre o erro.

Obrigado a todos que tentaram ajudar, a vossa ajuda foi notada.

 

Podem fechar o tópico.

Link to post
Share on other sites
  • 2 months later...
Please login or register to see this quote.

 

A verdade é essa, depois de tanto tempo já consegui descobrir a solução para tal erro, por isso lembrei logo deste tópico e decidi postar aqui invés de criar outro:

Hidden Content

    Give reaction or reply to this topic to see the hidden content.

 

Este erro refere-se que a fase/passagem do login não consegue suportar um packet que não está inserido do int CInputLogin::Analyze(LPDESC d, BYTE bHeader, const char * c_pData):

Hidden Content

    Give reaction or reply to this topic to see the hidden content.

A partir daqui, declaramos que é por default que apareça sempre um erro derivado a um header que o game não consegue analisar nem comunicar de volta para o cliente.

Lembrando que são só headers GC (Game to Client) e CG( Client to Game) sendo improvável de ser DG (visto tratar da Database para Game respetivamente)  - se for, alguma coisa de incomum tem o vosso game -.

 

Analisando pelo número que nos é dado (3), através do packet.h, procuramos pelo header que se iguala pelo mesmo, sendo o nosso:

Hidden Content

    Give reaction or reply to this topic to see the hidden content.

 

Agora, para o game analisar corretamente o header a sair para o cliente, é necessário inserir o seguinte no int CInputLogin::Analyze(LPDESC d, BYTE bHeader, const char * c_pData):

Hidden Content

    Give reaction or reply to this topic to see the hidden content.

 

No entanto se acontecer estes tipos de erros:

Hidden Content

    Give reaction or reply to this topic to see the hidden content.

 

Façam a mesma coisa mas insiram no int CInputHandshake::Analyze(LPDESC d, BYTE bHeader, const char * c_pData) - input.cpp:

Hidden Content

    Give reaction or reply to this topic to see the hidden content.

 

Edited by Mário.
  • Like 1
  • Upvote 1
Link to post
Share on other sites

Create an account or sign in to comment

You need to be a member in order to leave a comment

Create an account

Sign up for a new account in our community. It's easy!

Register a new account

Sign in

Already have an account? Sign in here.

Sign In Now
×
×
  • Create New...

Important Information

By using this site, you agree to our Terms of Use and Privacy Policy.