Nachdem ich bereits verschiedene Varianten der "Loadout" Zuweisung aufgezeigt habe, möchte ich euch eine weitere Variante vorstellen. Sie ist den anderen Varianten abgekupfert, jedoch empfinde ich diese am einfachsten, da man hier zb. keine Classnamen der Einheit raussuchen muss um dieser dann entsprechend das Ausrüstungsskript zuzuweisen.
Es erspart mir zudem auch das Heraussuchen spezieller Waffengattungen aus den einzelnen Mods, wenn ich in meinen Missionen die Trupps zusammenstelle.
So kann ich zb. 10 Überlebende aus der Nato platzieren.
In die Init der jeweiligen Einheit kommt folgender Schnipsel , zB. :
Rifleman kann durch beliebige Bezeichnungen auch ersetzt werden, auch notwendig für weitere Einheiten des Trupps, wenn zb. ein Sniper, oder Medic dabei sein soll.... was auch immer:
this setVariable ["Einheit","Medic",true];
this setVariable ["Einheit","Sniper",true];
Anschließend erstellt man sich entsprechende Loadouts für die Einheit, zb für den Rifleman. Dies macht man am besten im Eden Editor über das Arsenal. Hier stellt man sich die gewünschte Ausrüstungzusammen und exportiert diese in eine Datei, zb: Rifleman.sqf
In dieser Datei ersetzt man alle Bezeichnungen "this" durch "Player" (ohne Hochkommas natürlich! ) und speichert diese unter Rifleman.sqf ab.
Aussehen könnte diese so:
- comment "Add weapons";
- Player addWeapon "rhs_weap_hk416d145";
- Player addPrimaryWeaponItem "rhsusf_acc_nt4_black";
- Player addPrimaryWeaponItem "rhsusf_acc_anpeq16a_top";
- Player addPrimaryWeaponItem "rhsusf_acc_su230a_mrds";
- Player addPrimaryWeaponItem "rhs_mag_30Rnd_556x45_M855A1_Stanag";
- comment "Add containers";
- Player forceAddUniform "rhsgref_uniform_para_ttsko_urban";
- Player addVest "rhsusf_plateframe_rifleman";
- Player addBackpack "rhssaf_kitbag_digital";
- comment "Add items to containers";
- Player addItemToUniform "ACRE_SEM52SL";
- Player addItemToUniform "ACE_EarPlugs";
- Player addItemToUniform "ACE_MapTools";
- for "_i" from 1 to 3 do {Player addItemToUniform "rhs_mag_30Rnd_556x45_M855A1_Stanag";};
- for "_i" from 1 to 4 do {Player addItemToVest "ACE_CableTie";};
- Player addItemToVest "ACE_IR_Strobe_Item";
- Player addItemToVest "ACE_Flashlight_MX991";
- for "_i" from 1 to 4 do {Player addItemToVest "ACE_M84";};
- for "_i" from 1 to 4 do {Player addItemToVest "HandGrenade";};
- for "_i" from 1 to 2 do {Player addItemToVest "SmokeShellRed";};
- for "_i" from 1 to 2 do {Player addItemToVest "SmokeShellPurple";};
- for "_i" from 1 to 2 do {Player addItemToVest "Chemlight_green";};
- for "_i" from 1 to 8 do {Player addItemToVest "rhs_mag_30Rnd_556x45_M855A1_Stanag";};
- for "_i" from 1 to 4 do {Player addItemToBackpack "ACE_tourniquet";};
- for "_i" from 1 to 6 do {Player addItemToBackpack "ACE_splint";};
- Player addItemToBackpack "ACE_personalAidKit";
- for "_i" from 1 to 5 do {Player addItemToBackpack "ACE_morphine";};
- Player addItemToBackpack "ACE_bloodIV_250";
- for "_i" from 1 to 5 do {Player addItemToBackpack "ACE_quikclot";};
- for "_i" from 1 to 5 do {Player addItemToBackpack "ACE_packingBandage";};
- for "_i" from 1 to 5 do {Player addItemToBackpack "ACE_elasticBandage";};
- for "_i" from 1 to 5 do {Player addItemToBackpack "ACE_fieldDressing";};
- for "_i" from 1 to 2 do {Player addItemToBackpack "rhs_mag_30Rnd_556x45_M855A1_Stanag";};
- Player addHeadgear "H_Booniehat_taiga";
- comment "Add items";
- Player linkItem "O_NVGoggles_ghex_F";
In der initPlayerLocal.sqf , welcher ihr erstellen müßt, kommt dazu folgender Inhalt:
- _unit = param [0,objNull,[objNull]];
- waitUntil {player == player};
- IF(!local _unit) exitwith {};
- private _unitType = _unit getvariable "Einheit";
- if(isNil "_unitType" ) then{_unitType = "";};
- comment "Remove existing items";
- removeAllWeapons _unit;
- removeAllItems _unit;
- removeAllAssignedItems _unit;
- removeUniform _unit;
- removeVest _unit;
- removeBackpack _unit;
- removeHeadgear _unit;
- removeGoggles _unit;
- _unit unassignItem "Itemradio";
- _unit removeItem "Itemradio";
- _unit unassignItem "NVGoggles";
- _unit removeItem "NVGoggles";
- switch(_unitType) do {
- case "Grpfhr" : { [_unit] execVM "Grpfhr.sqf"; };
- case "Rifleman" : { [_unit] execVM "Rifleman.sqf"; };
- case "Medic" : { [_unit] execVM "Medic.sqf"; };
- case "Sniper" : { [_unit] execVM "Sniper.sqf"; };
- case "Pionier" : { [_unit] execVM "Pionier.sqf"; };
- case "Grenadier" : { [_unit] execVM "Grenadier.sqf"; };
- default {
- //sollte Einheit ohne Zuweisung in der Init sein bzw. nicht bekannt sein, folgt hier ein Backup
- [_unit] execVM "Rifleman.sqf";
- };
- };
- //Nachfolgendes kann auch gelassen werden, wenn die Ausrüstungsskripts diese nicht schon beinhalten
- _unit linkItem "ItemMap";
- _unit linkItem "ItemCompass";
- _unit linkItem "ItemWatch";
- _unit linkItem "ItemGPS";