niCe-Team Multigaming e.V.

Unser Spielfeld => ArmA 2 => Auch gerne gespielt => Allgemeines => Thema gestartet von: niCe Nebulaner am 08. Dezember 2013, 22:00:33

Titel: Missionsbau: AddAction bzw. Scrollradmenü-Eintrag zum Öffnen des RTE
Beitrag von: niCe Nebulaner am 08. Dezember 2013, 22:00:33
Hi,

um den RTE im Spiel über das Scrollradmenü bzw. AddAction-Menü zu öffnen gibt es folgende Lösung:

Im Missionsordner legt ihr eine Datei mit dem Namen RTE.sqf an. Einfach eine .txt-Datei mit diesem Inhalt füllen:
Zitat
[] spawn ION_RTE_pStartRTE;
Nach dem speichern .txt in .sqf umbenennen.
Nun müsst ihr noch im 2D-Editor dem Missionserstellerslot in der Init folgenden Eintrag erstellen:
Zitat
this addAction ["Starte RTE", "RTE.sqf"];


Titel: Re: Missionsbau: AddAction bzw. Scrollradmenü-Eintrag zum Öffnen des RTE
Beitrag von: niCe Diesel am 09. Dezember 2013, 13:38:54
Sehr schön. Vielen Dank für den Hinweis. Werde das testen, ob ich das auch hinbekomme und ob es mich zufriedenstellt.
Titel: Re: Missionsbau: AddAction bzw. Scrollradmenü-Eintrag zum Öffnen des RTE
Beitrag von: Eversmann am 09. Dezember 2013, 17:57:30
Bei mir geht der untere Code nicht. Jetzt versuche ich krampfhaft ne l9sung zufinden.
Titel: Re: Missionsbau: AddAction bzw. Scrollradmenü-Eintrag zum Öffnen des RTE
Beitrag von: niCe Diesel am 09. Dezember 2013, 17:59:39
Wenn du im in-game Editor bist, ersetze die doppelt-doppelten Anführungszeichen durch einfach doppelte:

this addAction [""Starte RTE"", ""RTE.sqf""]; --> this addAction ["Starte RTE", "RTE.sqf"];
Titel: Re: Missionsbau: AddAction bzw. Scrollradmenü-Eintrag zum Öffnen des RTE
Beitrag von: niCe Nebulaner am 09. Dezember 2013, 18:05:40
Mein Fehler hatte es aus der mission.sqm kopiert.
Titel: Re: Missionsbau: AddAction bzw. Scrollradmenü-Eintrag zum Öffnen des RTE
Beitrag von: niCe Diesel am 09. Dezember 2013, 21:36:14
getestet und funktioniert. Nochmal danke.
Titel: Re: Missionsbau: AddAction bzw. Scrollradmenü-Eintrag zum Öffnen des RTE
Beitrag von: niCe Diesel am 01. Februar 2014, 17:53:00
this addAction ["RTE starten", "RTE.sqf", nil, 0, False, True, "", "player == player && _this == mc"];
Fügt den Eintrag mit der Condition _this == mc nur für die unit mit dem Namen "mc" hinzu. Allerdings ist der Eintrag nach Tod der Einheit verschwunden. Muss man natürlich nach Respawn wieder hinzufügen.
Titel: Re: Missionsbau: AddAction bzw. Scrollradmenü-Eintrag zum Öffnen des RTE
Beitrag von: niCe Diesel am 09. Februar 2014, 16:50:58
Besser:
_actionIndex = [["RTE starten (CBA)", "RTE.sqf", nil, 0, False, True, "", "local _this"]] call CBA_fnc_addPlayerAction;
--> Adds persistent action to player (which will also be available in after respawn).
ref: https://dev.withsix.com/docs/cba/files/common/fnc_addPlayerAction-sqf.html
Titel: Re: Missionsbau: AddAction bzw. Scrollradmenü-Eintrag zum Öffnen des RTE
Beitrag von: niCe Diesel am 09. Februar 2014, 20:27:31
Weiter geht's:

So kann man einen persistenten Menüeintrag für eine Einheit mit der Description "mc" erstellen ohne ein externes Skript ablegen zu müssen:
_actionIndex = [["RTE starten", CBA_fnc_actionargument_path,[[], {[] call ION_RTE_pStartRTE}], 0, False, True, "", "local _this && _this == mc"]] call CBA_fnc_addPlayerAction;

Die condition "_this == mc" legt hierbei fest, dass der Eintrag nur für die Einheit mit der Description "mc" angelegt wird und nicht für alle Spieler.