Pular para o conteúdo

executeCommandHandler

Compartilhada Comandos

Executa um comando por código. A chamada usa apenas o registro do lado em que o script está rodando; ela não reproduz todo o fluxo de uma linha digitada no F8.

-- servidor
bool executeCommandHandler ( string nomeDoComando, element jogador [, string argumentos = "" ] )
-- cliente
bool executeCommandHandler ( string nomeDoComando [, string argumentos = "" ] )
NomeTipoPadrãoDescrição
nomeDoComandostring—Comando a executar.
jogadorelement—Só no servidor. Jogador que será o source do manipulador. Obrigatório lá.
argumentosstring""O resto da linha, em um único texto. É quebrado nos espaços antes de chegar ao manipulador.

No cliente não há jogador a informar: só os manipuladores locais executam. Diferente de uma linha digitada no F8, a chamada não dispara onClientConsole e não é encaminhada ao servidor.

No servidor, a chamada passa primeiro por onPlayerCommand. Se não for cancelada, executa todos os manipuladores correspondentes e, ao fim, dispara onConsole, com o jogador informado como source nos dois eventos.

true se pelo menos um manipulador foi executado, false se nenhum resource tinha esse comando registrado. No servidor também devolve false quando jogador não é um elemento ou quando onPlayerCommand cancela a execução.

A busca cobre todos os resources em execução daquele lado, não só o seu. Chamar a função no cliente nunca alcança um comando do servidor, e chamá-la no servidor nunca alcança um do cliente; o encaminhamento automático é exclusivo das linhas digitadas no F8.

-- servidor
executeCommandHandler("curar", jogador)
executeCommandHandler("dar", jogador, "medkit 2")
-- cliente
executeCommandHandler("hud")
executeCommandHandler("dar", "medkit 2")