Das Panzerbrigade 21 Framework ist eine gemeinsame technische Grundlage für Arma-3-Missionen und weitere PB21-Mods. Es stellt wiederverwendbare Einheiten, Editorgruppen, Konfigurations- und Hilfsfunktionen bereit und bündelt optionale Integrationen mit anderen Mods.
Der aktuelle Stand ist noch in Entwicklung. Diese README beschreibt den tatsächlich enthaltenen Funktionsumfang und wird bei neuen Addons oder sichtbaren Verhaltensänderungen erweitert.
CBA_A3 und ACE3 werden vom Kern-Addon benötigt. ACE wird für die Selbstinteraktionen verwendet, CBA für Extended Event Handlers, Einstellungen und Netzwerkereignisse.
ACRE2 ist im aktuellen Framework keine technische Pflichtabhängigkeit. Missionen oder andere PB21-Mods können ACRE2 trotzdem separat voraussetzen.
| Addon | Zusätzliche Voraussetzung | Verhalten bei fehlender Voraussetzung |
|---|---|---|
| gm_selfactions | Global Mobilization / GM-Charaktere und ACE Interaction Menu | Das Addon wird übersprungen. |
| ef | EF-AAV9 (EF_AAV9_C) | Das Addon wird übersprungen. |
| it_acp_jca_mcrp | ACP IT Vegetato und JCA MCRP | Das Addon wird übersprungen. |
| shield | Keine zusätzliche Mod-Abhängigkeit neben dem Framework-Kern | Das Addon ist mit dem Framework-Kern nutzbar. |
Das Kern-Addon stellt die Fraktion PB21F_BLU_F mit der Bezeichnung „PzBrig21 Framework“ bereit. Enthalten sind:
- deutsche Bundeswehr-Einheiten für Infanterie, Führung, Sanität, Pioniere, Panzer- und Hubschrauberbesatzungen;
- zusätzliche US-Army- und US-Marine-Einheiten;
- Rollen- und Editorunterkategorien;
- vorbereitete Gruppen für deutsche Infanterie, mechanisierte Kräfte und Panzerverbände;
- die im Framework definierten Flaggen und gemeinsamen Editorressourcen.
Die Einheiten werden im Editor über die Fraktion „PzBrig21 Framework“ angeboten. Das Addon definiert keine vollständige Ausrüstungsliste für jede Mission.
common enthält gemeinsam verwendete Initialisierungs- und Funktionsbestandteile. Dazu gehören die CBA-Extended-Event-Handler sowie die gemeinsame Fahrzeug-Schild-Funktion, die vom shield-Addon verwendet wird. Es ist keine eigenständige Benutzerfunktion.
Das Shield-Addon stellt Schutzfunktionen und Eden-Editoroptionen bereit.
Das Vehicle Shield begrenzt standardmäßig den Fahrzeugrumpfschaden bei 80 Prozent. Kritische Komponenten wie Motor, Treibstoffsystem, Rotoren, Geschütze oder Türme können weiterhin beschädigt oder deaktiviert werden. Eine vollständige Zerstörung durch normalen Schaden ist standardmäßig nicht freigeschaltet.
Das Shield wird über ein globales CBA-Netzwerkereignis einschließlich Join-in-Progress-Synchronisierung aktiviert. Es kann aktiviert werden:
- im Eden Editor über das Fahrzeugattribut „VehicleShield“;
- über das Zeus-/Eden-Modul „Vehicleshield hinzufügen“.
Die allgemeine Funktion besitzt optionale Parameter für Motor-, Treibstoff- und Rotorschutz, Motorschaden bei Rumpftreffern, Explosionsverhalten und zusätzliche Treffer.
Das Building Shield verhindert die Zerstörung der Gebäudestruktur. Trefferpunkte mit glass oder window bleiben separat behandelbar und werden nicht durch den Gebäudeschutz blockiert.
Im Eden Editor stehen zur Verfügung:
- das Objektattribut „BuildingShield“;
- das Objektattribut „Fenster entglasen“;
- das Modul „Building Shield“ mit optionalem Variablennamen, Gebäudeschutz und Fensterentglasung.
Das Modul sucht ein geeignetes Terrainobjekt in der Nähe und übernimmt die Konfiguration beim Missionsstart. Der optionale Variablenname wird global in der Mission gesetzt.
Das interne Modul moduleBase ist keine zusätzliche Benutzerfunktion. Es ist eine gemeinsame, unsichtbare Basisklasse für die Shield-Module und übernimmt deren Initialisierung und Einordnung in die Modulgruppen.
Für geeignete Global-Mobilization-Uniformen ergänzt dieses Addon einen ACE-Selbstinteraktionspunkt „PzBrig21“ mit:
- Dienstgradauswahl;
- Waffengattung beziehungsweise Waffenfarbe;
- Kopfbedeckung;
- Kopfbedeckung ab.
Die Aktionen sind nur verfügbar, wenn die aktuell getragene Uniform in der erlaubten Uniformliste steht. „Kopfbedeckung ab“ bleibt bei einer erlaubten Uniform immer verfügbar, auch wenn die konfigurierbare Kopfbedeckungsliste leer ist.
Unter PB21 Framework > GM SelfActions stehen folgende Einstellungen zur Verfügung. Alle Standardwerte sind aktiviert:
| Einstellung | Wirkung |
|---|---|
| GM SelfActions aktiv | Aktiviert oder deaktiviert den gesamten Interaktionsbereich. |
| Dienstgrade | Blendet die Dienstgradauswahl ein oder aus. |
| Waffengattungen | Blendet die Waffenfarbenauswahl ein oder aus. |
| Kopfbedeckungen | Blendet die konfigurierten GM-Kopfbedeckungen ein oder aus. |
| Automatischer Dienstgrad | Setzt beim Initialisieren den Dienstgrad anhand des Variablennamens. |
Die CBA-Einstellungen steuern die sichtbaren Interaktionen. Uniformen, Kopfbedeckungen und uniformabhängige Rangfarben werden über PB21F_GM_SelfActions in der Mission konfiguriert.
Die Standardliste enthält aktuell:
gm_ge_army_uniform_crew_80_oli
gm_ge_army_uniform_soldier_80_oli
gm_ge_army_uniform_soldier_80_ols
gm_ge_army_uniform_pilot_oli
gm_ge_army_uniform_pilot_rolled_oli
gm_ge_army_uniform_pilot_sar
gm_ge_army_uniform_pilot_rolled_sar
gm_ge_uniform_soldier_90_flk
gm_ge_uniform_soldier_90_trp
gm_ge_uniform_soldier_rolled_90_flk
gm_ge_uniform_soldier_rolled_90_trp
Die Standardauswahl umfasst Barett Jäger, Barett Grenadier, Barett Panzer, Barett Fernmelde, Feldmütze und Feldmütze Knitterfrei. „Feldmütze Knitterfrei“ ist die humorvolle Bezeichnung für die GM-Feldmütze M92.
Die Liste enthält Konfigurations-IDs. Eine ID wird nur angezeigt, wenn sie in headgearList[] eingetragen ist und die zugehörige Headgear-Klasse einen gültigen Gegenstand enthält.
Mannschaften, Unteroffiziere und Offiziere verwenden standardmäßig schwarze Abzeichen (blk). Brigadegeneral, Generalmajor und General verwenden standardmäßig goldene Abzeichen (gld).
Eine Uniform kann dies in UniformSettings überschreiben. Zulässige Werte sind:
- blk – schwarz;
- wht – weiß beziehungsweise silber;
- gld – gold.
Die Auswahl von schwarzem oder weißem Dienstgrad richtet sich daher nach der Konfiguration der getragenen Uniform und nicht automatisch nach dem Dienstgrad. Ein missionsspezifischer Eintrag hat Vorrang vor der Frameworkvorgabe.
Der erste Teil des Variablennamens wird als Rangkürzel verwendet. Als Trennzeichen werden - und _ unterstützt.
f-Alpha // Feldwebel
of_Charlie // Oberfeldwebel
otl-Bravo // Oberstleutnant
unbekannt // Fallback auf Schütze (s)
Bei einem unbekannten oder fehlenden Präfix wird s verwendet. Die automatische Zuweisung greift nur bei einer erlaubten GM-Uniform.
Ein Array in der Missionskonfiguration ersetzt die jeweilige Standardliste vollständig; die Listen werden nicht automatisch zusammengeführt.
class PB21F_GM_SelfActions
{
uniforms[] = {
"gm_ge_uniform_soldier_90_flk",
"gm_ge_uniform_soldier_90_trp"
};
headgearList[] = {
"Infantry",
"FieldCapM92",
"MissionHelmet"
};
class Headgear
{
class Infantry
{
displayName = "Barett Jäger (Mission)";
item = "gm_ge_headgear_beret_grn_infantry";
icon = "\\gm\\gm_characters\\gm_ge_characters\\data\\ui\\picture_gm_ge_headgear_beret_grn_infantry_ca";
branch = "jgtrp";
};
class MissionHelmet
{
displayName = "Missionshelm";
item = "MEIN_HELM_CLASSNAME";
icon = "MEIN_ICON_PFAD";
branch = "";
};
};
class UniformSettings
{
class gm_ge_uniform_soldier_90_flk
{
rankColor = "wht";
};
};
};
headgearList[] = {}; lässt nur „Kopfbedeckung ab“ sichtbar. Ein leerer uniforms[]-Eintrag deaktiviert die GM-Selbstaktionen für alle Uniformen.
Bei einer bestehenden Headgear-ID können Anzeigename, Gegenstand, Icon und Waffengattung überschrieben werden. Nicht gesetzte Eigenschaften fallen auf die Frameworkdefinition zurück. branch setzt nach dem Anlegen der Kopfbedeckung automatisch die passende Waffenfarbe; branch = "" setzt keine Farbe.
Das Addon passt B_RadioBag_01_base_F an:
- maximale Ladung: 120;
- Masse: 88.4.
Da die Anpassung an der Basisklasse erfolgt, kann sie mehrere darauf basierende Funkrucksäcke betreffen.
Wenn EF_AAV9_C geladen ist, erhöht das Framework für EF_AAV9_Base die maximale Ladung auf 18000.
Dieses optionale Addon ergänzt sechs sichtbare JCA-KBT-Tragesystemvarianten mit IT-Vegetato-Textur:
- Compact;
- CQB;
- Crew;
- Holster;
- Recon;
- Tactical.
Die Varianten benötigen die IT-Vegetato- und JCA-MCRP-Addons.
| Verzeichnis | Zweck |
|---|---|
| addons/ | Aktive Addons, die im normalen HEMTT-Build als PBOs gebaut werden. |
| optionals/ | Optionale oder gesondert zu betrachtende Pakete. |
| extras/ | Vorbereitungen, Experimente oder noch nicht standardmäßig gebaute Bestandteile. |
| .hemtt/ | HEMTT-Projekt- und Buildkonfiguration. |
| mod.cpp | Arma-3-Modmetadaten für den Launcher. |
| README.md | Diese Anwender- und Entwicklerdokumentation. |
Aktive Addonstruktur:
addons/
├── common
├── ef
├── gm_selfactions
├── it_acp_jca_mcrp
├── main
├── radio_backpacks
└── shield
Das Projekt verwendet HEMTT:
hemtt check
hemtt build
Der Standardbuild baut die aktiven Addons unter addons/ als PBOs. Optionale Abhängigkeiten werden bei den betreffenden Addons mit skipWhenMissingDependencies = 1 abgefangen, damit der Framework-Kern weiter geladen werden kann.
- Framework, CBA_A3 und ACE3 laden.
- Für GM-Selbstaktionen zusätzlich Global Mobilization verwenden.
- Die gewünschten Einheiten im Eden Editor aus der Fraktion „PzBrig21 Framework“ auswählen.
- Shield-Attribute oder Shield-Module nur an den gewünschten Objekten setzen.
- Bei Bedarf PB21F_GM_SelfActions in der Missionskonfiguration anlegen.
- Schaden, Fenster, Fahrzeugkomponenten und Uniformauswahl im Multiplayer testen.
Insbesondere Vehicle Shield und Building Shield sollten auf dem Server sowie für Join-in-Progress-Spieler geprüft werden.
Neue Funktionen sollen möglichst als eigenes Addon unter addons// umgesetzt werden. So bleiben optionale Abhängigkeiten und Änderungen vom Framework-Kern getrennt.
Für jedes neue Addon sollen dokumentiert werden:
- eigener CfgPatches-Eintrag und eindeutige Addonklasse;
- requiredAddons[] und optionale Abhängigkeiten;
- skipWhenMissingDependencies = 1, wenn es optional ist;
- Namespace, CBA-XEH- und Funktionsinitialisierung;
- sichtbare Funktionen, Editorattribute, Module und CBA-Settings;
- Missionskonfiguration einschließlich Standardwerten und Überschreibungsregeln;
- Multiplayer- und Join-in-Progress-Verhalten;
- bekannte Einschränkungen und Testhinweise.
Bei Listen ist ausdrücklich zu dokumentieren, ob sie ersetzt oder erweitert werden. Verändert ein Update ein bestehendes Verhalten, soll zusätzlich ein kurzer Eintrag in einer Änderungsübersicht ergänzt werden, damit Missionsbauer erkennen können, ob ihre Mission angepasst werden muss.
### addon_name – Anzeigename
Kurzbeschreibung des Zwecks.
- sichtbare Funktionen;
- Editorobjekte oder Module;
- CBA-Einstellungen;
- Missionskonfiguration;
- technische und optionale Abhängigkeiten;
- Multiplayer- und JIP-Verhalten;
- bekannte Einschränkungen.
- gm_selfactions arbeitet mit exakten Klassen- und Uniformnamen.
- Eine Missionsliste für uniforms[] oder headgearList[] ersetzt die Framework-Standardliste vollständig.
- Unbekannte Rangpräfixe fallen auf s zurück.
- Der Dienstgrad wird auf dem vorgesehenen GM-Uniformmaterialslot angewendet; Uniformen mit abweichender Materialstruktur können eine eigene Anpassung benötigen.
- Das Building Shield schützt die Gebäudestruktur, behandelt Fenster aber absichtlich separat.
- Das Vehicle Shield verhindert standardmäßig die vollständige Zerstörung durch normalen Schaden, schützt aber nicht automatisch jede kritische Fahrzeugkomponente vor Deaktivierung.
- Addons mit externen Abhängigkeiten sind nur aktiv, wenn die zugehörigen Klassen beim Start vorhanden sind.
Die Lizenz ist in LICENSE hinterlegt. Projektseite, Fehlerberichte und weitere Informationen sind in den Repository-Metadaten und im Arma-3-Modeintrag verlinkt.
Fehlerberichte sollten möglichst Framework-Version, geladene Abhängigkeiten, eine reproduzierbare Missionskonfiguration und den relevanten RPT-Ausschnitt enthalten.