Blutige und tote Statusmarkierungen
(Beigetragen von Ken Bauer)
Dieses Skript fügt automatisch die rote Markierung hinzu, um den „blutigen“ Zustand für alle Token darzustellen, die unter die Hälfte ihrer Gesundheit fallen, und die „tot“-Markierung für alle, die auf 0 oder weniger fallen. Es wird davon ausgegangen, dass die Gesundheit in Balken 1 gespeichert ist.
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
});
}
});
Die Dunkelheit naht ...
Dieses Skript verringert den Lichtradius eines Spielsteins jedes Mal um 10 %, wenn sich dieser Spielstein bewegt. Ideal zur Simulation von „Lampen, denen das Öl ausgeht“ oder ähnlichen Stresssituationen.
on("change:token", function(obj, prev) {
//Dies nur tun, wenn wir tatsächlich umgezogen sind.
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 als Spieler oder Charakter
(Beigetragen von Brian Shields)
Dies sind ein paar Zeilen, die Sie in einem chat:message-Ereignisskript verwenden können, um sicherzustellen, dass Sie eine Nachricht mit sendChat genau als Spieler oder Charakter senden, je nachdem, wer das Ereignis ausgelöst hat.
on("chat:message", function(msg) {
var message = '';
// Bestimmen Sie den Inhalt von „message“
var Zeichen = findObjs({_type: 'character'});
var speak;
Zeichen.forEach(function (chr) { if(chr.get('name') == msg.who) speak = chr; });
if(looking) sendChat('character|'+looking.id, message);
else sendChat ('player|'+msg.playerid, message);
});