Blutige und tote Statusmarkierungen
(Beigetragen von Ken Bauer)
Dieses Skript fügt automatisch den roten Marker hinzu, um den "blutigen" Zustand für alle Spielmarker darzustellen, die unter die Hälfte ihrer Lebenspunkte fallen, und den "toten" Marker für alle, die auf 0 oder weniger fallen. Es wird davon ausgegangen, dass die Gesundheit in der 1. Leiste 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 Spielmarker jedes Mal um 10 %, wenn sich dieser Spielmarker 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 = '';
// Bestimme den Inhalt von „message“
var Zeichen = findObjs({_type: 'character'});
var speak;
characters.forEach(function (chr) { if(chr.get('name') == msg.who) speak = chr; });
if(looking) sendChat('character|'+looking.id, message);
else sendChat ('player|'+msg.playerid, message);
});