SetMenuItem: Unterschied zwischen den Versionen
Aus Sternenschweif Wiki
(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, 14: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" });