SetMenuItem
Aus Sternenschweif Wiki
Version vom 18. Oktober 2016, 13:59 Uhr von Chrisfirefox (Diskussion | Beiträge)
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" } );