SetMenuItem: Unterschied zwischen den Versionen

Aus Sternenschweif Wiki
Wechseln zu: Navigation, Suche
(Die Seite wurde neu angelegt: „Category:NLTScript Referenz <syntaxhighlight lang="javascript"> setMenuItem( itemdata ); </syntaxhighlight> Bei aktivierter InsideScene oder kurz vor dem …“)
 
(Beispiele)
 
(Eine dazwischenliegende Version von einem Benutzer wird nicht angezeigt)
Zeile 8: Zeile 8:
 
==Parameter-Objekt==
 
==Parameter-Objekt==
  
'''remove''': Entfernt den angegebenen Menüpunkt aus dem Menü. ''Alle anderen Daten werden ignoriert, wenn remove angegeben wurde''
+
* '''remove''': Entfernt den angegebenen Menüpunkt aus dem Menü. ''Alle anderen Daten werden ignoriert, wenn remove angegeben wurde''
'''replace''': Ersetzt den angegebenen Menüpunkt mit folgenden Daten. Ist replace nicht gesetzt, wird der Menüpunkt am Ende hinzugefügt
+
* '''replace''': Ersetzt den angegebenen Menüpunkt mit folgenden Daten. Ist replace nicht gesetzt, wird der Menüpunkt am Ende hinzugefügt
'''dialog''': Der aufzurufende Dialog bei Klick des Icon. ''Verpflichtend ohne remove und action''
+
* '''dialog''': Der aufzurufende Dialog bei Klick des Icon. ''Verpflichtend ohne remove und action''
'''action''': Die aufzurufende Standardaktion. ''Verpflichtend ohne remove und dialog''
+
* '''action''': Die aufzurufende Standardaktion. ''Verpflichtend ohne remove und dialog''
'''icon''': Das zu verwendende Icon. ''Verpflichtend ohne remove''
+
* '''icon''': Das zu verwendende Icon. ''Verpflichtend ohne remove''
'''caption''': Der Textschlüssel, der beim Icon erscheint. ''Verpflichtend ohne remove''
+
* '''caption''': Der Textschlüssel, der beim Icon erscheint. ''Verpflichtend ohne remove''
  
 
==Modding-Hinweis==
 
==Modding-Hinweis==
Zeile 25: Zeile 25:
  
 
/* Ersetze den Menüpunkt "talk" mit dem Aufruf des Dialogs "kvir_elsurion" mit Icon "talk" und Beschriftung "text_talk" */
 
/* Ersetze den Menüpunkt "talk" mit dem Aufruf des Dialogs "kvir_elsurion" mit Icon "talk" und Beschriftung "text_talk" */
setMenuItem( { "replace": "talk",
+
setMenuItem({  
"dialog": "kvir_elsurion",
+
  "replace": "talk",
"icon": "talk",
+
  "dialog": "kvir_elsurion",
"caption": "text_talk" } );
+
  "icon": "talk",
 +
  "caption": "text_talk"  
 +
});
  
 
/* Füge den Aufruf zum Dialog "neweatdialog" hinzu, mit dem icon "eat1" und dem Text "text_eatsomething" */
 
/* Füge den Aufruf zum Dialog "neweatdialog" hinzu, mit dem icon "eat1" und dem Text "text_eatsomething" */
setMenuItem( { "dialog": "neweatdialog",
+
setMenuItem({
"icon": "eat1",
+
  "dialog": "neweatdialog",
"caption": "text_eatsomething" } );
+
  "icon": "eat1",
 +
  "caption": "text_eatsomething"  
 +
});
  
 
/* Vertausche die Reihenfolge von talk und eat im Herbergen-Menü */
 
/* Vertausche die Reihenfolge von talk und eat im Herbergen-Menü */
setMenuItem( { "replace": "talk",
+
setMenuItem({
"action": "eatnew",
+
  "replace": "talk",
"icon": "eat1",
+
  "action": "eatnew",
"caption": "text_eat" } );
+
  "icon": "eat1",
setMenuItem( { "replace": "eat",
+
  "caption": "text_eat"
"action": "talk",
+
});
"icon": "talk",
+
setMenuItem({
"caption": "text_talkhostel" } );
+
  "replace": "eat",
setMenuItem( { "replace": "eatnew",
+
  "action": "talk",
"action": "eat",
+
  "icon": "talk",
"icon": "eat1",
+
  "caption": "text_talkhostel"
"caption": "text_eat" } );
+
});
 +
setMenuItem({
 +
  "replace": "eatnew",
 +
  "action": "eat",
 +
  "icon": "eat1",
 +
  "caption": "text_eat"
 +
});
  
 
</syntaxhighlight>
 
</syntaxhighlight>

Aktuelle Version vom 18. Oktober 2016, 15:03 Uhr

setMenuItem( itemdata );

Bei aktivierter InsideScene oder kurz vor dem Setzen einer Scene (Scene-Event) kann das Menü der folgende Scene vollständig modifiziert werden. ACHTUNG: Wenn der "leave"-Menüpunkt entfernt wird, wird die Szene ohne zusätzliche Programmierung zur Gameover-Todesfalle.

Parameter-Objekt

  • remove: Entfernt den angegebenen Menüpunkt aus dem Menü. Alle anderen Daten werden ignoriert, wenn remove angegeben wurde
  • replace: Ersetzt den angegebenen Menüpunkt mit folgenden Daten. Ist replace nicht gesetzt, wird der Menüpunkt am Ende hinzugefügt
  • dialog: Der aufzurufende Dialog bei Klick des Icon. Verpflichtend ohne remove und action
  • action: Die aufzurufende Standardaktion. Verpflichtend ohne remove und dialog
  • icon: Das zu verwendende Icon. Verpflichtend ohne remove
  • caption: Der Textschlüssel, der beim Icon erscheint. Verpflichtend ohne remove

Modding-Hinweis

Um die verfügbaren Aktionen und Icons zu eruieren, steht in der Konsole der Befehl dumpcontrolmenu zur Verfügung, wenn man sich in einer Insidescene befindet.

Beispiele

setMenuItem( { "remove": "talk" } ); /* Entfernt den Menüpunkt "talk" aus dem Menü */
 
/* Ersetze den Menüpunkt "talk" mit dem Aufruf des Dialogs "kvir_elsurion" mit Icon "talk" und Beschriftung "text_talk" */
setMenuItem({ 
  "replace": "talk",
  "dialog": "kvir_elsurion",
  "icon": "talk",
  "caption": "text_talk" 
});
 
/* Füge den Aufruf zum Dialog "neweatdialog" hinzu, mit dem icon "eat1" und dem Text "text_eatsomething" */
setMenuItem({
  "dialog": "neweatdialog",
  "icon": "eat1",
  "caption": "text_eatsomething" 
});
 
/* Vertausche die Reihenfolge von talk und eat im Herbergen-Menü */
setMenuItem({
  "replace": "talk",
  "action": "eatnew",
  "icon": "eat1",
  "caption": "text_eat"
});
setMenuItem({
  "replace": "eat",
  "action": "talk",
  "icon": "talk",
  "caption": "text_talkhostel"
});
setMenuItem({
  "replace": "eatnew",
  "action": "eat",
  "icon": "eat1",
  "caption": "text_eat"
});