GetGeneralState / setGeneralState: Unterschied zwischen den Versionen

Aus Sternenschweif Wiki
Wechseln zu: Navigation, Suche
 
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. ''dlist''-Format aus [[showItemsetList]] verwendet werden:
+
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

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);