Mensagens-Eventos a respeito de Chat no RRPG
Enviada quando uma mensagem de chat for recebida ou enviada.
Parâmetros da Mensagem:
- chat - Objeto Chat onde a mensagem foi recebida ou enviada.
- mine - Booleano, onde true significa que a mensagem foi enviada pelo usuário atual do rrpg e false significa uma mensagem enviada por outro usuário.
- type - Contém o tipo da mensagem e pode ser um dos seguintes valores:
- "standard" - Uma mensagem de texto normal
- "asNarrator" - Uma mensagem de texto como Narrador.
- "asNPC" - Uma mensagem de texto como NPC
- "action" - Uma mensagem de texto ação (/me)
- "laugh" - Uma risada do RRPG (/rir)
- "dice" - Uma rolagem de dados
- content - Cadeia de caracteres contendo o texto principal da mensagem. Se tipo for "dice", contém a mensagem adicional que acompanha a rolagem.
- (OPCIONAL) npc - Se o tipo da mensagem for "asNPC", contém o nome do NPC da mensagem.
- (OPCIONAL) roll - Se o tipo da mensagem for "dice", contém o Objeto Rolagem com detalhes da rolagem feita.
- (OPCIONAL) room - Se a mensagem foi enviada em um chat ligado a uma mesa, contém o Objeto Mesa da mesma.
- (OPCIONAL) player - Se a mensagem foi enviada em um chat ligado a uma mesa, contém o Objeto Jogador de quem enviou a mensagem.
- (OPCIONAL) pvtPlayer - Se a mensagem foi enviada em uma janela PVT, contém o Objeto Jogador do PVT aberto.
Observações:
- Se o usuário do Firecast for um usuário Silver, esta mensagem-evento não é enviada. Esta mensagem-evento só é enviada se o usuário for um assinante do Firecast.
- Prefira usar a mensagem evento ChatMessageEx ao invés desta.
The "ChatMessageEx" event is triggered by Firecast when a message is either sent or received in a chat.
Fields:
- chat - Chat Object indicating the chat where the message was sent or received.
- mine - Boolean; Indicates whether the message was sent by the current user.
- logRec - LogRec table containing all details about the message.
Remarks:
- This event is dispatched exclusively for Premium users.
- Not all messages dispatched by this event are visible to the user, such as when someone is typing.
Mensagem enviada quando o usuário digitar um comando no chat que não é conhecido pelo RRPG, dando a chance ao plug-in de tratá-lo.
Por, exemplo, quando o usuário digitar no chat: "/atacar orbe de fogo", onde "atacar" é o comando e "orbe de fogo" é o parâmetro.
Parâmetros da Mensagem:
- command - Cadeia de caracteres contendo o nome do comando que o usuário digitou.
- parameter - Cadeia de caracteres contendo o parâmetro do comando.
- chat - Objeto Chat onde o comando foi digitado.
- (OPCIONAL) room - Se o comando for digitado em um chat ligado a uma mesa, contém o Objeto Mesa da mesma, senão contém nil.
- (OPCIONAL) player - Se o comando for digitado em uma janela PVT, contém o Objeto Jogador com quem o usuário está conversando, senão contém nil.
Retorno:
- "response = {handled = true}" para sinalizar ao RRPG que o comando foi devidamente tratado e que não precisa mais continuar sua busca por alguém que trate este comando.
Observações:
- Se o usuário do RRPG for um usuário Silver, esta mensagem não é enviada. Esta mensagem-evento só é enviada se o usuário for um assinante do RRPG.
- Recomendamos que trate também a mensagem evento "ListChatCommands"
Exemplo: Tratando o comando /versao
rrpg.messaging.listen("HandleChatCommand", function (message) if message.command == "versao" then -- Tratar o comando /versão message.chat:enviarMensagem("A Minha versão é 1.0"); message.chat:escrever("Este texto é só para o usuário"); -- Sinalizar ao Firecast que o comando foi tratado com sucesso message.response = {handled = true}; end; end);
|
Mensagem enviada quando o usuário digitar "/help" ou "/?" no chat, permitindo o plug-in informar ao usuário a existência de comandos suportados.
Parâmetros:
- chat - Objeto Chat onde o help será exibido.
- (OPCIONAL) room - Se o help for ser exibido em um chat ligado a uma mesa, contém o Objeto Mesa da mesma, senão contém nil.
- (OPCIONAL) player - Se o help for ser exibido em uma janela PVT, contém o Objeto Jogador com quem o usuário está conversando, senão contém nil.
Retorno:
- response = Um arranjo de tabelas, onde cada tabela representa um comando e possui as seguintes propriedades:
- command - Uma cadeia de caracteres contendo o comando , exemplo: "/meuComando"
- description - Uma cadeia de caracteres contendo a descrição do comando, exemplo: "Faz isso, isso e aquilo"
Observações:
- Este evento ocorre apenas para informar ao usuário quais comandos o plug-in possui, tornando necessário também tratara mensagem-evento "HandleChatCommand" se quiser fazer o comando realmente funcionar.
- Se o usuário do RRPG for um usuário Silver, esta mensagem não é enviada. Esta mensagem-evento só é enviada se o usuário for um assinante do RRPG.
Exemplo 1: Informando, ao RRPG, a existência do comando /versao
rrpg.messaging.listen("ListChatCommands", function(message) message.response = {{command="/versao", description="Mostra a versão do plug-in"}}; end);
|
Exemplo 2: Informando, ao RRPG, vários comandos:
rrpg.messaging.listen("ListChatCommands", function(message) message.response = {{command="/comando1", description="Este comando faz uma coisa"}, {command="/comando2", description="Este comando faz duas coisas"}, {command="/comando3", description="Este comando faz tres coisas"}}; end);
|
Evento enviado quando o usuário confirma o envio de um comando/mensagem para um chat, dando oportunidade para o plug-in alterar ou ajustar o texto de entrada antes que seja processado pelo RRPG.
Parâmetros da Mensagem:
- chat - Objeto Chat onde a mensagem será enviada.
- text - Cadeia de caracteres contendo o texto de entrada que o usuário digitou.
- isCommand - True se o usuário informou um texto para um comando do RRPG (aqueles que começam com o caracter "/").
- (OPCIONAL) room - Se a mensagem estiver prestes a ser enviada a um chat ligado a uma mesa, contém o Objeto Mesa da mesma.
- (OPCIONAL) pvtPlayer - Se a mensagem estiver prestes a ser enviada em uma janela PVT, contém o Objeto Jogador do PVT aberto.
Retorno:
- Se o plug-in quiser substituir o texto por outro, o programador deverá atribuir "message.response = {newText = <<novo texto que será utilizado>>}" para sinalizar ao RRPG que o texto de entrada deve ser substítuido pelo conteudo de newText.
Alerta:
- Tenha consciência do parametro "message.isCommand" desta mensagem! Se o usuário digitar um comando (por exemplo "/nick NovoNick"), nem toda substituíção de texto deve ser feita, ou deve ser feita de forma consciente para não atrapalhar a experiência do usuário com o programa!
Observações:
- O RRPG apenas envia esta mensagem-evento se uma das duas seguintes condições forem satisfeitas:
- O usuário logado é um assinante pago do RRPG.
- O usuário logado não é assinante pago do RRPG, a mensagem está prestes a ser enviada em uma mesa onde o criador é Gold Plus.
Exemplo: Um plug-in que substitui o texto "CA" por "Categoria de Armadura" nos textos digitados pelo usuário.
RRPG.listen('HandleChatTextInput',
function(message)
message.response =
{newText = string.gsub(message.text, "CA", "Categoria de Armadura") };
end);
|
Created with the Personal Edition of HelpNDoc: Experience the Power and Simplicity of HelpNDoc's User Interface