GetGeneralState / setGeneralState: Unterschied zwischen den Versionen
(Die Seite wurde neu angelegt: „Category:NLTScript Referenz GeneralStates sind "komplexere Variablen", die in der Party abgelegt werden können. Anders als "special" States sind General S…“) |
|||
(2 dazwischenliegende Versionen von einem Benutzer werden nicht angezeigt) | |||
Zeile 33: | Zeile 33: | ||
setGeneralState("NAME_DES_STATES",mystate); | setGeneralState("NAME_DES_STATES",mystate); | ||
</syntaxhighlight> | </syntaxhighlight> | ||
− | Alternativ dazu, eine Liste vollständiger Itemobjekte zu übergeben, kann auch das ''list'' bzw. '' | + | Alternativ dazu, eine Liste vollständiger Itemobjekte zu übergeben, kann auch das ''list'' bzw. ''doublelist''-Format aus [[showItemsetList]] verwendet werden: |
<syntaxhighlight lang="javascript"> | <syntaxhighlight lang="javascript"> | ||
var newstate = {"val":27,"list":[14,14,14,15,16,17]}; // = 3x Itemid 14, je 1x Itemid 15, 16 und 17 | var newstate = {"val":27,"list":[14,14,14,15,16,17]}; // = 3x Itemid 14, je 1x Itemid 15, 16 und 17 | ||
− | var newstate2 = {"sval":"Anderer GeneralState"," | + | var newstate2 = {"sval":"Anderer GeneralState","doublelist":[14,3,28,5]}; // = 3x Itemid 14, 5x Itemid 28 |
setGeneralState("NEUER_STATE_1",newstate); | setGeneralState("NEUER_STATE_1",newstate); | ||
− | setGeneralState(" | + | setGeneralState("NEUER_STATE_2",newstate2); |
</syntaxhighlight> | </syntaxhighlight> |
Aktuelle Version vom 14. März 2015, 21:31 Uhr
GeneralStates sind "komplexere Variablen", die in der Party abgelegt werden können. Anders als "special" States sind General States nicht ortsgebunden.
var mystate = getGeneralState("NAME_DES_STATES");
In Object sind dann folgende Werte enthalten:
mystate = {"val": 0 "sval": "" "fval": 0 "time": 0 "items": [array]}
val ist ein Ganzzahliger Zahlenwert
sval ist eine Zeichenkette
fval ist ein Gleitkomma Zahlenwert
time ist ein Datums- und Uhrzeitwert, im üblichen "Tage seit 1. Praios 1008BF"
items ist ein Itemset, das eine beliebige Anzahl an Items speichern kann
Diese Werte können beliebig manipuliert werden, zum Beispiel:
mystate.val = 27; mystate["sval"] = "Heute ist ein schöner Tag"; // Der Zugriff mittels . oder [""] ist identisch mystate.fval = 25.5; mystate.time = 365.5; // = 1. Praios 1009BF, 12 Uhr
Items enthalten pro Eintrag im Array ein vollständiges Itemobjekt, wie es zB aus getEquipped zurückgeliefert wird. Um den State zu aktualisieren, wird das Objekt selben Formats, egal ob direkt aus einem vorherigen getGeneralState oder im Code erzeugt, verwendet, also:
setGeneralState("NAME_DES_STATES",mystate);
Alternativ dazu, eine Liste vollständiger Itemobjekte zu übergeben, kann auch das list bzw. doublelist-Format aus showItemsetList verwendet werden:
var newstate = {"val":27,"list":[14,14,14,15,16,17]}; // = 3x Itemid 14, je 1x Itemid 15, 16 und 17 var newstate2 = {"sval":"Anderer GeneralState","doublelist":[14,3,28,5]}; // = 3x Itemid 14, 5x Itemid 28 setGeneralState("NEUER_STATE_1",newstate); setGeneralState("NEUER_STATE_2",newstate2);