Packet Functions

Envio Packets GameServer para Cliente

As funções de Packets permitem a comunicação entre o servidor de jogos (GameServer) e o cliente, criando, manipulando e enviando pacotes de dados. 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. Observação: Sempre limpe o pacote após usá-lo para evitar problemas de memória ou dados residuais.


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.

  • Exemplo:

    Copy

    CreatePacket("MyPacket", 0x01)
    LogAdd("[Packet] - Pacote MyPacket criado com ID 0x01", 0)

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.

  • 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.

  • 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.

  • 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.

  • Exemplo:

    Copy

12. SendPacket(packetName, aIndex)

  • Descrição: Envia o pacote para o 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 utiliza várias funções de pacotes em uma única função para criar, configurar, enviar e limpar um pacote para um jogador. Este código pode ser usado como base para comunicação entre servidor e cliente.

Copy


Resumo

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

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

  • As funções Get permitem recuperar dados do pacote para verificação.

  • O exemplo prático mostra como criar, configurar, enviar e limpar um pacote em uma única função.

Atualizado