Pular para conteúdo

Objeto Chat

Objeto Chat

Este objeto representa uma interface de batepapo no RRPG Firecast.

 

Herança

O Objeto Chat possui todas as características de um WrappedObject. Veja:

Características

Além das características herdadas, o Objeto Chat também possui as seguintes características:

 

Propriedades e atributos

Propriedade Tipo Descrição
room Objeto Mesa (Somente leitura) Contém a mesa a qual este chat pertence.  Importante: Pode ser nil se o chat não pertencer a uma mesa.  

 

Métodos

 

Método Descrição
chat:enviarMensagem(msg)  Envia uma mensagem comum para o chat, como se o usuário a tivesse digitado.  Parâmetros: msg - a mensagem que deseja enviar no chat. 
chat:enviarAcao(acao)  Enviar uma mensagem como uma ação para o chat.  Parâmetros: acao - a mensagem que deseja enviar no chat com formatação de ação. 
chat:enviarRisada()  Enviar uma típica risada do RRPG para o chat.
chat:enviarMensagemNPC(npc, msg) Envia uma mensagem para o chat como se um NPC estivesse falando.  Parâmetros: npc - cadeia de caracteres contendo o nome do NPC msg - a mensagem que deseja enviar no chat.  Observação: Apenas o mestre da mesa consegue enviar mensagens como NPC. 
chat:enviarNarracao(narracao) Enviar uma mensagem como narrador para o chat.  Parâmetros: narracao - a mensagem que deseja enviar no chat com formatação de narração.  Observação: Apenas o mestre da mesa consegue enviar narrações. 
chat:rolarDados(rolagem [, msg, calllback]) Envia uma rolagem de dados para o chat.  Parâmetros: rolagem - um Objeto Rolagem ou uma cadeia de caracteres contendo a rolagem de dados. (OPCIONAL) msg - Uma mensagem para acompanhar a rolagem de dados. (OPCIONAL) callback - Uma função que será invocada após a rolagem ser executada no chat. A função recebe no primeiro parâmetro um NOVO Objeto Rolagem contendo o resultado da rolagem.  Observações: Esta função tem comportamento assíncrono. Isto é, a função retorna imediatamente e o resto do código continua sendo executado enquanto a rolagem é feita em segundo plano. Depois de algum tempo, quando o RRPG já souber o resultado, é que a função "callback" será invocada. A função callback pode não ser invocada se a rolagem não for autorizada/realizada pelo RRPG. Exemplo de situações: A mesa está moderada e o usuário não possui o modo +voz para rolar dados, a conexão com o servidor caiu antes da rolagem ser realizada, etc..  Veja também o exemplo 2
chat:escrever(texto [, quebrarLinha, permitirSmileys])  Escreve/Imprime um texto no chat. O texto não é enviado para ninguém e só é exibido para o usuário que está usando o RRPG.  Parâmetros: texto - cadeia de caracteres contendo o texto que deve ser impresso no chat. (OPCIONAL) quebrarLinha - Booleano indicando se o RRPG deve adicionar uma quebra de linha no chat antes de escrever o texto. Se omitido, o valor padrão true é assumido. (OPCIONAL) permitirSmileys - Booleano indicando se o RRPG deve interpretar smileys neste texto. Se omitido, o valor padrão true é assumido. 

 

 

Exemplos

Exemplo 1 - Uma ficha enviando um Hello World para a sua mesa.

 

\<?xml version="1.0" encoding="UTF-8"?> \<form name="frmFichaTeste">                  \<button>                 \<event name="onClick">                          local minhaMesa = Firecast.getRoomOf(sheet);                         local chat = minhaMesa.chat;                                                chat:enviarMensagem("Olá mundo!!!!");                 \</event>         \</button> \</form>

 

 

Exemplo 2 - Uma ficha fazendo um teste (de resistência, por exemplo) e postando o resultado na mesa.

 

\<?xml version="1.0" encoding="UTF-8"?> \<form name="frmFTeste">         \<script>                 local function realizarTesteDeResistencia()                                     -- obter a mesa do personagem                         local mesaDoPersonagem = rrpg.getMesaDe(sheet);                                                 -- se o usuário não preencheu modificador, vamos usar o valor 0                         sheet.modificador = sheet.modificador or 0;                                                 mesaDoPersonagem.chat:rolarDados("1d20 + " .. sheet.modificador, "Teste de Resistência",                                 function (rolado)                                         -- A dificuldade do teste é 15                                                                         if rolado.resultado >= 15 then                                                 mesaDoPersonagem.chat:enviarMensagem("SUCESSO =) você tirou " .. rolado.resultado);                                         else                                                 mesaDoPersonagem.chat:enviarMensagem("FALHA =/ você tirou " .. rolado.resultado);                                         end;                                                                          end);                           end;                        \</script>          \<button onClick="realizarTesteDeResistencia()"/> \</form>

 


Created with the Personal Edition of HelpNDoc: Streamline your documentation process with HelpNDoc's WinHelp HLP to CHM conversion feature