Erklärungen zum Missionsbautemplate

W Missionstemplate

Das Missionstemplate der Gruppe W soll Missionsbauern und der Bauleitung Gleichmaßen eine Erleichterung im Erstellen bzw. Kontrollieren von Missionen bieten. Zusätzlich dazu wird ein gewisses Maß an Konfigurabilität bereitgestellt. Die Nutzung des Templates für Missionsbauer ist denkbar einfach und soll nachfolgend kurz und einfach erläutert werden.

Installation

Das Missonstemplate kann auf der folgenden Seite in seiner aktuellen Fassung heruntergeladen werden:

Die Ordner und Dateien müssen in den Ordner der jeweiligen Mission kopiert werden. Dabei gehören sowohl die beiden Ordner W_FRAMEWORK und Poppy zum Template, wie auch alle *.sqf, *.ext und *.hpp Dateien. Bei einem Update auf eine neuere Version des Templates müssen also alle Dateien und Ordner aktualisiert werden. Wird dies nicht getan, kann es zu ungewollten Problemen kommen. Weitere Information rund um das Template gibt es in der Readme des Gitlab Projektes:

Anpassung

Es können individuelle Anpassungen der Mission, sowie eigene Skripte etc. über die description.ext und die unterschiedlichen *.sqf Dateien erfolgen. Zusätzlich kann im Editor selbst Dinge wie DLC-Kick, Sichtweite und Terrain Level eingestellt werden.

Der erste Schritt bei einer neuen Mission sollte dabei die Anpassung der description.ext an die jeweilige Mission sein. Grundsätzlich sind die wichtigen Parameter schon in der Datei vorhanden und entsprechend ihrer Funktion mit selbsterklärenden Beispielen versehen. Grundsätzlich sollten dabei alle Parameter angepasst werden.

Alle Dateien, die ein init enthalten, sind sogenannte Event Scripts und haben eine definierte Auswirkung auf die Art und Weise, wie Arma3 die Inhalte behandelt. Eine detaillierte Übersicht über alle verfügbaren Event Scripts ist auf der folgenden Seite gegeben:

Zusätzlich dazu befinden sich in jeder Datei selbst noch einige kurze Beschreibungen.

Briefing

Eine Sonderstellung stellt die briefing.sqf dar. Sie beinhaltet das Missionsbriefing und muss nach den Richtlinien von GruppeW in jedem Fall mit Inhalt gefüllt werden. Dabei können neue Unterpunkte mit dem Befehl

player createDiaryRecord ["Diary",["ÜBERSCHRIFT","INHALT"]];

eingebunden werden. Weitergehende Informationen sind auf der entsprechenden Wikiseite gegeben:

Loadouts

Mit der Frameworkversion Nr. 5 hat sich das Loadoutsystem verändert. Im Framework ist nun eine CfgLoadouts.hpp enthalten, in der eure Loadoutklassen definiert werden. Poppy erlaubt es euch dabei, dies im Editor (Merke Editor, nicht Multiplayer Missionserstellung) Loadouts über einen Arsenalersatz zu erstellen, ODER direkt die CfgLoadouts zu bearbeiten. Welcher Weg genutzt wird, ist dabei unerheblich.

Poppy zeigt beim Erstellen von Loadouts auch Fehler korrekt an, weist auf Überladung hin und ob für diese Klasse bereits etwas definiert wurde oder nicht.

Vom Ersteller wurde eine ausführliche Dokumentation zur Verfügung gestellt: Einweisung in Poppy

Für Anmerkungen oder Fehlermeldungen kann hier ein Issue erstellt werden: GitHub Issue Tracker

Medics, Explosive Specialists und Engineers müssen zusätzlich über Poppy als solche gekennzeichnet werden. Dazu muss in der Loadoutklasse einer der folgenden Einträge erstellt werden:

  • Arzt: preLoadout = "(_this select 0) setVariable [""ACE_medical_medicClass"", 2, true];";
  • Combat Medic: preLoadout = "(_this select 0) setVariable [""ACE_medical_medicClass"", 1, true];";
  • Repair Specialist: preLoadout = "(_this select 0) setVariable [""ACE_isEngineer"", 2, true];";
  • Combat Engineer: preLoadout = "(_this select 0) setVariable [""ACE_isEngineer"", 1, true];";
  • Explosive Specialist: preLoadout = "(_this select 0) setVariable [""ACE_isEOD"", true, true];";

Beispiel

 class CfgLoadouts {
   class CommonBlufor {
       uniform[] = {"U_O_V_Soldier_Viper_F"};
       vest[] = {"V_HarnessOGL_ghex_F"};
       backpack[] = {""};
       primary[] = {"arifle_CTAR_ghex_F","optic_Arco_ghex_F","","",""};
       secondary[] = {"hgun_Rook40_F","","","",""};
       launcher[] = {"","","","",""};
       magazines[] = {"16Rnd_9x21_Mag",2,"SmokeShellGreen",1,"SmokeShellRed","HandGrenade",2,"SmokeShell",2,"30Rnd_580x42_Mag_F",3,"30Rnd_580x42_Mag_Tracer_F",1};
       items[] = {"ACE_EarPlugs","ACE_elasticBandage",5,"ACE_fieldDressing",5,"ACE_morphine",2,"ACE_packingBandage",5,"ACE_quikclot",5};
       binoculars[] = {""};
       compass[] = {"ItemCompass"};
       goggles[] = {"G_Bandanna_oli"};
       gps[] = {""};
       headgear[] = {"H_HelmetO_ghex_F"};
       map[] = {""};
       nvgs[] = {""};
       watch[] = {"ItemWatch"};
       insignia[] = {""};
   };
   class B_medic_F: CommonBlufor {//platoonemdic
       backpack[] = {"B_ViperHarness_ghex_F"};
       items[] += {"ACE_elasticBandage",25,"ACE_fieldDressing",25,"ACE_morphine",15,"ACE_packingBandage",25,"ACE_quikclot",15,
       "ACE_salineIV",6,
       "ACE_surgicalKit",1,
       "ACE_salineIV_500",6,
       "ACE_personalAidKit",6,
       "W_Defibrillator",1
       };
       preLoadout = "(_this select 0) setVariable [""ACE_medical_medicClass"", 2, true]";
   };
 };

Technischer Teleport / ACRE2-“Kiste”

Um einen technischen Teleporter, bzw. eine ACRE2-Notfallkiste zu definieren, genügt lediglich der folgende Aufruf in der Init-Zeile des Objekts:

null = [this] call Framework_fnc_addSupportActions;

Damit sind beide Funktionen definiert und können entsprechend in der Mission genutzt werden.

Update auf neue Version

Das Template wird von Zeit zu Zeit in seiner Funktionalität erweitert und auftretene Bugs werden gefixt. D.h. es kann vorkommen, dass während des Missionsbaus ein solches Update erscheint. Da jede angebotene Mission stets mit dem aktuellsten Template gebaut werden soll, muss die Mission entsprechend aktualisiert werden.

Zu diesem Zweck müssen ALLE Dateien und Ordner aktualisiert werden, was leider bedeutet, dass vorgenommene Änderungen potentiell überschrieben werden. Um dies zu verhindern, hat es sich bewährt, jede veränderte Datei kurz zu checken, ob sie wirklich aktualisiert wurde. In der Regel wird die Bauleitung jedoch bei Release einen Hinweis geben, ob die Dateien geändert wurden oder nicht.

Anmerkungen und Fehlermeldungen

Für Anmerkungen und Fehlermeldungen steht der GitLab Issue Tracker des Frameworks zur Verfügung: GitLab Issue Tracker