Packet Funcions

Documentação de Pacotes Cliente-GameServer

As funções de pacotes permitem a comunicação do cliente para o servidor de jogos, criando, manipulando e enviando pacotes de dados, além de receber pacotes do servidor. Esta documentação apresenta as funções de forma clara, intuitiva e com exemplos práticos e concisos para facilitar o uso. Para exemplos mais detalhados, consulte o arquivo JewelBank.lua.


Como Usar as Funções de Pacotes

  1. Criação de Pacotes: Use CreatePacket para iniciar um pacote, definindo seu nome e identificador.

  2. Manipulação: Use funções como SetBytePacket, SetWordPacket, SetDwordPacket ou SetCharPacket para adicionar dados ao pacote.

  3. Envio e Limpeza: Envie o pacote com SendPacket e limpe-o com ClearPacket após o uso.

  4. Recebimento: Use as funções Get para processar dados recebidos de um pacote do servidor.

  5. Observação: Sempre limpe o pacote após o uso para evitar problemas de memória ou dados residuais. No cliente, não há suporte para exibição de logs.


Funções de Pacotes

Abaixo estão todas as funções disponíveis, explicadas de forma simples com exemplos práticos:

1. CreatePacket(packetName, packet)

  • Descrição: Cria um pacote com o nome e identificador especificados para enviar ao servidor.

  • Exemplo:

    Copy

    CreatePacket("ClientPacket", 0x02)

2. SetDwordPacket(packetName, position)

  • Descrição: Define um valor DWORD (32 bits) na posição especificada do pacote.

  • Exemplo:

    Copy

3. GetDwordPacket(packetName, position)

  • Descrição: Obtém o valor DWORD (32 bits) na posição especificada do pacote recebido.

  • Exemplo:

    Copy

4. SetWordPacket(packetName, position)

  • Descrição: Define um valor WORD (16 bits) na posição especificada do pacote.

  • Exemplo:

    Copy

5. GetWordPacket(packetName, position)

  • Descrição: Obtém o valor WORD (16 bits) na posição especificada do pacote recebido.

  • Exemplo:

    Copy

6. SetBytePacket(packetName, position)

  • Descrição: Define um valor BYTE (8 bits) na posição especificada do pacote.

  • Exemplo:

    Copy

7. GetBytePacket(packetName, position)

  • Descrição: Obtém o valor BYTE (8 bits) na posição especificada do pacote recebido.

  • Exemplo:

    Copy

8. SetCharPacket(packetName, string)

  • Descrição: Define uma string com até 10 caracteres no pacote.

  • Exemplo:

    Copy

9. GetCharPacket(packetName, position)

  • Descrição: Obtém uma string do pacote na posição especificada.

  • Exemplo:

    Copy

10. SetCharPacketLength(packetName, string, length)

  • Descrição: Define uma string com um tamanho específico no pacote.

  • Exemplo:

    Copy

11. GetCharPacketLength(packetName, string, length)

  • Descrição: Obtém uma string com um tamanho específico do pacote recebido.

  • Exemplo:

    Copy

12. SendPacket(packetName, aIndex)

  • Descrição: Envia o pacote para o servidor, direcionado ao jogador com o índice aIndex.

  • Exemplo:

    Copy

13. ClearPacket(packetName)

  • Descrição: Limpa o pacote após o uso para evitar resíduos de dados.

  • Exemplo:

    Copy


Exemplo Prático Completo

Abaixo está um exemplo fictício que combina o recebimento de um pacote do servidor, processamento de seus dados e envio de uma resposta do cliente para o servidor. Este código pode ser usado como base para comunicação bidirecional.

Copy


Resumo

  • As funções de pacotes permitem criar, manipular, enviar e receber dados entre o cliente e o servidor.

  • Use CreatePacket para iniciar, funções Set para adicionar dados, Get para processar dados recebidos, SendPacket para enviar e ClearPacket para limpar.

  • O exemplo prático mostra como processar um pacote recebido do servidor, extrair seus dados e enviar uma resposta ao servidor.

  • No cliente, não há suporte para exibição de logs, então o foco está nas operações de manipulação e envio de pacotes.

Atualizado