Für das Aktionen-Menü reicht ein Skript. Die Sprungadresse wird in den Aktionen als Parameter übergeben.
Das Aktivieren des Menüs wird über zwei Auslöser gesteuert. Die Auslöser vermeiden auch doppelte Aktionen beim Einheitenwechsel und Tod des Spielers.
Die Auslöser sind für Blufor. Für Opfor einfach kopieren und auf Opfor umstellen.
Erweiterungen sind dadurch einfach möglich und übersichtlich. Die Skripte Offensiv und Defensiv enthalten nur eine Textzeile für den Funktionstest. Im Anhang eine Beispielmission.
Aktionen.sqs
Code:
;Menüführung für Aktionsmenüs in Objekten
;Menü starten: [Objektname_das_die_Aktionen_enthält,0,0,"Start"] exec "Aktionen.sqs"
;Menü beenden: [Objektname_das_die_Aktionen_enthält,0,0,"Ende" ] exec "Aktionen.sqs"
_objekt = _this select 0
_objekt removeAction AktionNrH1
_objekt removeAction AktionNrU1
_objekt removeAction AktionNrU2
_objekt removeAction AktionNrUE
_objekt removeAction AktionNrO1
_objekt removeAction AktionNrO2
_objekt removeAction AktionNrO3
_objekt removeAction AktionNrOE
_objekt removeAction AktionNrD1
_objekt removeAction AktionNrD2
_objekt removeAction AktionNrD3
_objekt removeAction AktionNrDE
goto (_this select 3)
exit
#Start
AktionNrH1 = _objekt addAction ["Einheiten Kaufen", "Aktionen.sqs", "EinheitenKaufen", 1, false, false]
player groupChat "Kaufmenue in den Aktionen vorhanden!"
exit
#Ende
exit
#EinheitenKaufen
AktionNrU1 = _objekt addAction ["Offensiv Optionen", "Aktionen.sqs", "OffensivOptionen", 3, false, false]
AktionNrU2 = _objekt addAction ["Defensiv Optionen", "Aktionen.sqs", "DefensivOptionen", 2, false, false]
AktionNrUE = _objekt addAction ["Vorheriges Menue", "Aktionen.sqs", "Start", 1, false, false]
exit
#OffensivOptionen
AktionNrO1 = _objekt addAction ["Offensiv 1", "Offensiv1.sqs", "", 4, false, false]
AktionNrO2 = _objekt addAction ["Offensiv 2", "Offensiv2.sqs", "", 3, false, false]
AktionNrO3 = _objekt addAction ["Offensiv 3", "Offensiv3.sqs", "", 2, false, false]
AktionNrOE = _objekt addAction ["Vorheriges Menue", "Aktionen.sqs", "EinheitenKaufen", 1, false, false]
exit
#DefensivOptionen
AktionNrD1 = _objekt addAction ["Defensiv 1", "Defensiv1.sqs", "", 4, false, false]
AktionNrD2 = _objekt addAction ["Defensiv 2", "Defensiv2.sqs", "", 3, false, false]
AktionNrD3 = _objekt addAction ["Defensiv 3", "Defensiv3.sqs", "", 2, false, false]
AktionNrDE = _objekt addAction ["Vorheriges Menue", "Aktionen.sqs", "EinheitenKaufen", 1, false, false]
exit