API: Exemples de base

Voici quelques exemples de scripts simples qui peuvent vous aider à commencer. N'hésitez pas à les prendre et à les modifier pour les utiliser dans vos propres parties. Il y a aussi un forum de scripts d'API àoù vous pouvez discuter de la programmation d'API et partager vos scripts avec la communauté..


Marqueurs d'état ensanglantés et morts

(Contribué par Ken Bauer)

Ce script ajoute automatiquement le marqueur rouge pour représenter l'état "ensanglanté" à tous les jetons dont la santé tombe en dessous de la moitié, et le marqueur "mort" pour tous ceux qui tombent à 0 ou moins. Il est supposé que la santé est stockée dans la barre 1.

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

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

 


Le noir se rapproche...

Ce script réduit le rayon de lumière d'un jeton de 10% à chaque fois que le jeton se déplace. Idéal pour simuler des "lampes à court de pétrole" ou des situations similaires à haute tension.

on("change:token", function(obj, prev) {
    //Ne le faites que si nous avons réellement bougé.
    if (obj.get("left") == prev["left"] && obj.get("top") == prev["top"]) return;
    obj.set({
        light_radius: Math.floor(obj.get("light_radius") * 0.90)
    });
});

sendChat en tant que Joueur ou Personnage

(Contribué par 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 correctement en tant qu'un Joueur ou un Personnage, selon celui qui a déclenché l'événement.

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