Command
Documentação da Classe Commands
A classe Commands é usada para processar comandos de jogadores, permitindo extrair números ou strings de argumentos fornecidos. Esta documentação explica as funções de forma clara, intuitiva e com exemplos práticos para facilitar o uso.
Como Usar a Classe Commands
Declaração: A classe
Commandsjá está declarada no arquivoGameServer.lua, então não é necessário declará-la novamente. Use diretamente o objetocommandspara acessar suas funções.Uso de Funções: As funções são chamadas com a sintaxe
commands:função(argumentos), onde os argumentos geralmente são a string do comando digitada pelo jogador.Observação:
Os comandos são baseados nos argumentos fornecidos pelo jogador, e as funções ajudam a extrair números ou strings de posições específicas na string do comando.
Os comandos são registrados usando
Commands.Register, associando um comando a uma função personalizada.
Funções da Classe Commands
Abaixo estão as funções disponíveis, explicadas de forma simples com exemplos práticos:
1. getNumber(String, Position)
Descrição: Extrai um número da string do comando na posição especificada. Cada posição é separada por espaços.
Exemplo:
Copy
local number = commands:getNumber("addmonster 500 3", 1) -- Extrai o número na posição 1 (500) LogAdd(string.format("[Command] - Número extraído na posição 1: %d", number), 0)
2. getString(String, Position, FullString)
Descrição: Retorna a string na posição especificada da string do comando. Se
FullStringfortrue, retorna a string completa (sem o comando inicial).Exemplo:
Copy
Como Criar um Comando
Os comandos são criados em scripts Lua, geralmente em arquivos separados, e registrados com Commands.Register. Abaixo está um exemplo de como criar e registrar um comando personalizado.
Estrutura de um Comando
Função do Comando: Recebe o índice do jogador (
aIndex) e os argumentos do comando (Args).Verificações: Valide permissões (ex.: nível de Game Master) e configurações antes de executar a lógica.
Registro: Use
Commands.Register(nomeComando, função)para associar o comando à função.
Exemplo Prático Completo
Abaixo está um exemplo fictício que cria um comando para invocar monstros no mapa do jogador, usando as funções da classe Commands. Este código verifica permissões, extrai argumentos e realiza ações com base nos dados fornecidos.
Copy
Resumo
A classe
Commandssimplifica a extração de números (getNumber) e strings (getString) de comandos digitados pelos jogadores.Os comandos são registrados com
Commands.Register, associando um nome a uma função personalizada.O exemplo prático mostra como criar um comando para invocar monstros, verificando permissões, extraindo argumentos e logando ações com
LogAdd.
Atualizado