GetGeneralState / setGeneralState
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);