addCommandHandler
Registra um comando.
Sintaxe
Seção intitulada “Sintaxe”-- servidorbool addCommandHandler ( string nomeDoComando, function manipulador [, bool restrito = false, bool diferenciaMaiusculas = true ] )
-- clientebool addCommandHandler ( string nomeDoComando, function manipulador [, bool diferenciaMaiusculas = true ] )Parâmetros
Seção intitulada “Parâmetros”| Nome | Tipo | Padrão | Descrição |
|---|---|---|---|
nomeDoComando | string | — | A palavra digitada, sem a barra. |
manipulador | function | — | Função a executar. |
restrito | bool | false | Só no servidor. Armazena a marca de restrição; nesta versão ela não aplica permissão. |
diferenciaMaiusculas | bool | true | Se false, /CURAR e /curar acionam o mesmo comando. |
Retorno
Seção intitulada “Retorno”true se o comando foi registrado. Devolve false quando o nome está vazio, quando manipulador não é uma função, ou quando essa mesma função já está registrada para esse nome.
Registrar um nome que já existe — em qualquer resource daquele lado — segue a configuração allow_multi_command_handlers do servidor (veja server.cfg): 0 recusa com um erro no console de debug e devolve false, 1 (o padrão) permite com um aviso, 2 permite em silêncio. Nomes com mais de 64 caracteres são cortados em 64.
Vários manipuladores podem dividir o mesmo nome de comando: todos são chamados. Dentro de cada resource, eles rodam na ordem de registro; não dependa da ordem entre resources diferentes. Numa linha digitada no F8, o conjunto do cliente roda primeiro e o conjunto do servidor roda depois; cada chamada de API, porém, procura apenas no seu próprio lado.
-- servidoraddCommandHandler("curar", function(source) if source == false then return end setElementHealth(source, 100) outputDebugString(getPlayerName(source) .. " se curou")end)
-- servidor: aceita /kick, /Kick e /KICKaddCommandHandler("kick", aoExpulsar, false, false)
-- cliente: aceita /hud, /Hud e /HUDaddCommandHandler("hud", alternarHud, false)Todos os comandos de um resource são removidos quando ele para.
Veja também
Seção intitulada “Veja também”removeCommandHandler— Remove um comando registrado.executeCommandHandler— Executa um comando por código.getCommandHandlers— Lista os comandos registrados pelo resource.