Fazer uma ficha enviar rolagens para a mesa
- Adicione uma tag button ao Lua Form
- Manipule o evento "onClick" da tag button
- 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>
|
- Altere o código conforme a necessidade
O que o código acima faz?
- Utiliza a função interpretarRolagem da biblioteca "rrpg" para interpretar o campo "ataqueDoPersonagem" como uma rolagem de dados.
- Verifica se a rolagem utiliza algum dado (d4, d6, d8, etc..)... Se não possuir dado na rolagem (Exemplos: "+5", ou "-2"), faz:
- Interpreta uma nova rolagem "1d20" e a concatena/junta ao inicio (Para ficar, por exemplo, "1d20 + 5" ou "1d20 - 2").
- Usando a ficha atual (sheet), tenta localizar o objeto mesa à qual a ficha pertence. É usado a função getMesaDe da biblioteca rrpg para isso.
- Se conseguiu localizar o objeto mesa à qual a ficha atual pertence:
- 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