Ir para conteúdo
  • Cadastre-se
  • 0
Entre para seguir isso  
AmyH

Bug no chat de grupo

Pergunta

Boa tarde galera!

Estou com um bug no chat de grupo, onde todas as mensagens enviadas tem a última letra cortada.

Ex.: Se eu digito: "Olá, sou Eustácio"

Aparece: "Olá, sou Eustáci"

Não importa o número de letras, sempre corta a última. (apenas no chat de GRUPO)
Isso é provável bug do client? É ajustável de alguma maneira?

Compartilhar este post


Link para o post
Compartilhar em outros sites

15 respostass a esta questão

Recommended Posts

  • 0

Não sei, mas aposto minhas fichas no emulador. Ao qual teria que dar uma estudada para ter certeza e saber onde está o problema.

Porém pode ser o hexed, tente com outras versões e ver se o problema persiste.

Porque acredito que seja um bug gerando má compreensão de expressão regular ou scape de EndLine. O que tanto o emulador e o hexed usam.

Editado por Spell Master

Compartilhar este post


Link para o post
Compartilhar em outros sites
  • 0
Em 30/01/2018 at 23:39, Spell Master disse:

Não sei, mas aposto minhas fichas no emulador. Ao qual teria que dar uma estudada para ter certeza e saber onde está o problema.

Porém pode ser o hexed, tente com outras versões e ver se o problema persiste.

Porque acredito que seja um bug gerando má compreensão de expressão regular ou scape de EndLine. O que tanto o emulador e o hexed usam.

Acha que seja na source? Utilizei o emulador do repositório oficial creio que de Dezembro... Mas não alterei a source.

Também uso um hexed que já utilizei outras vezes sem problemas. Se for isso é possível que o bug ainda persiste ali no repositório oficial.

Mas mais tarde vou tentar re-diffar o hexed com outras configurações pra ver se o problema está por ali.

Compartilhar este post


Link para o post
Compartilhar em outros sites
  • 0
6 horas atrás, AmyH disse:

Acha que seja na source? Utilizei o emulador do repositório oficial creio que de Dezembro... Mas não alterei a source.

Também uso um hexed que já utilizei outras vezes sem problemas. Se for isso é possível que o bug ainda persiste ali no repositório oficial.

Mas mais tarde vou tentar re-diffar o hexed com outras configurações pra ver se o problema está por ali.

Então se for esse o caso de bug na source terá que encontrar onde está sendo o bug e consertar por si mesmo. Porque o desenvolvimento do cronus parou por falta de desenvolvedor, testa também com outro emulador (sugiro mesmo que use outro) e ver se o problema acontece.

Compartilhar este post


Link para o post
Compartilhar em outros sites
  • 0

Não deu certo alterar as configurações do hexed. Tentei alterar a versão, mas fiquei tendo erro pra logar... Creio que por causa do improviso já que não configurei a pasta do client inteiro pra versão específica.

De qualquer modo, reparei que quando eu vou compilar, aparece o seguinte erro:

Citar

3>..\src\map\clif.c(10386): warning C4090: 'initializing' : different 'const' qualifiers
3>..\src\map\clif.c(13349): warning C4090: '=' : different 'const' qualifiers
3>..\src\map\clif.c(17653): warning C4090: 'function' : different 'const' qualifiers
3>..\src\map\clif.c(17694): warning C4090: 'function' : different 'const' qualifiers
3>..\src\map\clif.c(17706): warning C4090: 'function' : different 'const' qualifiers
3>..\src\map\clif.c(17717): warning C4090: 'function' : different 'const' qualifiers
3>..\src\map\clif.c(18146): warning C4090: 'function' : different 'const' qualifiers

Mesmo assim a compilação é feita com sucesso (sem a source do emulador alterada, fora a versão do exe). Tem alguma chance do problema ser por aí?

Talvez pela versão do Visual Studio ou algo assim?


O client também não pega nenhuma parte do chat pelos LuaFiles que poderia alterar isto? Tipo aqui: https://github.com/Cronus-Emulator/CronusDATA/blob/master/Pre-Renewal/Português/data/lua files/chatwndinfo/chatwndinfo_f.lua

Compartilhar este post


Link para o post
Compartilhar em outros sites
  • 0

Normalmente esse erro é de packets com emulador.. sim, testar outros hexeds

Compartilhar este post


Link para o post
Compartilhar em outros sites
  • 0

Ao colocar um patch de 2012 (testei mais de um.. inclusive de 2013 e outras versões de 2014), e tentar conectar, eu recebo a seguinte mensagem no emulador:

"clif_parse: Recebido packet nao suportavel (packet 0x395e (0x395e), 19 bytes recebidos), desconectando sessao #3."

(Sim, alterei a versão do patch na src. O número do packet no erro muda conforme a versão que tento conectar.)

 

Minha dúvida é... teve alguma alteração na src do emulador de um ano pra cá?

Patchs de 2012 funcionavam, assim como eu não tinha problema com o mesmo patch de 2014 que utilizo agora. (Por sinal, o único que consegui fazer funcionar. Não testei versões de 2015)

Se não tiveram alterações, acho que minha suspeita vai pro compilador, ou os arquivos de compilação utilizados (Formato Microsoft VS Solution, ou outros itens da pasta do Emulador).

Não faz sentido a relação de hexed e source do emulador, que funcionava há um ano atrás... caso não houveram alterações. Utilizo inclusive o mesmo Nemo.

 

Não sei mais onde procurar o problema =(

Compartilhar este post


Link para o post
Compartilhar em outros sites
  • 0

Até onde li, todos os clientes 2013 e 2014 estão com problemas, recomendo já passar para 2015+

Compartilhar este post


Link para o post
Compartilhar em outros sites
  • 0
6 minutos atrás, Jonyll disse:

Até onde li, todos os clientes 2013 e 2014 estão com problemas, recomendo já passar para 2015+

Estranho. Acho que o único problema que tive foi esse em relação ao chat mesmo.

Mas porque só estão com problema agora se antes funcionava normal? Tiveram alterações no Emulador? (Visto que outra diferença é que utilizo o emulador mais atual também)

Compartilhar este post


Link para o post
Compartilhar em outros sites
  • 0

Sim, os emuladores estão em constante mudança. O rAthena mesmo, por enquanto, não é aconselhável usar versões de Novembro até o momento.

Compartilhar este post


Link para o post
Compartilhar em outros sites
  • 0

Bom... Mas não tem nem hexed 2015 no repositório oficial, só vai até 2013 =/

Como eu já tinha alguns baixados utilizei o 2015-09-16a agora. Mas recebi a mesma mensagem de packet não suportável no emulador.

Acho que baixei o emulador em Novembro ou Outubro de 2017 e não atualizei.

 

Aliás, sabe dizer porque o client no repositório também é incompleto? Não tem a pasta System!

 

------------------

EDIT

Para testes de problema de versão, troquei os arquivos clif.h e clif.c na pasta src/map por desatualizados alguns meses dos mesmos.

O problema do chat foi resolvido. Meu medo são outras alterações de atualizações que podem conter nestes arquivos gerar mais bugs em outro lugar. Não tenho conhecimento nenhum na programação da source, apenas usei a lógica pra descobrir onde estava o problema.

Será que isso ajuda a levantar alguma idéia?

Editado por AmyH

Compartilhar este post


Link para o post
Compartilhar em outros sites
  • 0

 

Em 26/02/2018 at 12:57, AmyH disse:

EDIT

Para testes de problema de versão, troquei os arquivos clif.h e clif.c na pasta src/map por desatualizados alguns meses dos mesmos.

O problema do chat foi resolvido. Meu medo são outras alterações de atualizações que podem conter nestes arquivos gerar mais bugs em outro lugar. Não tenho conhecimento nenhum na programação da source, apenas usei a lógica pra descobrir onde estava o problema.

Será que isso ajuda a levantar alguma idéia?

Não faça isso!

Sim o problema está no arquivo, mas precisamente na função clif_party_message

#EDIT:

Então vá até a função e tente trocar essas linhas:

  • WBUFW(buf,2)=len+8;

para

  • WBUFW(buf,2) = len+9;

 

  • clif->send(buf,len+8,&sd->bl,PARTY);

para

  • clif->send(buf, len+9, &sd->bl, PARTY);

Veja se soluciona, porque para ser mais preciso. Precisaria estudar o arquivo para ver a origem do valor em STR recebido.

 

Editado por Spell Master

Compartilhar este post


Link para o post
Compartilhar em outros sites
  • 0
12 horas atrás, Spell Master disse:

 

Não faça isso!

Sim o problema está no arquivo, mas precisamente na função clif_party_message

#EDIT:

Então vá até a função e tente trocar essas linhas:

  • WBUFW(buf,2)=len+8;

para

  • WBUFW(buf,2) = len+9;

 

  • clif->send(buf,len+8,&sd->bl,PARTY);

para

  • clif->send(buf, len+9, &sd->bl, PARTY);

Veja se soluciona, porque para ser mais preciso. Precisaria estudar o arquivo para ver a origem do valor em STR recebido.

 

Não resolveu =(... Na real essa função no arquivo antigo está exatamente igual.

Uma parte que reparei que houve uma brusca mudança foi na linha 8871+

QUASE certeza que o erro ocorre nesta parte do arquivo. Início do comentário:
 

Citar

/**
 * Validates and processes a global/guild/party message packet.
 *
 * @param[in]  sd         The source character.
 * @param[in]  packet     The packet data.
 * @param[out] out_buf    The output buffer (must be a valid buffer), that will
 *                        be filled with "Name : Message".
 * @param[in]  out_buflen The size of out_buf (including the NUL terminator).
 * @return a pointer to the "Message" part of out_buf.
 * @retval NULL if the validation failed, the messages was a command or the
 *              character can't send chat messages. out_buf shan't be used.
 */

Aliás, isso não ocorre apenas no chat do grupo, como também em PM "recebida" (enviada não, apenas quem recebe consegue notar a falta da última letra).

Da pra ver no arquivo que a função de Whisper também foi alterada, só descer um pouco desta primeira. Só não faço idéia de onde arrumar!

 

Já vi mais tópicos de pessoal com o mesmo problema.. o erro ta no próprio emulador baixado virgem, em uma dessas "novas atualizações" lançadas. Não importa a versão do Hexed =//

Compartilhar este post


Link para o post
Compartilhar em outros sites
  • 0

@AmyH

Fiz um clone na repo do cronus, porque eu não tinha ele aqui (já faz alguns meses que deletei todas cópias desse emulador dos meus discos rígidos)

Em fim olhei qual era o problema, e corrigir os bugs referentes das mensagens, que por sinal como eu já imaginava era algo extremamente simples. A questão é:

Como faço para lhe enviar os arquivos? Não sendo por meios desse fórum porque eu não faço nenhum tipo de correção mais no cronus, só para amigos mesmo, para você abrir uma exceção :tw_dizzy:

Compartilhar este post


Link para o post
Compartilhar em outros sites
  • 0

Spell Master estou com o mesmo problema poderia por favor me fornecer esses arquivos também?

Compartilhar este post


Link para o post
Compartilhar em outros sites
  • 0

@Spell Master Estou com o mesmo problema, pode me enviar por mp, por favor !?

Compartilhar este post


Link para o post
Compartilhar em outros sites

Crie uma conta ou entre para comentar

Você precisar ser um membro para fazer um comentário

Criar uma conta

Crie uma nova conta em nossa comunidade. É fácil!

Crie uma nova conta

Entrar

Já tem uma conta? Faça o login.

Entrar Agora
Entre para seguir isso  

Seja bem vindo ao Cronus-Emulator.
É sempre um prazer te-lo conosco.
Você pode visualizar nossas áreas de suporte para encontrar suas soluções sem a necessidade de se registrar!
Registrando em nossa comunidade, você poderá conhecer mais sobre nosso projeto, criar tópicos, responder tópicos existentes, baixar milhares de recursos em nosso sistema de downloads, participar de nossa comunidade, customizar seu perfil e muito mais... Se você já possui uma conta, faça seu login - ou crie uma conta. Também temos integração com Google+ e Facebook.

×