Scripts Mod (API): Exemplos básicos

Aqui estão alguns exemplos de scripts simples que podem ajudá-lo a começar. Sinta-se à vontade para utilizá-los e modificá-los para uso em suas próprias campanhas. Existe também um Fórum de Scripts Mod (API) onde pode discutir sobre scripts Mod (API) e partilhar os seus scripts com a comunidade.


Marcadores de estado ensanguentado e morto

(Contribuição de Ken Bauer)

Este script adiciona automaticamente o marcador vermelho para representar o estado «ensanguentado» para quaisquer fichas que caiam abaixo de metade da sua saúde, e o marcador «morto» para quaisquer fichas que caiam para 0 ou menos. Presume-se que a saúde está armazenada na Barra 1.

on("change:graphic", function(obj) {
    if(obj.get("bar1_max") === "") return;
   
    if(obj.get("bar1_value") <= obj.get("bar1_max") / 2) {
        obj.set({
              status_redmarker: true
        });
    }
    else{
        obj.set({
            status_redmarker: false
        })
    }

    if(obj.get("bar1_value") <= 0) {
      obj.set({
         status_dead: true
      });
    }
    else {
      obj.set({
        status_dead: false
      });
    }
});

 


A escuridão está a aproximar-se...

Este script reduz o raio de luz de um token em 10% cada vez que o token se move. Ideal para simular situações de "lâmpadas a ficar sem óleo" ou situações semelhantes de elevado stress.

on("change:token", função(obj, prev) {
    //Realize esta ação apenas se tivermos realmente mudado.
    if(obj.get("left") == prev["left"] && obj.get("top") == prev["top"]) return;
    obj.set({
        light_radius: Math.floor(obj.get("light_radius") * 0.90)
    });
});

enviarChat como um jogador ou personagem

(Contribuição de Brian Shields)

Estas são algumas linhas que podem ser utilizadas num script de evento chat:message para garantir que está a enviar uma mensagem com sendChat corretamente, seja como Jogador ou Personagem, dependendo de quem acionou o evento.

on("chat:message", function(msg) {
    var message = '';
    // Determine o conteúdo de `message'
 
    var characters = findObjs({_type: 'character'});
    var speaking;
    characters.forEach(function(chr) { if(chr.get('name') == msg.who) speaking = chr; });
 
    if(speaking) sendChat('personagem|'+speaking.id, mensagem);
    else sendChat('jogador|'+msg.playerid, mensagem);
});
 
Este artigo foi útil?
70 de 84 acharam isto útil