Pular para conteúdo

Fazer uma ficha enviar rolagens para a mesa

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:
  3. Interpreta uma nova rolagem "1d20" e a concatena/junta ao inicio (Para ficar, por exemplo, "1d20 + 5" ou "1d20 - 2").
  4. Usando a ficha atual (sheet), tenta localizar o objeto mesa à qual a ficha pertence. É usado a função getMesaDe da biblioteca rrpg para isso.
  5. Se conseguiu localizar o objeto mesa à qual a ficha atual pertence:
  6. 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

  •  
  • O código acima usa o texto da rolagem contido no campo chamado "ataqueDoPersonagem". Talvez a rolagem de sua ficha esteja em outro campo.
  • Quando a rolagem não usar nenhum dado (d4, d6, d8, etc..) o código adiciona "1d20" ao inicio dela. Talvez o sistema da sua ficha não utiliza 1d20 nesta rolagem!
  • Que tal alterar o texto "Ataque do personagem"?
  • Talvez você queira que somente o mestre e o jogador dono da ficha possam rolar dados desta ficha.
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