ShowItemContainer: Unterschied zwischen den Versionen

Aus Sternenschweif Wiki
Wechseln zu: Navigation, Suche
 
(8 dazwischenliegende Versionen von einem Benutzer werden nicht angezeigt)
Zeile 3: Zeile 3:
  
 
<syntaxhighlight lang="javascript">
 
<syntaxhighlight lang="javascript">
showItemContainer({"caption":"Überschrift","itemset":"general_item_set","desc":"Beschreibung","limit":7,"callback":"afterItemcontainerClose()","linked":false,"who":3});
+
showItemContainer(
 +
{"caption":"Überschrift",
 +
"itemset":"general_item_set",
 +
"desc":"Beschreibung",
 +
"limit":7,
 +
"callback":"afterItemcontainerClose",
 +
"linked":false,
 +
"who":3,
 +
"items":itemobjekt,
 +
"list":["arrow","arrow","rapier"],
 +
"doublelist":["arrow",15,"rapier",3],
 +
"dontLeavePersonal":true,
 +
"dontLeaveQuest":true,
 +
"dontLeave":["rapier"]});
 +
 
 +
// zB
 +
showItemContainer( {"caption":"Test", "doublelist":["arrow",15,"rapier",3]} );
 
</syntaxhighlight>
 
</syntaxhighlight>
  
 
'''caption''': Überschrift für das Fenster
 
'''caption''': Überschrift für das Fenster
  
'''itemset''': Der Name des [[GetGeneralState_/_setGeneralState|Generalstate]], in dem das Itemset gespeichert werden soll
+
'''itemset''': Der Name des [[GetGeneralState_/_setGeneralState|Generalstate]], in dem das Itemset gespeichert werden soll, in Dungeons auch das entsprechende Dungeon-Itemset
  
 
'''desc''': Beschreibungstext für den Fensterinhalt
 
'''desc''': Beschreibungstext für den Fensterinhalt
Zeile 23: Zeile 39:
  
 
'''limitweight''': Welches Gesamtgewicht (in Unzen) im Container erlaubt sein soll. Standard: 0 (unbegrenzt)
 
'''limitweight''': Welches Gesamtgewicht (in Unzen) im Container erlaubt sein soll. Standard: 0 (unbegrenzt)
 +
 +
'''items''': Item-Listenobjekt, das einzelne Item-Objekte enthält und angezeigt werden soll. Achtung, keine automatische Speicherung in einem Itemset!
 +
 +
'''list''': Zeichenketten-Listenobjekt, enthält eine Liste von ItemIDs, die im Container liegen sollen
 +
 +
'''doublelist''': Item-Array-Doppellistenobjekt, enthält jeweils im Wechsel eine ItemID und die Anzahl an Items, die von dieser ItemID vorhanden sind
 +
 +
'''dontLeavePersonal''': Items, die "personal" markiert sind, können nicht zurückgelassen werden, es erscheint eine Meldung und das Schließen des Fensters wird verhindert (standard: true)
 +
 +
'''dontLeaveQuest''': Items, die "quest" markiert sind, können nicht zurückgelassen werden, es erscheint eine Meldung und das Schließen des Fensters wird verhindert  (standard: true)
 +
 +
'''dontLeave''': Zeichenketten-Listenobjekt, enthält eine Liste von ItemIDs, die nicht zurückgelassen werden können, es erscheint eine Meldung und das Schließen des Fensters wird verhindert.
 +
 +
'''autoclose''': Ob das ContainerFenster automatisch geschlossen werden soll, wenn keine Items mehr darin liegen (standard: true)
 +
 +
'''justtake''': Ob Items nur aus dem Container genommen, nicht jedoch zurückgelegt werden können, zB bei einem Händler (standard: false)
 +
 +
'''forceitemorder''': Wenn items als "list" oder "doublelist" übergeben werden und dieser Paramter "true" gesetzt wird, werden die Items nicht zusammengefasst, sondern 1:1 entsprechend der Angaben der Liste abgelegt (standard: false)
 +
 +
'''singleitemmode''': Schließt den Dialog automatisch, wenn ein einzelnes Item entfernt wurde und zeigt den "alles nehmen"-Button nicht an (standard: false)
 +
 +
''Achtung bei den Einträgen für die Items'': Der Inhalt des Containers wird in folgender Reihenfolge geprüft:
 +
# itemset
 +
# wenn nicht vorhanden: items
 +
# wenn nicht vorhanden: list
 +
# wenn nicht vorhanden: doublelist
  
 
Mögliche Werte für den "Filter"-Eintrag:
 
Mögliche Werte für den "Filter"-Eintrag:
Zeile 46: Zeile 88:
 
showItemContainer({..."desc":"Beschreibung","filter":["Weapon","Armor","Equippable"],...});
 
showItemContainer({..."desc":"Beschreibung","filter":["Weapon","Armor","Equippable"],...});
 
</syntaxhighlight>
 
</syntaxhighlight>
 +
=Wichtig=
 +
Die Anzahl Zeilen im Container ist auf 10 beschränkt, d.h. im Normalfall können maximal 70 Slots dargestellt werden!

Aktuelle Version vom 20. Juni 2017, 14:52 Uhr

Anzeige und Verarbeitung eines Item-Containers.

showItemContainer(
{"caption":"Überschrift",
 "itemset":"general_item_set",
 "desc":"Beschreibung",
 "limit":7,
 "callback":"afterItemcontainerClose",
 "linked":false,
 "who":3,
 "items":itemobjekt,
 "list":["arrow","arrow","rapier"],
 "doublelist":["arrow",15,"rapier",3],
 "dontLeavePersonal":true,
 "dontLeaveQuest":true,
 "dontLeave":["rapier"]});
 
// zB
showItemContainer( {"caption":"Test", "doublelist":["arrow",15,"rapier",3]} );

caption: Überschrift für das Fenster

itemset: Der Name des Generalstate, in dem das Itemset gespeichert werden soll, in Dungeons auch das entsprechende Dungeon-Itemset

desc: Beschreibungstext für den Fensterinhalt

limit: Anzahl der Slots im Container insgesamt

callback: Rückruffunktion, die nach dem Containeritem aufgerufen wird

linked: Ob das Fenster an das Charakterfenster gebunden werden soll, d.h. das Charakterfenster schließt sich automatisch, wenn das Containerfenster geschlossen wird. Umgekehrt ist das ohnehin der Fall (standard: false)

who: Welcher Charakter initial geöffnet werden soll, wenn das Containerfenster aufgeht (standard: 0)

filter: Welche Itemtypen im Container erlaubt sein sollen. Mögliche Werte siehe unten. Standard: alle

limitweight: Welches Gesamtgewicht (in Unzen) im Container erlaubt sein soll. Standard: 0 (unbegrenzt)

items: Item-Listenobjekt, das einzelne Item-Objekte enthält und angezeigt werden soll. Achtung, keine automatische Speicherung in einem Itemset!

list: Zeichenketten-Listenobjekt, enthält eine Liste von ItemIDs, die im Container liegen sollen

doublelist: Item-Array-Doppellistenobjekt, enthält jeweils im Wechsel eine ItemID und die Anzahl an Items, die von dieser ItemID vorhanden sind

dontLeavePersonal: Items, die "personal" markiert sind, können nicht zurückgelassen werden, es erscheint eine Meldung und das Schließen des Fensters wird verhindert (standard: true)

dontLeaveQuest: Items, die "quest" markiert sind, können nicht zurückgelassen werden, es erscheint eine Meldung und das Schließen des Fensters wird verhindert (standard: true)

dontLeave: Zeichenketten-Listenobjekt, enthält eine Liste von ItemIDs, die nicht zurückgelassen werden können, es erscheint eine Meldung und das Schließen des Fensters wird verhindert.

autoclose: Ob das ContainerFenster automatisch geschlossen werden soll, wenn keine Items mehr darin liegen (standard: true)

justtake: Ob Items nur aus dem Container genommen, nicht jedoch zurückgelegt werden können, zB bei einem Händler (standard: false)

forceitemorder: Wenn items als "list" oder "doublelist" übergeben werden und dieser Paramter "true" gesetzt wird, werden die Items nicht zusammengefasst, sondern 1:1 entsprechend der Angaben der Liste abgelegt (standard: false)

singleitemmode: Schließt den Dialog automatisch, wenn ein einzelnes Item entfernt wurde und zeigt den "alles nehmen"-Button nicht an (standard: false)

Achtung bei den Einträgen für die Items: Der Inhalt des Containers wird in folgender Reihenfolge geprüft:

  1. itemset
  2. wenn nicht vorhanden: items
  3. wenn nicht vorhanden: list
  4. wenn nicht vorhanden: doublelist

Mögliche Werte für den "Filter"-Eintrag:

General
Weapon
Armor
Equippable
Herb
Potion
Poison
Document
Tool
Ammo
Ingredient
Jewelry

Einzelne Einträge können direkt hingeschrieben werden, wenn mehrere angegeben werden sollen, dann in Form eines Feldes:

showItemContainer({..."desc":"Beschreibung","filter":"General",...});
 
showItemContainer({..."desc":"Beschreibung","filter":["Weapon","Armor","Equippable"],...});

Wichtig

Die Anzahl Zeilen im Container ist auf 10 beschränkt, d.h. im Normalfall können maximal 70 Slots dargestellt werden!