Function processtext: Unterschied zwischen den Versionen
(Die Seite wurde neu angelegt: „Die Funktion "processtext" wird dafür verwendet, Platzhalter in Textkeys zu ersetzen. Beispiel: <syntaxhighlight lang="javascript"> function processtext(whi…“) |
|||
Zeile 20: | Zeile 20: | ||
In dieser Funktion wird zunächst ein zufälliger Schaden (Variable "dmg") ermittelt und anschließend per Funktion dealdamage "ausgeteilt". | In dieser Funktion wird zunächst ein zufälliger Schaden (Variable "dmg") ermittelt und anschließend per Funktion dealdamage "ausgeteilt". | ||
− | + | Die Funktion processtext durchläuft nacheinander die Textkeys der entsprechenden Dialog-ID, d.h. den "request" und die "responses". Der "request" entspricht "which" = 0, die responses "which = 1"usw. fortlaufend. | |
+ | |||
+ | Der Eintrag | ||
+ | |||
+ | <syntaxhighlight lang="javascript"> | ||
+ | |||
+ | if( which != 0 ) return text; | ||
+ | |||
+ | </syntaxhighlight> | ||
+ | |||
+ | bewirkt also, dass alle "responses" unverändert wiedergegeben werden, da "which" ungleich 0 ist bei den "responses". Somit bezieht sich der folgende Teil der Funktion nur noch auf den "request": | ||
+ | |||
+ | |||
<syntaxhighlight lang="javascript"> | <syntaxhighlight lang="javascript"> | ||
Zeile 26: | Zeile 38: | ||
text = text.replace( "{1}", dmg); | text = text.replace( "{1}", dmg); | ||
</syntaxhighlight> | </syntaxhighlight> | ||
+ | |||
+ | Für den "request" wird also der Platzhalter {0} durch den Namen des Chars, der in der Variable "currentid" definiert wurde, sowie der Platzhalter {1} durch den Schaden (Variable "dmg") ersetzt. |
Version vom 13. März 2014, 09:30 Uhr
Die Funktion "processtext" wird dafür verwendet, Platzhalter in Textkeys zu ersetzen.
Beispiel:
function processtext(which,text) { if( which != 0 ) return text; var dmg = rollRandom(3,9); dealDamage({"who":currentid,"amount":dmg,"mandatory":true,"type":"ignorers","reason":"drop"}); text = text.replace( "{0}", getName(currentid) ); text = text.replace( "{1}", dmg); return text; }
<text key="KK_neg">{0} kommt zu Fall und verliert durch den heftigen Aufprall {1} LE.</text>
In dieser Funktion wird zunächst ein zufälliger Schaden (Variable "dmg") ermittelt und anschließend per Funktion dealdamage "ausgeteilt".
Die Funktion processtext durchläuft nacheinander die Textkeys der entsprechenden Dialog-ID, d.h. den "request" und die "responses". Der "request" entspricht "which" = 0, die responses "which = 1"usw. fortlaufend.
Der Eintrag
if( which != 0 ) return text;
bewirkt also, dass alle "responses" unverändert wiedergegeben werden, da "which" ungleich 0 ist bei den "responses". Somit bezieht sich der folgende Teil der Funktion nur noch auf den "request":
text = text.replace( "{0}", getName(currentid) ); text = text.replace( "{1}", dmg);
Für den "request" wird also der Platzhalter {0} durch den Namen des Chars, der in der Variable "currentid" definiert wurde, sowie der Platzhalter {1} durch den Schaden (Variable "dmg") ersetzt.