ARMA 3 - MISSION EDITING & SCRIPTING Arma 3 - Random Uniforms /Weapons for AI
Arma 3 - Random Uniforms /Weapons for AI
Quelle: Gametwitter.de Forum | views: 1740

In der Regel bin ich ziemlich faul was das Ausrüsten der AI angeht. In diesem Beispiel bediene ich mich aus Arma an sämtlichen Kleidungsstücken der Zivilisten und Waffen aus dem NIArms Waffenmod. Die Kleidungsstücke werden der AI zufällig zugewiesen, ebenso die Waffen. So bekomme ich verschiedenste Variationen an "Rebellen oder Aufständische" , welche nicht aussehen wie Militärs. Eher wie Zivilisten nur bewaffnet.

Dies erschwert Spielern zwar die Freund-Feinderkennung wegen der Zivilisten, welche auch noch da sind. Für Spieler des MilSim Bereichs sollte das kein Problem darstellen und sollten doch mehr Zivilisten am Boden liegen als erwartet, sollte man die Spielweise des oder der Spieler doch überdenken ...

Dieser Code wird einfach in die initServer.sqf eingefügt und kann natürlich nach Belieben angepaßt werden. Auch nachspawnende oder durch Zeus platzierte Einheiten werden umgehend angepaßt. In dieser Form betrifft es alle EAST Units!

[] spawn {
if (isServer) then {

while {true} do {
sleep 0.1;

{
_unit = _x;
private _var =  _unit getvariable "hasGTuniform";
//Uniformen
private _getUniform = [	"U_BG_leader",
"U_BG_Guerrilla_6_1",
"U_BG_Guerilla3_1",
"U_B_T_Soldier_AR_F",
"U_C_Mechanic_01_F",
"U_I_C_Soldier_Camo_F",
"U_C_HunterBody_grn",
"U_I_G_Story_Protagonist_F",
"U_BG_Guerilla2_2",
"U_BG_Guerilla2_3",
"U_I_C_Soldier_Bandit_2_F",
"U_O_FullGhillie_lsh",
"U_O_FullGhillie_sard"
] call BIS_fnc_selectRandom;
//Kopfbedeckung
private _getHeadgear =  ["H_Bandanna_blu",
"H_Bandanna_sand",
"H_Bandanna_gry",
"H_Bandanna_camo",
"H_Booniehat_khk",
"H_Booniehat_tan",
"H_MilCap_blue",
"H_MilCap_gry",
"H_Cap_brn_SPECOPS",
"H_PASGT_basic_black_F"
] call BIS_fnc_selectRandom;
//Westen
private _getVest =  	[
"V_Chestrig_rgr",
"V_Chestrig_blk",
"V_PlateCarrierL_CTRG",
"V_PlateCarrierH_CTRG",
"V_HarnessO_brn",
"V_HarnessOGL_brn"

] call BIS_fnc_selectRandom;
//Waffen
//Achtung bei diesen Waffen ist die Mod NIArsenal erforderlich
private _getWeapon =  	[
"hlc_rifle_slr107u_MTK",
"hlc_rifle_ak74_dirty",
"hlc_rifle_ak74m_gl",
"hlc_rifle_rpk",
"hlc_rifle_M14_Rail",
"hlc_lmg_M249E2",
"hlc_rifle_augsrcarb_b",
"hlc_rifle_ACR68_SBR_black"

] call BIS_fnc_selectRandom;



if(isNil "_var")then
{

_unit setVariable ["hasGTuniform",1,true];
removeAllWeapons _unit;
removeAllItems _unit;
removeAllAssignedItems _unit;
removeUniform _unit;
removeVest _unit;
removeBackpack _unit;
removeHeadgear _unit;
removeGoggles _unit;
_unit forceAddUniform _getUniform;
_unit addVest _getVest;
_unit addHeadgear _getHeadgear;
_unit allowFleeing 0;

//Achtung bei diesen Waffen ist die Mod NIArsenal erforderlich
//Hier wird der Einheit je nach gewählter Zufallswaffe, die Waffe mit Munition übergeben
if(_getWeapon == "hlc_rifle_ACR68_SBR_black")then
{
_unit addWeapon "hlc_rifle_ACR68_SBR_black";
_unit addPrimaryWeaponItem "hlc_muzzle_300blk_KAC";
for "_i" from 1 to 6 do {_unit addItemToVest "hlc_30rnd_68x43_FMJ";};
};

if(_getWeapon == "hlc_rifle_augsrcarb_b")then
{
_unit addWeapon "hlc_rifle_augsrcarb_b";
for "_i" from 1 to 7 do {_unit addItemToVest "hlc_30Rnd_556x45_B_AUG";};
};

if(_getWeapon == "hlc_lmg_M249E2")then
{
_unit addWeapon "hlc_lmg_M249E2";
_unit addItemToVest "hlc_200rnd_556x45_M_SAW";
_unit addBackpack "B_AssaultPack_rgr";
for "_i" from 1 to 2 do {_unit addItemToBackpack "hlc_200rnd_556x45_M_SAW";};
};

if(_getWeapon == "hlc_rifle_M14_Rail")then
{
_unit addWeapon "hlc_rifle_M14_Rail";
for "_i" from 1 to 4 do {_unit addItemToVest "hlc_20Rnd_762x51_B_M14";};
};


if(_getWeapon == "hlc_rifle_rpk")then
{
_unit addWeapon "hlc_rifle_rpk";
for "_i" from 1 to 3 do {_unit addItemToVest "hlc_75Rnd_762x39_AP_rpk";};
};


if(_getWeapon == "hlc_rifle_ak74m_gl")then
{
_unit addWeapon "hlc_rifle_ak74m_gl";
_unit addBackpack "B_AssaultPack_rgr";
for "_i" from 1 to 2 do {_unit addItemToVest "hlc_30Rnd_545x39_B_AK";};
for "_i" from 1 to 2 do {_unit addItemToBackpack "ACE_salineIV_250";};
for "_i" from 1 to 2 do {_unit addItemToBackpack "ACE_morphine";};
for "_i" from 1 to 5 do {_unit addItemToBackpack "ACE_packingBandage";};
_unit addItemToBackpack "ACE_bloodIV_250";
for "_i" from 1 to 2 do {_unit addItemToBackpack "ACE_epinephrine";};
for "_i" from 1 to 7 do {_unit addItemToBackpack "hlc_30Rnd_545x39_B_AK";};
for "_i" from 1 to 2 do {_unit addItemToBackpack "hlc_VOG25_AK";};
for "_i" from 1 to 2 do {_unit addItemToBackpack "hlc_GRD_White";};
_unit addItemToBackpack "APERSTripMine_Wire_Mag";

};


if(_getWeapon == "hlc_rifle_ak74_dirty")then
{
_unit addWeapon "hlc_rifle_ak74_dirty";
for "_i" from 1 to 6 do {_unit addItemToVest "hlc_30Rnd_545x39_B_AK";};
_unit addWeapon "launch_NLAW_F";

};


if(_getWeapon == "hlc_rifle_slr107u_MTK")then
{
_unit addWeapon "hlc_rifle_slr107u_MTK";
for "_i" from 1 to 6 do {_unit addItemToVest "hlc_30Rnd_762x39_b_ak";};


};

//Eine gewisse Grundausstattung wird der Einheit geben
for "_i" from 1 to 2 do {_unit addItemToVest "HandGrenade";};
_unit addItemToVest "SmokeShellPurple";
_unit addItemToVest "SmokeShellRed";
sleep 0.5;
}

} forEach (allUnits select {side _x == EAST});
};

};//isServer

};//spawn

Eine Kommentarfunktion ist in diesem Blog nicht vorgesehen.
Bei Problemen zum Skript bitte im Gametwitter.de Forum registieren und dort die Kommentarfunktion nutzen.