SetMenuItem

Aus Sternenschweif Wiki
Wechseln zu: Navigation, Suche
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"
});