Überblick

Seit dem Jets-DLC bietet Arma bei den meisten Fluggeräten die Möglichkeit, individuell für die einzelnen Waffenstationen (engl. pylons, dt. Pylonen) festzulegen, welche Waffen daran verfügbar sein sollen. Die Bewaffnung der Pylonen kann entweder im Editor oder per Script vom Missionsbauer, aber auch vom Spieler selbst in der Nähe eines Reparaturfahrzeuges verändert werden.

Pylonen-Einstellungen im Editor

Die Waffen für Flugzeuge mit Pylonen können am einfachsten im Editor im Attributfenster ausgewählt werden. Hier gibt es eine grafische Darstellung des Fluggeräts, auf dem sich Drop-Down-Menüs befinden, innerhalb derer sich die Waffen auswählen lassen. Die verfügbaren Waffen unterscheiden sich je nach Waffenstation. So können bspw. an einem Littlebird keine Bomben, an den äußeren Stationen einer Wipeout nur AA-Rakten usw. montiert werden. Sind die Waffen im Menü ausgewählt, sind sie auch im 3D Editor sichtbar. So lassen sich bspw. unschöne Überschneidungen zu groß geratener Maverick-Racks vermeiden.

Mögliche Slotbelegung für Pylonen
Mögliche Slotbelegung für Pylonen
Nummerierung der Pylonen
Nummerierung der Pylonen

Pylonen-Einstellungen ingame beeinflussen

Einzelnen Pylonen können per Skript neue Waffenmagazine zugewiesen werden (die Waffe wird dann automatisch zugeweisen). Dazu dient folgender Befehl:
_vehicle setPylonLoadOut [_pylonIndex, _magazine, _forced, _turret];
Der Befehl sollte nur auf dem Gerät ausgeführt werden, auf dem das Fahrzeug lokal (i.d.R. ist das der Server) ist.

_pylonIndex: Integer, Zahl zur Identifizierung des Pylons.
_magazine: String, Classname des Magazins.
_forced: Boolean (optional), wenn diese Option auf true gesetzt ist können auch inkompatible Magazine und damit Waffen montiert werden.
_turret: Array, Turret-Index (optional), der Kontrolle erhalten soll ([] für Pilot, [0] für Gunner).

Beispiel in der Init eines Helikopters:

if (isServer) then {
    this setPylonLoadOut [1, "PylonRack_Missile_BIM9X_x1", true, []];
    this setPylonLoadOut [2, "PylonRack_4Rnd_ACE_Hellfire_AGM114K", true, [0]];
    this setPylonLoadOut [3, "PylonRack_4Rnd_ACE_Hellfire_AGM114K", true, [0]];
    this setPylonLoadOut [4, "PylonRack_4Rnd_ACE_Hellfire_AGM114K", true, [0]];
    this setPylonLoadOut [5, "PylonRack_4Rnd_ACE_Hellfire_AGM114K", true, [0]];
    this setPylonLoadOut [6, "PylonRack_Missile_BIM9X_x1", true, []];
};

Dies kann übrigens auch mit Magazinen geschehen, die normalerweise nicht verfügbar sind. So ließen sich bspw. zwei GBUs an einem Littlebird befestigen:

Leere AH1Z
Aus einem AH1Z von CUP mit leeren Waffenstationen ...
Script einfügen
... wird mithilfe des obigen Scripts im Init-Feld in den Attributen ...
Modifizierte AH1Z
... eine mit 16 (statt normal 12) ACE-Hellfires sowie zwei Flugabwehrraketen.

Loadouts aus 3DEN in Scripts übernehmen

Das Loadout lässt sich auch direkt für alle Pylonen festlegen. Nachfolgend die Anweisungen dazu:
Wir nehmen einmal an, dass ihr eine WASP 2 spawnen möchtet. Startet eure Mission (mit Framework) und stellt euch vor euren Jet.
Nun setzt ihr folgendes in eine der kleinen Zeilen eurer Debugkonsole:

getPylonMagazines cursorObject

Das ganze spuckt euch ein Array aus:

["","","","","","","PylonMissile_Missile_AMRAAM_D_INT_x1","PylonMissile_Missile_AMRAAM_D_INT_x1","PylonMissile_Missile_AMRAAM_D_INT_x1","PylonMissile_Missile_AMRAAM_D_INT_x1","PylonMissile_Bomb_GBU12_x1","PylonMissile_Bomb_GBU12_x1"]

Dieses Array enthält jedes Magazin an einer bestimmten Pylonenposition. Ihr könnt nun dieses Array einem gespawnten Fahrzeug mit folgendem Skript zuweisen:

_PylonArray = ["","","","","","","PylonMissile_Missile_AMRAAM_D_INT_x1","PylonMissile_Missile_AMRAAM_D_INT_x1","PylonMissile_Missile_AMRAAM_D_INT_x1","PylonMissile_Missile_AMRAAM_D_INT_x1","PylonMissile_Bomb_GBU12_x1","PylonMissile_Bomb_GBU12_x1"];
{
     _jet  setPylonLoadout [_forEachIndex , _x];
}foreach _PylonArray

Pylonenauswahl für Spieler beschränken

Dank ACE können für Pylonen auch Einschränkungen eingestellt werden, beispielsweise um zu verhindern, dass ein CAP-Jet mit Bomben ausgerüstet wird. Dies kann entweder per Whitelist (Magazine in der Liste erlauben) oder Blacklist (Magazine in der Liste verbieten) erfolgen.

Um die Magazine mit den Klassennamen "PylonRack_7Rnd_Rocket_04_HE_F","PylonRack_7Rnd_Rocket_04_AP_F" entweder exklusiv erlauben oder verbieten zu können, müsst ihr einfach eine dieser beiden Zeilen in die Init eures Fluggerätes schreiben. Spieler können dann nur mehr die von euch gewünschten Magazine an die Pylone montieren.

Whitelist:

this setVariable ["ace_pylons_magazineWhitelist", ["PylonRack_7Rnd_Rocket_04_HE_F","PylonRack_7Rnd_Rocket_04_AP_F"]];

Blacklist:

this setVariable ["ace_pylons_magazineBlacklist", ["PylonRack_7Rnd_Rocket_04_HE_F","PylonRack_7Rnd_Rocket_04_AP_F"]];