Fazer uma ficha enviar rolagens para a mesa

.html ››
Parent Previous Next

Fazer uma ficha enviar rolagens para a mesa



  1. Adicione uma tag button ao Lua Form
  2. Manipule o evento "onClick" da tag button
  3. Utilize o código abaixo:


       <button>
                <event name="onClick">
                        local rolagem = rrpg.interpretarRolagem(sheet.ataqueDoPersonagem); 

                        if not rolagem.possuiAlgumDado then
                                -- se o usuario não tiver preenchido qual dado rolar,
                                -- vamos adicionar um 1d20 + na "fórmula da rolagem"
                                rolagem = rrpg.interpretarRolagem("1d20"):concatenar(rolagem);
                        end; 

                        local mesaDoPersonagem = rrpg.getMesaDe(sheet);

                        if mesaDoPersonagem ~= nil then
                               mesaDoPersonagem.chat:rolarDados(rolagem, "Ataque do personagem");
                        end;
                </event>
        </button>



  1. Altere o código conforme a necessidade


O que o código acima faz?


  1. Utiliza a função interpretarRolagem da biblioteca "rrpg" para interpretar o campo "ataqueDoPersonagem" como uma rolagem de dados.
  2. Verifica se a rolagem utiliza algum dado (d4, d6, d8, etc..)... Se não possuir dado na rolagem (Exemplos: "+5", ou "-2"), faz:
    1. Interpreta uma nova rolagem "1d20" e a concatena/junta ao inicio (Para ficar, por exemplo, "1d20 + 5" ou "1d20 - 2").
  3. Usando a ficha atual (sheet), tenta localizar o objeto mesa à qual a ficha pertence. É usado a função getMesaDe da biblioteca rrpg para isso.
  4. Se conseguiu localizar o objeto mesa à qual a ficha atual pertence:
    1. invoca o método rolarDados do chat da mesa, passando a rolagem que queremos e um texto adicional "Ataque do personagem".


Mudanças que você pode querer fazer no código acima

local personagem = rrpg.getPersonagemDe(sheet);                                

if (personagem ~= nil) then
       local mesa = personagem.mesa;

       if ((personagem.dono == mesa.meuJogador) or (mesa.meuJogador.isMestre)) then                -- permitir enviar a rolagem
       end;
end;                                                        



Veja também:

Created with the Personal Edition of HelpNDoc: Leave the tedious WinHelp HLP to CHM conversion process behind with HelpNDoc