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
Criação de Pacotes: Use
CreatePacketpara iniciar um pacote, definindo seu nome e identificador.Manipulação: Use funções como
SetBytePacket,SetWordPacket,SetDwordPacketouSetCharPacketpara adicionar dados ao pacote.Envio e Limpeza: Envie o pacote com
SendPackete limpe-o comClearPacketapós o uso.Recebimento: Use as funções
Getpara processar dados recebidos de um pacote do servidor.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
CreatePacketpara iniciar, funçõesSetpara adicionar dados,Getpara processar dados recebidos,SendPacketpara enviar eClearPacketpara 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