Scripts de modification (API) : exemples de base

Voici quelques exemples de scripts simples qui peuvent vous aider à démarrer. N'hésitez pas à les utiliser et à les modifier pour vos propres campagnes. Il existe également un forum dédié aux scripts Mod (API) où vous pouvez discuter des scripts Mod (API) et partager vos scripts avec la communauté.


Marqueurs d'état « ensanglanté » et « mort »

(Contribution de Ken Bauer)

Ce script ajoute automatiquement le marqueur rouge pour indiquer l'état « ensanglanté » de tous les jetons dont la santé est inférieure à la moitié, et le marqueur « mort » pour tous ceux dont la santé est inférieure ou égale à 0. On suppose que la santé est stockée dans la barre 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
      });
    }
});

 


L'obscurité s'installe...

Ce script réduit le rayon lumineux d'un jeton de 10 % à chaque fois que ce jeton se déplace. Idéal pour simuler des situations de stress intense, telles que des « lampes à court de pétrole ».

on("change:token", function(obj, prev) {
    //Effectuer cette action uniquement si nous avons réellement déplacé.
    if(obj.get("left") == prev["left"] && obj.get("top") == prev["top"]) return;
    obj.set({
        light_radius: Math.floor(obj.get("light_radius") * 0.90)
    });
});

Envoyer un message en tant que joueur ou personnage

(Contribution de Brian Shields)

Voici quelques lignes que vous pouvez utiliser dans un script d'événement chat:message pour vous assurer d'envoyer un message avec sendChat de manière précise, soit en tant que joueur, soit en tant que personnage, selon qui a déclenché l'événement.

on("chat:message", function(msg) {
    var message = '';
    // Déterminer le contenu de « message »
 
    var characters = findObjs({_type: 'character'});
    var speaking;
    characters.forEach(function(chr) { if(chr.get('name') == msg.who) speaking = chr; });
 
    if(speaking) sendChat('personnage|'+speaking.id, message);
    else sendChat('player|'+msg.playerid, message);
});
 
Cet article vous a-t-il été utile ?
Utilisateurs qui ont trouvé cela utile : 70 sur 84