Bildbearbeitung
![Beispiel für Unit Insignia](images/missionsbau/allgemeines/insignia/insignia.jpg)
Erstelle mit einem Bildbearbeitungsprogramm eine .PNG-Datei mit folgenden Eigenschaften:
- 24bit-Farbtiefe und Transparenz.
- Die Bildgröße muss quadratisch sein und die Seitenlänge eine 2er-Potenz. Es bieten sich z.B. 512x512 oder 1024x1024 Pixel an.
- Das eigentliche Bild sollte etwas weniger „bunt” sein, als du es im Spiel haben willst (Arma macht die Farben knalliger).
- Es sollte keine halbtransparenten Ränder geben (das ergibt im Spiel weiße Ränder).
- Der Dateiname darf nicht mit einer Zahl beginnen und sollte auf
_CO
enden.
Speichere das Bild ab und wandele es mit ImageToPaa in eine .PAA-Textur um. Lege diese in deinem Missionsordner in einem Unterordner Insignia
ab.
Einbindung in die Mission
Die Abzeichen müssen über die CfgUnitInsignia entweder in der Mission oder einer Mod konfiguriert werden. In einer Mission funktioniert das folgendermaßen:
Erstelle im Missionsverzeichnis eine Datei mit dem Namen CfgUnitInsignia.hpp
Öffne die description.ext
und füge dort ein:
class CfgUnitInsignia{
#include "CfgUnitInsignia.hpp"
}
Schließe die description.ext
und öffne die CfgUnitInsignia.hpp.
Für jedes einzelne Abzeichen muss ein eigener Config-Eintrag erstellt werden. Benutze dabei folgende Vorlage:
class BeispielName {
displayName = "Beispiel Name"; // Name, der im Arsenal angezeigt wird. Was natürlich nur in der lokalen Mission geht.
author = "[W] Deinname"; // Autor, der im Arsenal angezeigt wird.
texture = "insignia\BEISPIEL_CO.paa"; // Pfad zum Bild, relativ zum Missionspfad
textureVehicle = "insignia\BEISPIEL_CO.paa"; // Pfad zum Bild auf Fahrzeugen. Tut zwar noch nichts, aber, was nicht ist, kann ja noch werden.
};
Zuweisung in Loadouts
In der CfgLoadouts von Poppy kann jedem Loadout mit
insignia[] = {"BeispielName"}
ein Abzeichen zugewiesen werden.
ACHTUNG!
Diese werden, stand Juli 2017, nicht automatisch zugewiesen!
Damit das Abzeichen im Spiel angezeigt wird, füge in die initPlayerLocal.sqf
folgenden Code ein:
[] spawn {
sleep 5;
[player, getArray (missionConfigFile >> "CfgLoadouts" >> ([player] call Poppy_fnc_selectLoadout) >> "insignia")] call poppy_fnc_replaceInsignia;
};
Zuweisung an KI-Einheiten
Die Zuweisung an KI-Einheiten funktioniert am einfachsten mithilfe eines Klassen-EventHandlers in der initServer.sqf
["Classname_KI_Einheit", "init", {
[(_this select 0),"BeispielName"] call BIS_fnc_setUnitInsignia);
},true, [], true] call CBA_fnc_addClassEventHandler;
Ersetze Classname_KI_Einheit
Durch den Klassennamen der KI oder durch eine Basisklasse, von der alle entsprechenden KI-Einheiten erben (z.B. B_Soldier_base
) Ersetze BeispielName
durch den Klassennamen deiner Abzeichen.