flymaker 15 Posted July 29, 2016 Hello. :)I'am trying do make a SQF script to replace default weapons from one side to modded weapons.This is my first try in a real more complex script. //Replace CSAT Weapons //Put desire Weapon/Ammo Classname to replace_replacefor_Katiba = ["hlc_rifle_auga3_GL","hlc_30Rnd_556x45_B_AUG"];_replacefor_KatibaGL = ["",""];_replacefor_KatibaC = ["",""];_replacefor_Zafir = ["",""];_replacefor_Rahin = ["",""];_replacefor_Lynx = ["",""];_replacefor_Sting = ["",""];_replacefor_Zubr = ["",""];_replacefor_Rook = ["",""];//Get Unit Current Weapon and remove_currentWeapon = primaryWeapon _this;_this removeWeapon (primaryWeapon _currentWeapon);_compatibleMags = [];{_mags = [];if ( _x != "this" ) then {_mags = getArray( configFile >> "CfgWeapons" >> _currentWeapon >> _x >> "magazines" );}else{_mags = getArray( configFile >> "CfgWeapons" >> _currentWeapon >> "magazines" );};_compatibleMags = _compatibleMags + _mags;}forEach getArray( configFile >> "CfgWeapons" >> _currentWeapon >> "muzzles" );{if ( _x in _compatibleMags ) then {_this removeMagazine _x;}} forEach magazines _this;//Replace KatibaIf ( _currentWeapon == "arifle_Katiba_F" ) then {_newWeapon = _replacefor_Katiba select 0 ;_newAmmo = _replacefor_Katiba select 1 ;_this addMagazines [_newAmmo ,6];_this addweapon _newWeapon;};If ( _currentWeapon == "arifle_Katiba_C_F" ) then {_newWeapon = _replacefor_Katiba select 0 ;_newAmmo = _replacefor_Katiba select 1 ;_this addMagazines [_newAmmo ,6];_this addweapon _newWeapon;};If ( _currentWeapon == "arifle_Katiba_GL_F" ) then {_newWeapon = _replacefor_Katiba select 0 ;_newAmmo = _replacefor_Katiba select 1 ;_this addMagazines [_newAmmo ,6];_this addweapon _newWeapon;}; Error: "type string expected object"Call method: nul = player execVM "Equip_Change.sqf"; Share this post Link to post Share on other sites
theend3r 83 Posted July 29, 2016 The most important thing is where the error is (shown by # in the error message). It's probably this due to the redundant primaryWeapon: _currentWeapon = primaryWeapon _this; _this removeWeapon (primaryWeapon _currentWeapon); Share this post Link to post Share on other sites
flymaker 15 Posted July 29, 2016 OMG Thx. I Am just starting with scripts and made a lot of mistakes. This is why i not follow programmer career. Share this post Link to post Share on other sites
flymaker 15 Posted July 30, 2016 Well i made a good progression on code but i still need help. //Replace CSAT Weapons //Put desire Weapon/Ammo Classname to replace_replacefor_Katiba = ["hlc_rifle_auga3_GL","hlc_30Rnd_556x45_B_AUG"];_replacefor_KatibaGL = ["",""];_replacefor_KatibaC = ["",""];_replacefor_Zafir = ["",""];_replacefor_Rahin = ["",""];_replacefor_Lynx = ["",""];_replacefor_Sting = ["",""];_replacefor_Zubr = ["",""];_replacefor_Rook = ["",""];//Get Unit Current Weapon and remove_getItems = primaryWeaponItems _this;_currentWeapon = [primaryWeapon _this] call BIS_fnc_baseWeapon;_this removeWeapon _currentWeapon;_magazine01 = {_x == "30Rnd_65x39_caseless_green"} count magazines _this;_magazine02 = {_x == "30Rnd_65x39_caseless_green_mag_Tracer"} count magazines _this;_magazine03 = {_x == "1Rnd_HE_Grenade_shell"} count magazines _this;_magazine04 = {_x == "1Rnd_Smoke_Grenade_shell"} count magazines _this;_magazine05 = {_x == "1Rnd_SmokeRed_Grenade_shell"} count magazines _this;_magazine06 = {_x == "1Rnd_SmokeOrange_Grenade_shell"} count magazines _this;_magazine07 = {_x == "1Rnd_SmokeYellow_Grenade_shell"} count magazines _this;_magazine08 = {_x == "1Rnd_SmokeGreen_Grenade_shell"} count magazines _this;_magazine09 = {_x == "1Rnd_SmokePurple_Grenade_shell"} count magazines _this;_magazine10 = {_x == "1Rnd_SmokeBlue_Grenade_shell"} count magazines _this;_magazine11 = {_x == "UGL_FlareCIR_F"} count magazines _this;_magazine12 = {_x == "UGL_FlareWhite_F"} count magazines _this;_magazine13 = {_x == "UGL_FlareGreen_F"} count magazines _this;_magazine14 = {_x == "UGL_FlareRed_F"} count magazines _this;_magazine15 = {_x == "UGL_FlareYellow_F"} count magazines _this;hint format["%1", magazines _this];_compatibleMags = [];{_mags = [];if ( _x != "this" ) then {_mags = getArray( configFile >> "CfgWeapons" >> _currentWeapon >> _x >> "magazines" );}else{_mags = getArray( configFile >> "CfgWeapons" >> _currentWeapon >> "magazines" );};_compatibleMags = _compatibleMags + _mags;}forEach getArray( configFile >> "CfgWeapons" >> _currentWeapon >> "muzzles" );{if ( _x in _compatibleMags ) then {_this removeMagazine _x;}} forEach magazines _this;//Replace KatibaIf ( _currentWeapon == "arifle_Katiba_F" ) then {_newWeapon = _replacefor_Katiba select 0 ;_newAmmo = _replacefor_Katiba select 1 ;_this addweapon _newWeapon;{_this addPrimaryWeaponItem _x} forEach _getItems;_this addMagazines [_newAmmo ,_magazines];};If ( _currentWeapon == "arifle_Katiba_C_F" ) then {_newWeapon = _replacefor_Katiba select 0 ;_newAmmo = _replacefor_Katiba select 1 ;if (magazines _this find "30Rnd_65x39_caseless_green" >= 0) then {_magazines = {_x == "30Rnd_65x39_caseless_green"} count magazines _this;_this addMagazines [_newAmmo ,_magazines];};_this addweapon _newWeapon;{_this addPrimaryWeaponItem _x} forEach _getItems;};If ( _currentWeapon == "arifle_Katiba_GL_F" ) then {_newWeapon = _replacefor_Katiba select 0 ;_newAmmo = _replacefor_Katiba select 1 ;if (magazines _this find "30Rnd_65x39_caseless_green" >= 0) then {_magazines = {_x == "30Rnd_65x39_caseless_green"} count magazines _this;_this addMagazines [_newAmmo ,_magazines];};_this addweapon _newWeapon;{_this addPrimaryWeaponItem _x} forEach _getItems;};If ( _currentWeapon == "LMG_Zafir_F" ) then {_newWeapon = _replacefor_Katiba select 0 ;_newAmmo = _replacefor_Katiba select 1 ;if (magazines _this find "30Rnd_65x39_caseless_green" >= 0) then {_magazines = {_x == "30Rnd_65x39_caseless_green"} count magazines _this;_this addMagazines [_newAmmo ,_magazines];};_this addweapon _newWeapon;{_this addPrimaryWeaponItem _x} forEach _getItems;};If ( _currentWeapon == "srifle_DMR_01_F" ) then {_newWeapon = _replacefor_Katiba select 0 ;_newAmmo = _replacefor_Katiba select 1 ;if (magazines _this find "30Rnd_65x39_caseless_green" >= 0) then {_magazines = {_x == "30Rnd_65x39_caseless_green"} count magazines _this;_this addMagazines [_newAmmo ,_magazines];};_this addweapon _newWeapon;{_this addPrimaryWeaponItem _x} forEach _getItems;};If ( _currentWeapon == "srifle_GM6_F" ) then {_newWeapon = _replacefor_Katiba select 0 ;_newAmmo = _replacefor_Katiba select 1 ;if (magazines _this find "30Rnd_65x39_caseless_green" >= 0) then {_magazines = {_x == "30Rnd_65x39_caseless_green"} count magazines _this;_this addMagazines [_newAmmo ,_magazines];};_this addweapon _newWeapon;{_this addPrimaryWeaponItem _x} forEach _getItems;}; I'm trying to get all magazines from first weapon, remove and re-add with the same quantity. Share this post Link to post Share on other sites
flymaker 15 Posted July 30, 2016 I was thinking about the script. I need for now a way to put all magazines from a unit on Array with count.Like that: myArray = [ ["ammo1", 15],["ammo2", 2],["ammo3", 6] ]; Anyone know how do that? Share this post Link to post Share on other sites
jshock 513 Posted July 30, 2016 https://community.bistudio.com/wiki/magazinesAmmoFull Share this post Link to post Share on other sites
flymaker 15 Posted July 30, 2016 jshock i need to count magazines from my primary weapon. For example:A unit with Katiba GL, 2 magazines 6.5, 1 magazine 6.5 tracer and 3 GL roundsThis will return:myArray = [["magazines 6.5", 2],["magazine 6.5 tracer", 1],["GL rounds", 3]];I will run a addMagazine forEach entries on Array Share this post Link to post Share on other sites
csk222 23 Posted July 30, 2016 Look through this to see if it helps. https://forums.bistudio.com/topic/186762-how-to-remove-primaryweapon-ammomagazine/ --- Ultimately this is how I ended up using it. /* Author: Cobra [BOMSF] 1949-2014 cobra@bomsf.com - www.bomsf.com You may re-use any of this work as long as you provide credit back to me. Contact bomsfARMA3@gmail.com Edit By CSK222 Soldier Loadouts Class: Rifleman Weapons: MXGL Path: text = "\A3\Weapons_F_EPB\Rifles\MX_Black\Data\UI\gear_mx_rifle_gl_black_X_CA.paa"; */ private ["_soldier"]; _soldier = _this select 0; if(local _soldier) then { // Remove Old Primary Weapon Ammo _compatibleMags = []; { _mags = []; if ( _x != "this" ) then { _mags = getArray( configFile >> "CfgWeapons" >> primaryWeapon _soldier >> _x >> "magazines" ); }else { _mags = getArray( configFile >> "CfgWeapons" >> primaryWeapon _soldier >> "magazines" ); }; _compatibleMags = _compatibleMags + _mags; } forEach getArray( configFile >> "CfgWeapons" >> primaryWeapon _soldier >> "muzzles" ); { if ( _x in _compatibleMags ) then { _soldier removeMagazine _x; } } forEach magazines _soldier; _soldier removeWeapon primaryWeapon _soldier; // Primary Weapon _soldier addMagazines ["30Rnd_65x39_caseless_mag_Tracer",4]; _soldier addMagazines ["3Rnd_HE_Grenade_shell",3]; _soldier addMagazines ["3Rnd_UGL_FlareWhite_F",3]; _soldier addMagazines ["3Rnd_Smoke_Grenade_shell",3]; _soldier addweapon "arifle_MX_GL_Black_F"; _soldier addPrimaryWeaponItem "acc_pointer_IR"; _soldier addPrimaryWeaponItem "optic_Hamr"; _soldier addPrimaryWeaponItem "muzzle_snds_H"; // Insignia [_soldier,"BOMSF"] call bis_fnc_setUnitInsignia; }; Share this post Link to post Share on other sites
flymaker 15 Posted July 30, 2016 You made it manually. I want to made automatic because the script will replace all infantry units. This is to prevent hard work in codes like this: scriptName "AAF_Eqipment";If !(typeOf _this in ["I_Soldier_AAA_F","I_Soldier_AAR_F","I_Soldier_AAT_F","I_Soldier_AA_F","I_Soldier_AR_F","I_Soldier_AT_F","I_Soldier_A_F","I_Soldier_GL_F","I_Soldier_LAT_F","I_Soldier_M_F","I_Soldier_SL_F","I_Soldier_TL_F","I_Soldier_exp_F","I_Soldier_lite_F","I_Soldier_repair_F","I_Soldier_unarmed_F","I_crew_F","I_engineer_F","I_helicrew_F","I_helipilot_F","I_medic_F","I_officer_F","I_pilot_F","I_soldier_F","I_soldier_UAV_F","I_support_AMG_F","I_support_AMort_F","I_support_GMG_F","I_support_MG_F","I_support_Mort_F","I_Sniper_F","I_Spotter_F"]) exitWith {["%1 has wrong loadout",_this] call BIS_fnc_logFormat};comment "Remove existing items";removeAllWeapons _this;removeAllItems _this;removeAllAssignedItems _this;removeUniform _this;removeVest _this;removeBackpack _this;removeHeadgear _this;removeGoggles _this;// Officer - DoneIf (typeOf _this == "I_officer_F") Then {comment "Add containers";_this forceAddUniform "U_I_OfficerUniform";_this addItemToUniform "FirstAidKit";for "_i" from 1 to 2 do {_this addItemToUniform "hlc_25Rnd_9x19mm_M882_AUG";};_this addItemToUniform "hlc_25Rnd_9x19mm_JHP_AUG";_this addVest "V_BandollierB_oli";for "_i" from 1 to 2 do {_this addItemToVest "9Rnd_45ACP_Mag";};_this addItemToVest "SmokeShellGreen";_this addItemToVest "SmokeShellOrange";_this addItemToVest "SmokeShellPurple";for "_i" from 1 to 2 do {_this addItemToVest "Chemlight_green";};_this addHeadgear "H_MilCap_dgtl";_this addGoggles "G_Aviator";comment "Add weapons";_this addWeapon "hlc_rifle_auga2para_b";_this addPrimaryWeaponItem "optic_ACO_grn";_this addWeapon "hgun_ACPC2_F";comment "Add items";_this linkItem "ItemMap";_this linkItem "ItemCompass";_this linkItem "ItemWatch";_this linkItem "ItemRadio";_this linkItem "ItemGPS";};// Team leader - DoneIf (typeOf _this == "I_Soldier_TL_F") Then {comment "Add containers";_this forceAddUniform "U_I_CombatUniform";_this addItemToUniform "FirstAidKit";_this addItemToUniform "hlc_30Rnd_556x45_B_AUG";_this addItemToUniform "hlc_30Rnd_556x45_SOST_AUG";_this addItemToUniform "hlc_30Rnd_556x45_SPR_AUG";_this addVest "V_PlateCarrierIAGL_dgtl";for "_i" from 1 to 2 do {_this addItemToVest "hlc_30Rnd_556x45_T_AUG";};for "_i" from 1 to 2 do {_this addItemToVest "9Rnd_45ACP_Mag";};for "_i" from 1 to 2 do {_this addItemToVest "MiniGrenade";};for "_i" from 1 to 5 do {_this addItemToVest "1Rnd_HE_Grenade_shell";};_this addItemToVest "SmokeShell";_this addItemToVest "SmokeShellGreen";_this addItemToVest "SmokeShellOrange";_this addItemToVest "SmokeShellPurple";for "_i" from 1 to 2 do {_this addItemToVest "Chemlight_green";};for "_i" from 1 to 2 do {_this addItemToVest "1Rnd_Smoke_Grenade_shell";};_this addItemToVest "1Rnd_SmokeGreen_Grenade_shell";_this addItemToVest "1Rnd_SmokeOrange_Grenade_shell";_this addItemToVest "1Rnd_SmokePurple_Grenade_shell";_this addHeadgear "H_HelmetIA";comment "Add weapons";_this addWeapon "hlc_rifle_auga3_GL";_this addPrimaryWeaponItem "acc_pointer_IR";_this addPrimaryWeaponItem "optic_MRCO";_this addWeapon "hgun_ACPC2_F";_this addWeapon "Binocular";comment "Add items";_this linkItem "ItemMap";_this linkItem "ItemCompass";_this linkItem "ItemWatch";_this linkItem "ItemRadio";_this linkItem "ItemGPS";_this linkItem "NVGoggles_INDEP";};// Squad leader - DoneIf (typeOf _this == "I_Soldier_SL_F") Then {comment "Add containers";_this forceAddUniform "U_I_CombatUniform_shortsleeve";_this addItemToUniform "FirstAidKit";_this addItemToUniform "hlc_30Rnd_556x45_B_AUG";_this addItemToUniform "hlc_30Rnd_556x45_SOST_AUG";_this addItemToUniform "hlc_30Rnd_556x45_SPR_AUG";_this addVest "V_PlateCarrierIA2_dgtl";for "_i" from 1 to 2 do {_this addItemToVest "hlc_30Rnd_556x45_T_AUG";};for "_i" from 1 to 2 do {_this addItemToVest "9Rnd_45ACP_Mag";};for "_i" from 1 to 2 do {_this addItemToVest "HandGrenade";};for "_i" from 1 to 2 do {_this addItemToVest "I_IR_Grenade";};_this addItemToVest "SmokeShell";_this addItemToVest "SmokeShellGreen";_this addItemToVest "SmokeShellOrange";_this addItemToVest "SmokeShellPurple";for "_i" from 1 to 2 do {_this addItemToVest "Chemlight_green";};_this addHeadgear "H_HelmetIA";_this addGoggles "G_Sport_BlackWhite";comment "Add weapons";_this addWeapon "hlc_rifle_auga3";_this addPrimaryWeaponItem "acc_pointer_IR";_this addPrimaryWeaponItem "optic_MRCO";_this addWeapon "hgun_ACPC2_F";_this addWeapon "Binocular";comment "Add items";_this linkItem "ItemMap";_this linkItem "ItemCompass";_this linkItem "ItemWatch";_this linkItem "ItemRadio";_this linkItem "ItemGPS";_this linkItem "NVGoggles_INDEP";};// Rifleman - DoneIf (typeOf _this == "I_soldier_F") Then {comment "Add containers";_this forceAddUniform "U_I_CombatUniform";_this addItemToUniform "FirstAidKit";for "_i" from 1 to 3 do {_this addItemToUniform "hlc_30Rnd_556x45_B_AUG";};_this addVest "V_PlateCarrierIA1_dgtl";for "_i" from 1 to 3 do {_this addItemToVest "hlc_30Rnd_556x45_SOST_AUG";};for "_i" from 1 to 3 do {_this addItemToVest "hlc_30Rnd_556x45_SPR_AUG";};for "_i" from 1 to 2 do {_this addItemToVest "9Rnd_45ACP_Mag";};for "_i" from 1 to 2 do {_this addItemToVest "HandGrenade";};_this addItemToVest "SmokeShell";_this addItemToVest "SmokeShellGreen";for "_i" from 1 to 2 do {_this addItemToVest "Chemlight_green";};_this addHeadgear "H_HelmetIA";comment "Add weapons";_this addWeapon "hlc_rifle_auga3";_this addPrimaryWeaponItem "acc_pointer_IR";_this addPrimaryWeaponItem "optic_ACO_grn";_this addWeapon "hgun_ACPC2_F";comment "Add items";_this linkItem "ItemMap";_this linkItem "ItemCompass";_this linkItem "ItemWatch";_this linkItem "ItemRadio";_this linkItem "NVGoggles_INDEP";};// Rifleman Light - DoneIf (typeOf _this == "I_Soldier_lite_F") Then {comment "Add containers";_this forceAddUniform "U_I_CombatUniform_shortsleeve";_this addItemToUniform "FirstAidKit";_this addItemToUniform "hlc_30Rnd_556x45_B_AUG";_this addItemToUniform "hlc_30Rnd_556x45_SOST_AUG";_this addItemToUniform "hlc_30Rnd_556x45_SPR_AUG";_this addVest "V_Chestrig_oli";for "_i" from 1 to 2 do {_this addItemToVest "9Rnd_45ACP_Mag";};_this addItemToVest "SmokeShell";_this addItemToVest "SmokeShellGreen";for "_i" from 1 to 2 do {_this addItemToVest "Chemlight_green";};_this addHeadgear "H_MilCap_dgtl";comment "Add weapons";_this addWeapon "hlc_rifle_auga3";_this addPrimaryWeaponItem "optic_ACO_grn";_this addWeapon "hgun_ACPC2_F";comment "Add items";_this linkItem "ItemMap";_this linkItem "ItemCompass";_this linkItem "ItemWatch";_this linkItem "ItemRadio";_this linkItem "NVGoggles_INDEP";};// Rifleman AT - DoneIf (typeOf _this == "I_Soldier_LAT_F") Then {comment "Add containers";_this forceAddUniform "U_I_CombatUniform";_this addItemToUniform "FirstAidKit";for "_i" from 1 to 2 do {_this addItemToUniform "hlc_30Rnd_556x45_B_AUG";};_this addVest "V_PlateCarrierIA2_dgtl";for "_i" from 1 to 2 do {_this addItemToVest "hlc_30Rnd_556x45_SOST_AUG";};_this addItemToVest "hlc_30Rnd_556x45_SPR_AUG";for "_i" from 1 to 2 do {_this addItemToVest "9Rnd_45ACP_Mag";};_this addItemToVest "SmokeShell";_this addItemToVest "SmokeShellGreen";for "_i" from 1 to 2 do {_this addItemToVest "Chemlight_green";};_this addBackpack "B_FieldPack_oli";for "_i" from 1 to 2 do {_this addItemToBackpack "NLAW_F";};_this addHeadgear "H_HelmetIA";_this addGoggles "G_Sport_Red";comment "Add weapons";_this addWeapon "hlc_rifle_auga3";_this addPrimaryWeaponItem "acc_pointer_IR";_this addPrimaryWeaponItem "optic_ACO_grn";_this addWeapon "launch_NLAW_F";_this addWeapon "hgun_ACPC2_F";comment "Add items";_this linkItem "ItemMap";_this linkItem "ItemCompass";_this linkItem "ItemWatch";_this linkItem "ItemRadio";_this linkItem "NVGoggles_INDEP";};// Grenadier - DoneIf (typeOf _this == "I_Soldier_GL_F") Then {comment "Add containers";_this forceAddUniform "U_I_CombatUniform";_this addItemToUniform "FirstAidKit";for "_i" from 1 to 2 do {_this addItemToUniform "hlc_30Rnd_556x45_B_AUG";};_this addItemToUniform "1Rnd_SmokePurple_Grenade_shell";_this addVest "V_PlateCarrierIAGL_dgtl";for "_i" from 1 to 2 do {_this addItemToVest "hlc_30Rnd_556x45_SOST_AUG";};_this addItemToVest "hlc_30Rnd_556x45_SPR_AUG";for "_i" from 1 to 2 do {_this addItemToVest "9Rnd_45ACP_Mag";};for "_i" from 1 to 2 do {_this addItemToVest "HandGrenade";};for "_i" from 1 to 2 do {_this addItemToVest "MiniGrenade";};for "_i" from 1 to 5 do {_this addItemToVest "1Rnd_HE_Grenade_shell";};_this addItemToVest "SmokeShell";_this addItemToVest "SmokeShellGreen";for "_i" from 1 to 2 do {_this addItemToVest "Chemlight_green";};for "_i" from 1 to 2 do {_this addItemToVest "1Rnd_Smoke_Grenade_shell";};_this addItemToVest "1Rnd_SmokeGreen_Grenade_shell";_this addItemToVest "1Rnd_SmokeOrange_Grenade_shell";_this addHeadgear "H_HelmetIA_net";comment "Add weapons";_this addWeapon "hlc_rifle_auga3_GL";_this addPrimaryWeaponItem "optic_ACO_grn";_this addWeapon "hgun_ACPC2_F";comment "Add items";_this linkItem "ItemMap";_this linkItem "ItemCompass";_this linkItem "ItemWatch";_this linkItem "ItemRadio";_this linkItem "NVGoggles_INDEP";};// AutoRifleman - DoneIf (typeOf _this == "I_Soldier_AR_F") Then {comment "Add containers";_this forceAddUniform "U_I_CombatUniform_shortsleeve";_this addItemToUniform "FirstAidKit";for "_i" from 1 to 2 do {_this addItemToUniform "9Rnd_45ACP_Mag";};_this addItemToUniform "HandGrenade";_this addItemToUniform "SmokeShell";_this addVest "V_PlateCarrierIA2_dgtl";_this addItemToVest "hlc_200rnd_556x45_B_SAW";_this addItemToVest "hlc_200rnd_556x45_M_SAW";_this addItemToVest "SmokeShellGreen";for "_i" from 1 to 2 do {_this addItemToVest "Chemlight_green";};_this addHeadgear "H_HelmetIA_camo";_this addGoggles "G_Sport_Blackred";comment "Add weapons";_this addWeapon "hlc_lmg_minimi_railed";_this addWeapon "hgun_ACPC2_F";comment "Add items";_this linkItem "ItemMap";_this linkItem "ItemCompass";_this linkItem "ItemWatch";_this linkItem "ItemRadio";_this linkItem "NVGoggles_INDEP";};// Marksman - DoneIf (typeOf _this == "I_Soldier_M_F") Then {comment "Add containers";_this forceAddUniform "U_I_CombatUniform";_this addItemToUniform "FirstAidKit";_this addItemToUniform "hlc_20Rnd_762x51_B_M14";_this addItemToUniform "Chemlight_green";_this addVest "V_PlateCarrierIA1_dgtl";_this addItemToVest "hlc_20Rnd_762x51_B_M14";for "_i" from 1 to 2 do {_this addItemToVest "20Rnd_762x51_barrier_M14";};for "_i" from 1 to 2 do {_this addItemToVest "hlc_20Rnd_762x51_mk316_M14";};for "_i" from 1 to 2 do {_this addItemToVest "hlc_20Rnd_762x51_T_M14";};for "_i" from 1 to 2 do {_this addItemToVest "9Rnd_45ACP_Mag";};for "_i" from 1 to 2 do {_this addItemToVest "HandGrenade";};_this addItemToVest "SmokeShell";_this addItemToVest "SmokeShellGreen";_this addItemToVest "Chemlight_green";_this addHeadgear "H_HelmetIA";comment "Add weapons";_this addWeapon "hlc_rifle_m14dmr";_this addPrimaryWeaponItem "hlc_optic_artel_m14";_this addWeapon "hgun_ACPC2_F";comment "Add items";_this linkItem "ItemMap";_this linkItem "ItemCompass";_this linkItem "ItemWatch";_this linkItem "ItemRadio";_this linkItem "NVGoggles_INDEP";};// Sniper - DoneIf (typeOf _this == "I_Sniper_F") Then {comment "Add containers";_this forceAddUniform "U_I_GhillieSuit";_this addItemToUniform "FirstAidKit";for "_i" from 1 to 2 do {_this addItemToUniform "hlc_5rnd_300WM_FMJ_AWM";};_this addItemToUniform "SmokeShell";_this addVest "V_Chestrig_oli";_this addItemToVest "hlc_5rnd_300WM_mk248_AWM";_this addItemToVest "hlc_5rnd_300WM_BTSP_AWM";_this addItemToVest "hlc_5rnd_300WM_AP_AWM";for "_i" from 1 to 2 do {_this addItemToVest "9Rnd_45ACP_Mag";};_this addItemToVest "APERSTripMine_Wire_Mag";_this addItemToVest "ClaymoreDirectionalMine_Remote_Mag";_this addItemToVest "SmokeShellGreen";_this addItemToVest "SmokeShellOrange";_this addItemToVest "SmokeShellPurple";for "_i" from 1 to 2 do {_this addItemToVest "Chemlight_green";};comment "Add weapons";_this addWeapon "hlc_rifle_awMagnum_OD_ghillie";_this addPrimaryWeaponItem "optic_LRPS";_this addWeapon "hgun_ACPC2_F";_this addHandgunItem "muzzle_snds_acp";_this addWeapon "Rangefinder";comment "Add items";_this linkItem "ItemMap";_this linkItem "ItemCompass";_this linkItem "ItemWatch";_this linkItem "ItemRadio";_this linkItem "ItemGPS";_this linkItem "NVGoggles_INDEP";};// Spotter - DoneIf (typeOf _this == "I_Spotter_F") Then {comment "Add containers";_this forceAddUniform "U_I_GhillieSuit";_this addItemToUniform "FirstAidKit";for "_i" from 1 to 2 do {_this addItemToUniform "hlc_30Rnd_556x45_B_AUG";};for "_i" from 1 to 2 do {_this addItemToUniform "hlc_30Rnd_556x45_SOST_AUG";};_this addItemToUniform "hlc_30Rnd_556x45_SPR_AUG";_this addItemToUniform "SmokeShell";_this addVest "V_Chestrig_oli";for "_i" from 1 to 2 do {_this addItemToVest "9Rnd_45ACP_Mag";};_this addItemToVest "ClaymoreDirectionalMine_Remote_Mag";_this addItemToVest "APERSTripMine_Wire_Mag";for "_i" from 1 to 2 do {_this addItemToVest "MiniGrenade";};for "_i" from 1 to 2 do {_this addItemToVest "I_IR_Grenade";};_this addItemToVest "SmokeShellGreen";_this addItemToVest "SmokeShellOrange";_this addItemToVest "SmokeShellPurple";for "_i" from 1 to 2 do {_this addItemToVest "Chemlight_green";};comment "Add weapons";_this addWeapon "hlc_rifle_auga3";_this addPrimaryWeaponItem "optic_MRCO";_this addWeapon "hgun_ACPC2_F";_this addHandgunItem "muzzle_snds_acp";_this addWeapon "Laserdesignator_03";comment "Add items";_this linkItem "ItemMap";_this linkItem "ItemCompass";_this linkItem "ItemWatch";_this linkItem "ItemRadio";_this linkItem "ItemGPS";_this linkItem "NVGoggles_INDEP";};// AT Specialist - DoneIf (typeOf _this == "I_Soldier_AT_F") Then {comment "Add containers";_this forceAddUniform "U_I_CombatUniform";_this addItemToUniform "FirstAidKit";for "_i" from 1 to 3 do {_this addItemToUniform "hlc_25Rnd_9x19mm_M882_AUG";};_this addVest "V_PlateCarrierIA2_dgtl";for "_i" from 1 to 2 do {_this addItemToVest "hlc_25Rnd_9x19mm_JHP_AUG";};for "_i" from 1 to 2 do {_this addItemToVest "9Rnd_45ACP_Mag";};for "_i" from 1 to 2 do {_this addItemToVest "HandGrenade";};_this addItemToVest "SmokeShell";_this addItemToVest "SmokeShellGreen";for "_i" from 1 to 2 do {_this addItemToVest "Chemlight_green";};_this addBackpack "B_FieldPack_oli";for "_i" from 1 to 2 do {_this addItemToBackpack "Titan_AT";};_this addHeadgear "H_HelmetIA_camo";comment "Add weapons";_this addWeapon "hlc_rifle_auga2para_b";_this addPrimaryWeaponItem "acc_pointer_IR";_this addPrimaryWeaponItem "optic_ACO_grn";_this addWeapon "launch_I_Titan_short_F";_this addWeapon "hgun_ACPC2_F";comment "Add items";_this linkItem "ItemMap";_this linkItem "ItemCompass";_this linkItem "ItemWatch";_this linkItem "ItemRadio";_this linkItem "NVGoggles_INDEP";};// AA Specialist - DoneIf (typeOf _this == "I_Soldier_AA_F") Then {comment "Add containers";_this forceAddUniform "U_I_CombatUniform_shortsleeve";_this addItemToUniform "FirstAidKit";for "_i" from 1 to 3 do {_this addItemToUniform "hlc_25Rnd_9x19mm_M882_AUG";};_this addVest "V_PlateCarrierIA2_dgtl";for "_i" from 1 to 2 do {_this addItemToVest "hlc_25Rnd_9x19mm_JHP_AUG";};for "_i" from 1 to 2 do {_this addItemToVest "9Rnd_45ACP_Mag";};for "_i" from 1 to 2 do {_this addItemToVest "HandGrenade";};_this addItemToVest "SmokeShell";_this addItemToVest "SmokeShellGreen";for "_i" from 1 to 2 do {_this addItemToVest "Chemlight_green";};_this addBackpack "B_FieldPack_oli";for "_i" from 1 to 2 do {_this addItemToBackpack "Titan_AA";};_this addHeadgear "H_HelmetIA";comment "Add weapons";_this addWeapon "hlc_rifle_auga2para_b";_this addPrimaryWeaponItem "acc_pointer_IR";_this addPrimaryWeaponItem "optic_ACO_grn";_this addWeapon "launch_I_Titan_F";_this addWeapon "hgun_ACPC2_F";comment "Add items";_this linkItem "ItemMap";_this linkItem "ItemCompass";_this linkItem "ItemWatch";_this linkItem "ItemRadio";_this linkItem "NVGoggles_INDEP";};// Assist AT Specialist - DoneIf (typeOf _this == "I_Soldier_AAT_F") Then {comment "Add containers";_this forceAddUniform "U_I_CombatUniform_tshirt";_this addItemToUniform "FirstAidKit";for "_i" from 1 to 3 do {_this addItemToUniform "hlc_30Rnd_556x45_B_AUG";};_this addVest "V_Chestrig_oli";for "_i" from 1 to 2 do {_this addItemToVest "hlc_30Rnd_556x45_SOST_AUG";};for "_i" from 1 to 2 do {_this addItemToVest "hlc_30Rnd_556x45_SPR_AUG";};for "_i" from 1 to 2 do {_this addItemToVest "9Rnd_45ACP_Mag";};for "_i" from 1 to 2 do {_this addItemToVest "HandGrenade";};for "_i" from 1 to 2 do {_this addItemToVest "I_IR_Grenade";};_this addItemToVest "SmokeShell";_this addItemToVest "SmokeShellGreen";for "_i" from 1 to 2 do {_this addItemToVest "Chemlight_green";};_this addBackpack "B_Carryall_oli";for "_i" from 1 to 2 do {_this addItemToBackpack "Titan_AT";};for "_i" from 1 to 2 do {_this addItemToBackpack "Titan_AP";};_this addHeadgear "H_HelmetIA";_this addGoggles "G_Sport_Checkered";comment "Add weapons";_this addWeapon "hlc_rifle_auga3";_this addPrimaryWeaponItem "acc_pointer_IR";_this addPrimaryWeaponItem "optic_ACO_grn";_this addWeapon "hgun_ACPC2_F";_this addWeapon "Rangefinder";comment "Add items";_this linkItem "ItemMap";_this linkItem "ItemCompass";_this linkItem "ItemWatch";_this linkItem "ItemRadio";_this linkItem "NVGoggles_INDEP";};// Assist AA Specialist - DoneIf (typeOf _this == "I_Soldier_AAA_F") Then {comment "Add containers";_this forceAddUniform "U_I_CombatUniform_tshirt";_this addItemToUniform "FirstAidKit";for "_i" from 1 to 3 do {_this addItemToUniform "hlc_30Rnd_556x45_B_AUG";};_this addVest "V_Chestrig_oli";for "_i" from 1 to 2 do {_this addItemToVest "hlc_30Rnd_556x45_SOST_AUG";};for "_i" from 1 to 2 do {_this addItemToVest "hlc_30Rnd_556x45_SPR_AUG";};for "_i" from 1 to 2 do {_this addItemToVest "9Rnd_45ACP_Mag";};for "_i" from 1 to 2 do {_this addItemToVest "HandGrenade";};for "_i" from 1 to 2 do {_this addItemToVest "I_IR_Grenade";};_this addItemToVest "SmokeShell";_this addItemToVest "SmokeShellGreen";for "_i" from 1 to 2 do {_this addItemToVest "Chemlight_green";};_this addBackpack "B_Carryall_oli";for "_i" from 1 to 3 do {_this addItemToBackpack "Titan_AA";};_this addHeadgear "H_HelmetIA";comment "Add weapons";_this addWeapon "hlc_rifle_auga3";_this addPrimaryWeaponItem "acc_pointer_IR";_this addPrimaryWeaponItem "optic_ACO_grn";_this addWeapon "hgun_ACPC2_F";_this addWeapon "Rangefinder";comment "Add items";_this linkItem "ItemMap";_this linkItem "ItemCompass";_this linkItem "ItemWatch";_this linkItem "ItemRadio";_this linkItem "NVGoggles_INDEP";};// Assist Auto Rifleman - DoneIf (typeOf _this == "I_Soldier_AAR_F") Then {comment "Add containers";_this forceAddUniform "U_I_CombatUniform_tshirt";_this addItemToUniform "FirstAidKit";for "_i" from 1 to 3 do {_this addItemToUniform "hlc_30Rnd_556x45_B_AUG";};_this addVest "V_Chestrig_oli";for "_i" from 1 to 2 do {_this addItemToVest "hlc_30Rnd_556x45_SOST_AUG";};for "_i" from 1 to 2 do {_this addItemToVest "hlc_30Rnd_556x45_SPR_AUG";};for "_i" from 1 to 2 do {_this addItemToVest "9Rnd_45ACP_Mag";};for "_i" from 1 to 2 do {_this addItemToVest "HandGrenade";};for "_i" from 1 to 2 do {_this addItemToVest "I_IR_Grenade";};_this addItemToVest "SmokeShell";_this addItemToVest "SmokeShellGreen";for "_i" from 1 to 2 do {_this addItemToVest "Chemlight_green";};_this addBackpack "B_TacticalPack_oli";_this addItemToBackpack "optic_tws_mg";_this addItemToBackpack "hlc_muzzle_556NATO_KAC";for "_i" from 1 to 2 do {_this addItemToBackpack "hlc_200rnd_556x45_B_SAW";};_this addItemToBackpack "hlc_200rnd_556x45_M_SAW";_this addItemToBackpack "hlc_200rnd_556x45_T_SAW";_this addHeadgear "H_HelmetIA";_this addGoggles "G_Tactical_Black";comment "Add weapons";_this addWeapon "hlc_rifle_auga3";_this addPrimaryWeaponItem "acc_pointer_IR";_this addPrimaryWeaponItem "optic_ACO_grn";_this addWeapon "hgun_ACPC2_F";_this addWeapon "Rangefinder";comment "Add items";_this linkItem "ItemMap";_this linkItem "ItemCompass";_this linkItem "ItemWatch";_this linkItem "ItemRadio";_this linkItem "NVGoggles_INDEP";};// Heli Pilot - DoneIf (typeOf _this == "I_helipilot_F") Then {comment "Add containers";_this forceAddUniform "U_I_HeliPilotCoveralls";_this addItemToUniform "FirstAidKit";for "_i" from 1 to 2 do {_this addItemToUniform "hlc_30Rnd_9x19_B_MP5";};_this addItemToUniform "Chemlight_green";_this addVest "V_TacVest_oli";_this addItemToVest "hlc_30Rnd_9x19_GD_MP5";_this addItemToVest "SmokeShellGreen";_this addItemToVest "SmokeShellOrange";_this addItemToVest "SmokeShellPurple";_this addItemToVest "Chemlight_green";_this addHeadgear "H_PilotHelmetHeli_I";comment "Add weapons";_this addWeapon "hlc_smg_mp5k_PDW";_this addPrimaryWeaponItem "optic_Holosight_smg";comment "Add items";_this linkItem "ItemMap";_this linkItem "ItemCompass";_this linkItem "ItemWatch";_this linkItem "ItemRadio";_this linkItem "NVGoggles_INDEP";};// Heli Crew - DoneIf (typeOf _this == "I_helicrew_F") Then {comment "Add containers";_this forceAddUniform "U_I_HeliPilotCoveralls";_this addItemToUniform "FirstAidKit";for "_i" from 1 to 2 do {_this addItemToUniform "hlc_25Rnd_9x19mm_M882_AUG";};_this addItemToUniform "hlc_25Rnd_9x19mm_JHP_AUG";_this addVest "V_TacVest_oli";_this addItemToVest "SmokeShellGreen";_this addItemToVest "SmokeShellOrange";_this addItemToVest "SmokeShellPurple";for "_i" from 1 to 2 do {_this addItemToVest "Chemlight_green";};_this addHeadgear "H_CrewHelmetHeli_I";comment "Add weapons";_this addWeapon "hlc_rifle_auga2para_b";comment "Add items";_this linkItem "ItemMap";_this linkItem "ItemCompass";_this linkItem "ItemWatch";_this linkItem "ItemRadio";_this linkItem "NVGoggles_INDEP";};// Pilot - DoneIf (typeOf _this == "I_pilot_F") Then {comment "Add containers";_this forceAddUniform "U_I_pilotCoveralls";_this addItemToUniform "FirstAidKit";for "_i" from 1 to 2 do {_this addItemToUniform "hlc_30Rnd_9x19_B_MP5";};_this addItemToUniform "hlc_30Rnd_9x19_GD_MP5";_this addItemToUniform "SmokeShell";_this addItemToUniform "SmokeShellGreen";_this addItemToUniform "Chemlight_green";_this addBackpack "B_Parachute";_this addHeadgear "H_PilotHelmetFighter_I";_this addGoggles "G_Lowprofile";comment "Add weapons";_this addWeapon "hlc_smg_mp5k_PDW";_this addPrimaryWeaponItem "optic_Holosight_smg";comment "Add items";_this linkItem "ItemMap";_this linkItem "ItemCompass";_this linkItem "ItemWatch";_this linkItem "ItemRadio";};// Medic - DoneIf (typeOf _this == "I_medic_F") Then {comment "Add containers";_this forceAddUniform "U_I_CombatUniform_shortsleeve";_this addItemToUniform "FirstAidKit";for "_i" from 1 to 2 do {_this addItemToUniform "hlc_30Rnd_556x45_B_AUG";};_this addItemToUniform "hlc_30Rnd_556x45_SOST_AUG";_this addVest "V_PlateCarrierIA2_dgtl";_this addItemToVest "hlc_30Rnd_556x45_SOST_AUG";_this addItemToVest "hlc_30Rnd_556x45_SPR_AUG";for "_i" from 1 to 2 do {_this addItemToVest "9Rnd_45ACP_Mag";};_this addItemToVest "SmokeShell";_this addItemToVest "SmokeShellGreen";_this addItemToVest "SmokeShellOrange";_this addItemToVest "SmokeShellPurple";for "_i" from 1 to 2 do {_this addItemToVest "Chemlight_green";};_this addBackpack "B_FieldPack_oli";_this addItemToBackpack "Medikit";for "_i" from 1 to 15 do {_this addItemToBackpack "FirstAidKit";};_this addHeadgear "H_HelmetIA";_this addGoggles "G_Tactical_Black";comment "Add weapons";_this addWeapon "hlc_rifle_auga3";_this addPrimaryWeaponItem "acc_pointer_IR";_this addWeapon "hgun_ACPC2_F";comment "Add items";_this linkItem "ItemMap";_this linkItem "ItemCompass";_this linkItem "ItemWatch";_this linkItem "ItemRadio";_this linkItem "NVGoggles_INDEP";};// AmmoBearer - DoneIf (typeOf _this == "I_Soldier_A_F") Then {comment "Add containers";_this forceAddUniform "U_I_CombatUniform_shortsleeve";_this addItemToUniform "FirstAidKit";for "_i" from 1 to 3 do {_this addItemToUniform "hlc_30Rnd_556x45_B_AUG";};_this addVest "V_PlateCarrierIA1_dgtl";_this addItemToVest "hlc_30Rnd_556x45_B_AUG";for "_i" from 1 to 3 do {_this addItemToVest "hlc_30Rnd_556x45_SOST_AUG";};for "_i" from 1 to 2 do {_this addItemToVest "hlc_30Rnd_556x45_SPR_AUG";};for "_i" from 1 to 2 do {_this addItemToVest "9Rnd_45ACP_Mag";};for "_i" from 1 to 2 do {_this addItemToVest "HandGrenade";};_this addItemToVest "SmokeShell";_this addItemToVest "SmokeShellGreen";for "_i" from 1 to 2 do {_this addItemToVest "Chemlight_green";};_this addBackpack "B_FieldPack_oli";for "_i" from 1 to 4 do {_this addItemToBackpack "FirstAidKit";};for "_i" from 1 to 4 do {_this addItemToBackpack "hlc_30Rnd_556x45_B_AUG";};for "_i" from 1 to 3 do {_this addItemToBackpack "hlc_30Rnd_556x45_SOST_AUG";};_this addItemToBackpack "hlc_200rnd_556x45_B_SAW";_this addItemToBackpack "NLAW_F";for "_i" from 1 to 2 do {_this addItemToBackpack "HandGrenade";};for "_i" from 1 to 2 do {_this addItemToBackpack "MiniGrenade";};for "_i" from 1 to 6 do {_this addItemToBackpack "1Rnd_HE_Grenade_shell";};_this addItemToBackpack "hlc_20Rnd_762x51_B_M14";_this addItemToBackpack "hlc_20Rnd_762x51_barrier_M14";_this addItemToBackpack "hlc_20Rnd_762x51_mk316_M14";_this addHeadgear "H_HelmetIA_net";_this addGoggles "G_Sport_Greenblack";comment "Add weapons";_this addWeapon "hlc_rifle_auga3";_this addPrimaryWeaponItem "acc_pointer_IR";_this addPrimaryWeaponItem "optic_ACO_grn";_this addWeapon "hgun_ACPC2_F";comment "Add items";_this linkItem "ItemMap";_this linkItem "ItemCompass";_this linkItem "ItemWatch";_this linkItem "ItemRadio";_this linkItem "NVGoggles_INDEP";};// Explosive Specialist - DoneIf (typeOf _this == "I_Soldier_EXP_F") Then {comment "Add containers";_this forceAddUniform "U_I_CombatUniform_shortsleeve";_this addItemToUniform "FirstAidKit";for "_i" from 1 to 3 do {_this addItemToUniform "hlc_25Rnd_9x19mm_M882_AUG";};_this addItemToUniform "SmokeShellGreen";_this addItemToUniform "Chemlight_green";_this addVest "V_PlateCarrierIAGL_dgtl";for "_i" from 1 to 2 do {_this addItemToVest "hlc_25Rnd_9x19mm_JHP_AUG";};for "_i" from 1 to 2 do {_this addItemToVest "9Rnd_45ACP_Mag";};for "_i" from 1 to 3 do {_this addItemToVest "APERSMine_Range_Mag";};for "_i" from 1 to 2 do {_this addItemToVest "HandGrenade";};_this addItemToVest "SmokeShell";_this addItemToVest "Chemlight_green";_this addBackpack "B_Carryall_oli";_this addItemToBackpack "ToolKit";for "_i" from 1 to 1 do {_this addItemToBackpack "MineDetector";};for "_i" from 1 to 4 do {_this addItemToBackpack "APERSBoundingMine_Range_Mag";};for "_i" from 1 to 2 do {_this addItemToBackpack "ClaymoreDirectionalMine_Remote_Mag";};for "_i" from 1 to 2 do {_this addItemToBackpack "SLAMDirectionalMine_Wire_Mag";};_this addItemToBackpack "DemoCharge_Remote_Mag";_this addHeadgear "H_HelmetIA";comment "Add weapons";_this addWeapon "hlc_rifle_auga2para_b";_this addPrimaryWeaponItem "acc_pointer_IR";_this addPrimaryWeaponItem "optic_ACO_grn";_this addWeapon "hgun_ACPC2_F";comment "Add items";_this linkItem "ItemMap";_this linkItem "ItemCompass";_this linkItem "ItemWatch";_this linkItem "ItemRadio";_this linkItem "NVGoggles_INDEP";};// Repair Specialist - DoneIf (typeOf _this == "I_Soldier_repair_F") Then {comment "Add containers";_this forceAddUniform "U_I_CombatUniform_shortsleeve";_this addItemToUniform "FirstAidKit";for "_i" from 1 to 2 do {_this addItemToUniform "hlc_30Rnd_556x45_B_AUG";};_this addItemToUniform "hlc_30Rnd_556x45_SPR_AUG";_this addVest "V_PlateCarrierIA1_dgtl";for "_i" from 1 to 2 do {_this addItemToVest "hlc_30Rnd_556x45_SOST_AUG";};for "_i" from 1 to 2 do {_this addItemToVest "9Rnd_45ACP_Mag";};for "_i" from 1 to 2 do {_this addItemToVest "HandGrenade";};_this addItemToVest "SmokeShell";_this addItemToVest "SmokeShellGreen";_this addItemToVest "SmokeShellOrange";_this addItemToVest "SmokeShellPurple";for "_i" from 1 to 2 do {_this addItemToVest "Chemlight_green";};_this addBackpack "B_FieldPack_oli";_this addItemToBackpack "ToolKit";_this addItemToBackpack "DemoCharge_Remote_Mag";for "_i" from 1 to 2 do {_this addItemToBackpack "SmokeShell";};_this addItemToBackpack "SmokeShellRed";_this addItemToBackpack "SmokeShellGreen";_this addItemToBackpack "SmokeShellYellow";_this addHeadgear "H_HelmetIA_net";comment "Add weapons";_this addWeapon "hlc_rifle_auga3";_this addPrimaryWeaponItem "acc_pointer_IR";_this addPrimaryWeaponItem "optic_ACO_grn";_this addWeapon "hgun_ACPC2_F";comment "Add items";_this linkItem "ItemMap";_this linkItem "ItemCompass";_this linkItem "ItemWatch";_this linkItem "ItemRadio";_this linkItem "NVGoggles_INDEP";};// Engineer - DoneIf (typeOf _this == "I_engineer_F") Then {comment "Add containers";_this forceAddUniform "U_I_CombatUniform";_this addItemToUniform "FirstAidKit";for "_i" from 1 to 3 do {_this addItemToUniform "hlc_25Rnd_9x19mm_M882_AUG";};_this addVest "V_PlateCarrierIA1_dgtl";for "_i" from 1 to 2 do {_this addItemToVest "hlc_25Rnd_9x19mm_JHP_AUG";};for "_i" from 1 to 2 do {_this addItemToVest "9Rnd_45ACP_Mag";};for "_i" from 1 to 2 do {_this addItemToVest "HandGrenade";};_this addItemToVest "SmokeShell";_this addItemToVest "SmokeShellGreen";_this addItemToVest "SmokeShellOrange";_this addItemToVest "SmokeShellPurple";for "_i" from 1 to 2 do {_this addItemToVest "Chemlight_green";};_this addBackpack "B_Carryall_oli";for "_i" from 1 to 1 do {_this addItemToBackpack "ToolKit";};for "_i" from 1 to 1 do {_this addItemToBackpack "MineDetector";};_this addItemToBackpack "SatchelCharge_Remote_Mag";for "_i" from 1 to 2 do {_this addItemToBackpack "DemoCharge_Remote_Mag";};_this addHeadgear "H_HelmetIA";comment "Add weapons";_this addWeapon "hlc_rifle_auga2para_b";_this addPrimaryWeaponItem "acc_pointer_IR";_this addPrimaryWeaponItem "optic_ACO_grn";_this addWeapon "hgun_ACPC2_F";comment "Add items";_this linkItem "ItemMap";_this linkItem "ItemCompass";_this linkItem "ItemWatch";_this linkItem "ItemRadio";_this linkItem "NVGoggles_INDEP";};// Soldier Unarmed - DoneIf (typeOf _this == "I_Soldier_unarmed_F") Then {comment "Add containers";_this forceAddUniform "U_I_CombatUniform";_this addItemToUniform "FirstAidKit";_this addHeadgear "H_HelmetIA";comment "Add items";_this linkItem "ItemMap";_this linkItem "ItemCompass";_this linkItem "ItemWatch";_this linkItem "ItemRadio";};// Crew - DoneIf (typeOf _this == "I_crew_F") Then {comment "Add containers";_this forceAddUniform "U_I_CombatUniform";_this addItemToUniform "FirstAidKit";for "_i" from 1 to 3 do {_this addItemToUniform "hlc_25Rnd_9x19mm_M882_AUG";};_this addVest "V_BandollierB_oli";for "_i" from 1 to 2 do {_this addItemToVest "hlc_25Rnd_9x19mm_JHP_AUG";};for "_i" from 1 to 2 do {_this addItemToVest "9Rnd_45ACP_Mag";};for "_i" from 1 to 2 do {_this addItemToVest "HandGrenade";};_this addItemToVest "SmokeShell";_this addItemToVest "SmokeShellGreen";for "_i" from 1 to 2 do {_this addItemToVest "Chemlight_green";};_this addHeadgear "H_HelmetCrew_I";comment "Add weapons";_this addWeapon "hlc_rifle_auga2para_b";_this addWeapon "hgun_ACPC2_F";comment "Add items";_this linkItem "ItemMap";_this linkItem "ItemCompass";_this linkItem "ItemWatch";_this linkItem "ItemRadio";_this linkItem "NVGoggles_INDEP";};// UAV Operator - DoneIf (typeOf _this == "I_soldier_UAV_F") Then {comment "Add containers";_this forceAddUniform "U_I_CombatUniform";_this addItemToUniform "FirstAidKit";for "_i" from 1 to 3 do {_this addItemToUniform "hlc_30Rnd_556x45_B_AUG";};_this addVest "V_PlateCarrierIA2_dgtl";for "_i" from 1 to 3 do {_this addItemToVest "hlc_30Rnd_556x45_SOST_AUG";};for "_i" from 1 to 3 do {_this addItemToVest "hlc_30Rnd_556x45_SPR_AUG";};for "_i" from 1 to 2 do {_this addItemToVest "9Rnd_45ACP_Mag";};for "_i" from 1 to 2 do {_this addItemToVest "HandGrenade";};_this addItemToVest "SmokeShell";_this addItemToVest "SmokeShellGreen";for "_i" from 1 to 2 do {_this addItemToVest "Chemlight_green";};_this addBackpack "I_UAV_01_backpack_F";_this addHeadgear "H_HelmetIA_camo";comment "Add weapons";_this addWeapon "hlc_rifle_auga3";_this addPrimaryWeaponItem "acc_pointer_IR";_this addPrimaryWeaponItem "optic_ACO_grn";_this addWeapon "hgun_ACPC2_F";comment "Add items";_this linkItem "ItemMap";_this linkItem "ItemCompass";_this linkItem "ItemWatch";_this linkItem "ItemRadio";_this linkItem "I_UavTerminal";_this linkItem "NVGoggles_INDEP";};// Assistent Support AMG - DoneIf (typeOf _this == "I_support_AMG_F") Then {comment "Add containers";_this forceAddUniform "U_I_CombatUniform_tshirt";_this addItemToUniform "FirstAidKit";for "_i" from 1 to 3 do {_this addItemToUniform "hlc_25Rnd_9x19mm_M882_AUG";};_this addVest "V_Chestrig_oli";_this addItemToVest "hlc_25Rnd_9x19mm_M882_AUG";for "_i" from 1 to 3 do {_this addItemToVest "hlc_25Rnd_9x19mm_JHP_AUG";};for "_i" from 1 to 2 do {_this addItemToVest "9Rnd_45ACP_Mag";};for "_i" from 1 to 2 do {_this addItemToVest "HandGrenade";};for "_i" from 1 to 2 do {_this addItemToVest "I_IR_Grenade";};_this addItemToVest "SmokeShell";_this addItemToVest "SmokeShellGreen";for "_i" from 1 to 2 do {_this addItemToVest "Chemlight_green";};_this addBackpack "I_HMG_01_support_F";_this addHeadgear "H_HelmetIA";comment "Add weapons";_this addWeapon "hlc_rifle_auga2para_b";_this addPrimaryWeaponItem "acc_pointer_IR";_this addPrimaryWeaponItem "optic_ACO_grn";_this addWeapon "hgun_ACPC2_F";comment "Add items";_this linkItem "ItemCompass";_this linkItem "ItemWatch";_this linkItem "ItemRadio";_this linkItem "NVGoggles_INDEP";};// Assistent Support Mortar - DoneIf (typeOf _this == "I_support_AMort_F") Then {comment "Add containers";_this forceAddUniform "U_I_CombatUniform_tshirt";_this addItemToUniform "FirstAidKit";for "_i" from 1 to 3 do {_this addItemToUniform "hlc_25Rnd_9x19mm_M882_AUG";};_this addVest "V_Chestrig_oli";for "_i" from 1 to 4 do {_this addItemToVest "hlc_25Rnd_9x19mm_JHP_AUG";};for "_i" from 1 to 2 do {_this addItemToVest "9Rnd_45ACP_Mag";};for "_i" from 1 to 2 do {_this addItemToVest "HandGrenade";};for "_i" from 1 to 2 do {_this addItemToVest "I_IR_Grenade";};_this addItemToVest "SmokeShell";_this addItemToVest "SmokeShellGreen";for "_i" from 1 to 2 do {_this addItemToVest "Chemlight_green";};_this addBackpack "I_Mortar_01_support_F";_this addGoggles "G_Sport_Blackyellow";comment "Add weapons";_this addWeapon "hlc_rifle_auga2para_b";_this addPrimaryWeaponItem "acc_pointer_IR";_this addPrimaryWeaponItem "optic_ACO_grn";_this addWeapon "hgun_ACPC2_F";comment "Add items";_this linkItem "ItemMap";_this linkItem "ItemCompass";_this linkItem "ItemWatch";_this linkItem "ItemRadio";_this linkItem "NVGoggles_INDEP";};// Support GMG - DoneIf (typeOf _this == "I_support_GMG_F") Then {comment "Add containers";_this forceAddUniform "U_I_CombatUniform_tshirt";_this addItemToUniform "FirstAidKit";for "_i" from 1 to 3 do {_this addItemToUniform "hlc_25Rnd_9x19mm_M882_AUG";};_this addVest "V_Chestrig_oli";for "_i" from 1 to 4 do {_this addItemToVest "hlc_25Rnd_9x19mm_JHP_AUG";};for "_i" from 1 to 2 do {_this addItemToVest "9Rnd_45ACP_Mag";};for "_i" from 1 to 2 do {_this addItemToVest "HandGrenade";};for "_i" from 1 to 2 do {_this addItemToVest "I_IR_Grenade";};_this addItemToVest "SmokeShell";_this addItemToVest "SmokeShellGreen";for "_i" from 1 to 2 do {_this addItemToVest "Chemlight_green";};_this addBackpack "I_GMG_01_weapon_F";_this addHeadgear "H_HelmetIA";comment "Add weapons";_this addWeapon "hlc_rifle_auga2para_b";_this addPrimaryWeaponItem "acc_pointer_IR";_this addPrimaryWeaponItem "optic_ACO_grn";_this addWeapon "hgun_ACPC2_F";comment "Add items";_this linkItem "ItemMap";_this linkItem "ItemCompass";_this linkItem "ItemWatch";_this linkItem "ItemRadio";_this linkItem "NVGoggles_INDEP";};// Support MG - DoneIf (typeOf _this == "I_support_MG_F") Then {comment "Add containers";_this forceAddUniform "U_I_CombatUniform_tshirt";_this addItemToUniform "FirstAidKit";for "_i" from 1 to 3 do {_this addItemToUniform "hlc_25Rnd_9x19mm_JHP_AUG";};_this addVest "V_Chestrig_oli";for "_i" from 1 to 4 do {_this addItemToVest "hlc_25Rnd_9x19mm_M882_AUG";};for "_i" from 1 to 2 do {_this addItemToVest "9Rnd_45ACP_Mag";};for "_i" from 1 to 2 do {_this addItemToVest "HandGrenade";};for "_i" from 1 to 2 do {_this addItemToVest "I_IR_Grenade";};_this addItemToVest "SmokeShell";_this addItemToVest "SmokeShellGreen";for "_i" from 1 to 2 do {_this addItemToVest "Chemlight_green";};_this addBackpack "I_HMG_01_weapon_F";_this addHeadgear "H_HelmetIA";_this addGoggles "G_Tactical_Black";comment "Add weapons";_this addWeapon "hlc_rifle_auga2para_b";_this addPrimaryWeaponItem "optic_ACO_grn";_this addWeapon "hgun_ACPC2_F";comment "Add items";_this linkItem "ItemMap";_this linkItem "ItemCompass";_this linkItem "ItemWatch";_this linkItem "ItemRadio";_this linkItem "NVGoggles_INDEP";};// Support Mortar - DoneIf (typeOf _this == "I_support_Mort_F") Then {comment "Add containers";_this forceAddUniform "U_I_CombatUniform_tshirt";_this addItemToUniform "FirstAidKit";for "_i" from 1 to 3 do {_this addItemToUniform "hlc_25Rnd_9x19mm_JHP_AUG";};_this addVest "V_Chestrig_oli";for "_i" from 1 to 4 do {_this addItemToVest "hlc_25Rnd_9x19mm_M882_AUG";};for "_i" from 1 to 2 do {_this addItemToVest "9Rnd_45ACP_Mag";};for "_i" from 1 to 2 do {_this addItemToVest "HandGrenade";};for "_i" from 1 to 2 do {_this addItemToVest "I_IR_Grenade";};_this addItemToVest "SmokeShell";_this addItemToVest "SmokeShellGreen";for "_i" from 1 to 2 do {_this addItemToVest "Chemlight_green";};_this addBackpack "I_Mortar_01_weapon_F";_this addHeadgear "H_HelmetIA";_this addGoggles "G_Lowprofile";comment "Add weapons";_this addWeapon "hlc_rifle_auga2para_b";_this addPrimaryWeaponItem "acc_pointer_IR";_this addPrimaryWeaponItem "optic_ACO_grn";_this addWeapon "hgun_ACPC2_F";comment "Add items";_this linkItem "ItemMap";_this linkItem "ItemCompass";_this linkItem "ItemWatch";_this linkItem "ItemRadio";_this linkItem "NVGoggles_INDEP";}; I will use script like a template: _replacefor_Katiba = ["hlc_rifle_auga3","hlc_30Rnd_556x45_B_AUG"]; _replacefor_KatibaGL = ["hlc_rifle_auga3_GL","hlc_30Rnd_556x45_B_AUG"]; _replacefor_KatibaC = ["",""]; _replacefor_Zafir = ["",""]; By the way i'am using Larrow Code Just like you Share this post Link to post Share on other sites
flymaker 15 Posted July 30, 2016 Progress Update:I created one Array with all available Ammo _replacefor_Ammo = [ "MagazineKatiba", "MagazineKatibaTracer", "MagazineZafir", "MagazineZafirTracer", "MagazineRahin", "MagazineLynx", "MagazineLynxSpecial", "MagazineSting", "GLAmmo 1", "GLAmmo 2", "GLSmoke 1", "GLSmoke 2", "GLSmoke 3", "GLSmoke 4" ]; After that i get all magazines on unit and consolidate the array to bring right quantity: _magazinesArray = magazines _this; _magazinesArray = _magazinesArray call BIS_fnc_consolidateArray; The replace code start a search for magazines:(Here i need help with the logic, i want search all matching between _magazinesArray and _replacefor_Ammo and add the right ammo and quantity) If ( _currentWeapon == "arifle_Katiba_F" ) then { {_findmagazine = _magazinesArray find _x; _this addMagazines [_findmagazine ,_magazines]; } forEach _replacefor_Ammo; _this addweapon _replacefor_Katiba; {_this addPrimaryWeaponItem _x} forEach _getItems; }; I will be very happy if this script works. I want to launch a public release. As i said this is my first real script Share this post Link to post Share on other sites
flymaker 15 Posted July 31, 2016 Script is working well now, i'am using Zenophon ArrayGetNestedIndex function to found the right match on array . But i'am still trying to improve that. I want to do a loop to search for all magazines.Here is the code now: // Replace CSAT Weapons Script // Put desire Weapon/Ammo Classname to replace_replacefor_Katiba = "hlc_rifle_auga3";_replacefor_KatibaGL = "hlc_rifle_auga3";_replacefor_KatibaC = "hlc_rifle_auga3";_replacefor_Zafir = "hlc_rifle_auga3";_replacefor_Rahin = "hlc_rifle_auga3";_replacefor_Lynx = "hlc_rifle_auga3";_replacefor_Sting = "hlc_rifle_auga3";/*Only Primary Weapons for now_replacefor_Zubr = [""];_replacefor_Rook = [""];*/// Dont leave any empty/* AmmoArray = ["MagazineKatiba","MagazineKatibaTracer","MagazineZafir","MagazineZafirTracer","MagazineRahin","MagazineLynx","MagazineLynxSpecial","MagazineSting","GLAmmo 1","GLAmmo 2","GLSmoke 1","GLSmoke 2","GLSmoke 3","GLSmoke 4"]*/_replacefor_Ammo = ["hlc_30Rnd_556x45_B_AUG","MagazineKatibaTracer","MagazineZafir","MagazineZafirTracer","MagazineRahin","MagazineLynx","MagazineLynxSpecial","MagazineSting","GLAmmo 1","GLAmmo 2","GLSmoke 1","GLSmoke 2","GLSmoke 3","GLSmoke 4"];/* DO NOT EDIT BELLOW THIS LINE IF YOU DONT KNOW WHARE YOU DOING */execVM "Zen_ArrayGetNestedIndex.sqf";// Get Unit Current Weapon and remove_getItems = primaryWeaponItems _this;_currentWeapon = [primaryWeapon _this] call BIS_fnc_baseWeapon;_this removeWeapon _currentWeapon;_magazinesArray = magazines _this;_magazinesArray = _magazinesArray call BIS_fnc_consolidateArray;_compatibleMags = [];{_mags = [];if ( _x != "this" ) then {_mags = getArray( configFile >> "CfgWeapons" >> _currentWeapon >> _x >> "magazines" );}else{_mags = getArray( configFile >> "CfgWeapons" >> _currentWeapon >> "magazines" );};_compatibleMags = _compatibleMags + _mags;}forEach getArray( configFile >> "CfgWeapons" >> _currentWeapon >> "muzzles" );{if ( _x in _compatibleMags ) then {_this removeMagazine _x;}} forEach magazines _this;sleep 0.2;//Replace KatibaIf ( _currentWeapon == "arifle_Katiba_F" ) then {// CODE SEARCH MAGAZINE //_index = [_magazinesArray, "30Rnd_65x39_caseless_green", 0] call Zen_ArrayGetNestedIndex;_magazineName = (_magazinesArray select _index) select 0;_magazineAmount = (_magazinesArray select _index) select 1;// FOUNDED - ADD AMMO //_this addMagazines [_replacefor_Ammo select 0, 1];_this addMagazines [_replacefor_Ammo select 0 ,_magazineAmount];_this addweapon _replacefor_Katiba;{_this addPrimaryWeaponItem _x} forEach _getItems;};/*If ( _currentWeapon == "arifle_Katiba_C_F" ) then {_newWeapon = _replacefor_Katiba select 0 ;_newAmmo = _replacefor_Katiba select 1 ;if (magazines _this find "30Rnd_65x39_caseless_green" >= 0) then {_magazines = {_x == "30Rnd_65x39_caseless_green"} count magazines _this;_this addMagazines [_newAmmo ,_magazines];};_this addweapon _newWeapon;{_this addPrimaryWeaponItem _x} forEach _getItems;};If ( _currentWeapon == "arifle_Katiba_GL_F" ) then {_newWeapon = _replacefor_Katiba select 0 ;_newAmmo = _replacefor_Katiba select 1 ;if (magazines _this find "30Rnd_65x39_caseless_green" >= 0) then {_magazines = {_x == "30Rnd_65x39_caseless_green"} count magazines _this;_this addMagazines [_newAmmo ,_magazines];};_this addweapon _newWeapon;{_this addPrimaryWeaponItem _x} forEach _getItems;};If ( _currentWeapon == "LMG_Zafir_F" ) then {_newWeapon = _replacefor_Katiba select 0 ;_newAmmo = _replacefor_Katiba select 1 ;if (magazines _this find "30Rnd_65x39_caseless_green" >= 0) then {_magazines = {_x == "30Rnd_65x39_caseless_green"} count magazines _this;_this addMagazines [_newAmmo ,_magazines];};_this addweapon _newWeapon;{_this addPrimaryWeaponItem _x} forEach _getItems;};If ( _currentWeapon == "srifle_DMR_01_F" ) then {_newWeapon = _replacefor_Katiba select 0 ;_newAmmo = _replacefor_Katiba select 1 ;if (magazines _this find "30Rnd_65x39_caseless_green" >= 0) then {_magazines = {_x == "30Rnd_65x39_caseless_green"} count magazines _this;_this addMagazines [_newAmmo ,_magazines];};_this addweapon _newWeapon;{_this addPrimaryWeaponItem _x} forEach _getItems;};If ( _currentWeapon == "srifle_GM6_F" ) then {_newWeapon = _replacefor_Katiba select 0 ;_newAmmo = _replacefor_Katiba select 1 ;if (magazines _this find "30Rnd_65x39_caseless_green" >= 0) then {_magazines = {_x == "30Rnd_65x39_caseless_green"} count magazines _this;_this addMagazines [_newAmmo ,_magazines];};_this addweapon _newWeapon;{_this addPrimaryWeaponItem _x} forEach _getItems;};*/ Share this post Link to post Share on other sites
cqbman 0 Posted July 31, 2016 Is it possible to use something like this replace all the weapons in the original Arma 3 SP campaign missions (including enemy and AI's)? I'd like to be able to replace the fictional weapons with real world alternatives from a mod (eg. MX = M4, MXSW = M249, MK200 = Mk48, Katiba = AK74, etc) Share this post Link to post Share on other sites
flymaker 15 Posted July 31, 2016 For now don't. Maybe later when the script is finished i will try to use it on a mod :) Stay tune :P If you want that mod replaces default weapon but you dont have any configuration:http://forums.bistudio.com/showthread.php?189122-All-The-Weapons Share this post Link to post Share on other sites
flymaker 15 Posted July 31, 2016 Another updateThe script is broken for some reason i dont know. Here: If ( _currentWeapon == "arifle_Katiba_F" ) then {// CODE SEARCH MAGAZINE //_countArrayIndex = 0;{_index = [_magazinesArray, _x, 0] call Zen_ArrayGetNestedIndex;// FOUNDED - ADD AMMO //if (_index >= 0) then {_magazineName = (_magazinesArray select _index) select 0;_magazineAmount = (_magazinesArray select _index) select 1;_this addMagazines [_replacefor_Ammo select _countArrayIndex ,_magazineAmount];};_countArrayIndex = _countArrayIndex + 1;} forEach _replaceAmmoIndex;_this addMagazines [_replacefor_Ammo select 0, 1];_this addweapon _replacefor_Katiba;{_this addPrimaryWeaponItem _x} forEach _getItems;_this forceWeaponFire [_replacefor_Katiba, "Single"];}; I got this message: Error Undefined variable in expression: zen_arraygetnestedindexI changed something and the script stopped =/ Share this post Link to post Share on other sites
cqbman 0 Posted July 31, 2016 For now don't. Maybe later when the script is finished i will try to use it on a mod :) Stay tune :P If you want that mod replaces default weapon but you dont have any configuration: http://forums.bistudio.com/showthread.php?189122-All-The-Weapons Thanks flymaker. Unfortunately that one just randomly assigns different weapons all the time without any control over them. I was hoping to specify or control which weapons replace the original Arma3 ones. For example, MX always gets replaced with an M4, MX w/ grenade launcher always gets replaced with an M4 w/ M203, MXM always gets replaced with a Mk12 SPR 9or M16A4 w/ ACOG), MXSW always gets replaced with a M249 SAW, etc. Share this post Link to post Share on other sites
flymaker 15 Posted August 1, 2016 I'm trying to convert this script in Addon. For now i dont know how to execute it to all units =/Here is what i'm make until now: class CfgPatches { class FLY_ChangeWeapons { units[] = {}; weapons[] = {}; requiredVersion = 1.0; requiredAddons[] = {"Extended_EventHandlers"}; }; }; class Extended_PostInit_EventHandlers { FLY_ChangeWeapons_Post_Init = "_handle = {[_x] execVM ""\FLY_ChangeWeapons\equip_change.sqf""} forEach allUnits"; }; I dont know if forEach works inside a CPP file. This code is not working =/I tried to move this forEach to the script but dont work too. // Replace CSAT Weapons Script private ["_replacefor_Katiba", "_replacefor_KatibaGL", "_replacefor_KatibaC", "_replacefor_Zafir", "_replacefor_Rahim", "_replacefor_Lynx", "_replacefor_Sting", "_replacefor_Zubr", "_replacefor_Rook", "_replacefor_Ammo", "_replaceAmmoIndex", "_moreReplaceAmmo", "_replaceWeaponIndex", "_function", "_getItems", "_currentWeapon", "_magazinesArray", "_compatibleMags" , "_countArrayIndex", "_index", "_magazineName", "_magazineAmount"]; // Put desire Weapon/Ammo Classname to replace _replacefor_Katiba = "hlc_rifle_ak12"; _replacefor_KatibaGL = "hlc_rifle_ak12GL"; _replacefor_KatibaC = "hlc_rifle_aku12"; _replacefor_Zafir = "hlc_rifle_RPK12"; _replacefor_Rahim = "srifle_DMR_04_F"; _replacefor_Lynx = "hlc_rifle_awcovert_BL"; _replacefor_Sting = "hlc_rifle_aku12"; /*Only Primary Weapons for now _replacefor_Zubr = [""]; _replacefor_Rook = [""]; */ // Dont leave any empty /* AmmoArray = [ "MagazineKatiba", "MagazineKatibaTracer", "MagazineZafir", "MagazineZafirTracer", "MagazineRahin", "MagazineLynx", "MagazineLynxSpecial", "MagazineSting", "GLAmmo 1", "GLAmmo 2", "GLSmoke 1", "GLSmoke 2", "GLSmoke 3", "GLSmoke 4" ]*/ _replacefor_Ammo = [ "hlc_30Rnd_545x39_B_AK", "hlc_30Rnd_545x39_t_ak", "hlc_60Rnd_545x39_t_rpk", "hlc_60Rnd_545x39_t_rpk", "10Rnd_127x54_Mag", "hlc_5rnd_300WM_mk248_AWM", "hlc_5rnd_300WM_AP_AWM", "hlc_30Rnd_545x39_B_AK", "hlc_VOG25_AK", "nul", "hlc_GRD_White", "hlc_GRD_Red", "hlc_GRD_green", "hlc_GRD_yellow" ]; /* DO NOT EDIT BELLOW THIS LINE IF YOU DONT KNOW WHARE YOU DOING */ _replaceAmmoIndex = ["30Rnd_65x39_caseless_green","30Rnd_65x39_caseless_green_mag_Tracer","150Rnd_762x54_Box","150Rnd_762x54_Box_Tracer","10Rnd_762x51_Mag","5Rnd_127x108_Mag","5Rnd_127x108_APDS_Mag","30Rnd_9x21_Mag","1Rnd_HE_Grenade_shell","Blank","1Rnd_Smoke_Grenade_shell","1Rnd_SmokeRed_Grenade_shell","1Rnd_SmokeGreen_Grenade_shell","1Rnd_SmokeYellow_Grenade_shell" ]; _moreReplaceAmmo = ["10Rnd_93x64_DMR_05_Mag","10Rnd_762x51_Mag"]; _replaceWeaponIndex = ["arifle_Katiba_F","arifle_Katiba_GL_F","arifle_Katiba_C_F","LMG_Zafir_F","srifle_DMR_01_F","srifle_GM6_F","SMG_02_F"]; _function = execVM "\FLY_ChangeWeapons\Zen_ArrayGetNestedIndex.sqf"; waitUntil { scriptDone _function }; // Get Unit Current Weapon and remove _getItems = primaryWeaponItems _this; _currentWeapon = [primaryWeapon _this] call BIS_fnc_baseWeapon; _this removeWeapon _currentWeapon; _magazinesArray = magazines _this; _magazinesArray = _magazinesArray call BIS_fnc_consolidateArray; _compatibleMags = []; { _mags = []; if ( _x != "this" ) then { _mags = getArray( configFile >> "CfgWeapons" >> _currentWeapon >> _x >> "magazines" ); }else{ _mags = getArray( configFile >> "CfgWeapons" >> _currentWeapon >> "magazines" ); }; _compatibleMags = _compatibleMags + _mags; }forEach getArray( configFile >> "CfgWeapons" >> _currentWeapon >> "muzzles" ); { if ( _x in _compatibleMags ) then { _this removeMagazine _x; } } forEach magazines _this; {_this removeMagazines _x;} forEach _replaceAmmoIndex; //{_this removeMagazines _x;} forEach _moreReplaceAmmo; //Replace Katiba If ( _currentWeapon == "arifle_Katiba_F" ) then { // CODE SEARCH MAGAZINE // _countArrayIndex = 0; { _index = [_magazinesArray, _x, 0] call Zen_ArrayGetNestedIndex; // FOUNDED - ADD AMMO // if (_index >= 0) then { _magazineName = (_magazinesArray select _index) select 0; _magazineAmount = (_magazinesArray select _index) select 1; _this addMagazines [_replacefor_Ammo select _countArrayIndex ,_magazineAmount]; }; _countArrayIndex = _countArrayIndex + 1; } forEach _replaceAmmoIndex; _this addMagazines [_replacefor_Ammo select 0, 1]; _this addweapon _replacefor_Katiba; {_this addPrimaryWeaponItem _x} forEach _getItems; _this selectWeapon ( primaryWeapon _this ); }; If ( _currentWeapon == "arifle_Katiba_GL_F" ) then { // CODE SEARCH MAGAZINE // _countArrayIndex = 0; { _index = [_magazinesArray, _x, 0] call Zen_ArrayGetNestedIndex; // FOUNDED - ADD AMMO // if (_index >= 0) then { _magazineName = (_magazinesArray select _index) select 0; _magazineAmount = (_magazinesArray select _index) select 1; _this addMagazines [_replacefor_Ammo select _countArrayIndex ,_magazineAmount]; }; _countArrayIndex = _countArrayIndex + 1; } forEach _replaceAmmoIndex; _this addMagazines [_replacefor_Ammo select 0, 1]; _this addweapon _replacefor_KatibaGL; {_this addPrimaryWeaponItem _x} forEach _getItems; _this selectWeapon ( primaryWeapon _this ); }; If ( _currentWeapon == "arifle_Katiba_C_F" ) then { // CODE SEARCH MAGAZINE // _countArrayIndex = 0; { _index = [_magazinesArray, _x, 0] call Zen_ArrayGetNestedIndex; // FOUNDED - ADD AMMO // if (_index >= 0) then { _magazineName = (_magazinesArray select _index) select 0; _magazineAmount = (_magazinesArray select _index) select 1; _this addMagazines [_replacefor_Ammo select _countArrayIndex ,_magazineAmount]; }; _countArrayIndex = _countArrayIndex + 1; } forEach _replaceAmmoIndex; _this addMagazines [_replacefor_Ammo select 0, 1]; _this addweapon _replacefor_KatibaC; {_this addPrimaryWeaponItem _x} forEach _getItems; _this selectWeapon ( primaryWeapon _this ); }; If ( _currentWeapon == "LMG_Zafir_F" ) then { // CODE SEARCH MAGAZINE // _countArrayIndex = 0; { _index = [_magazinesArray, _x, 0] call Zen_ArrayGetNestedIndex; // FOUNDED - ADD AMMO // if (_index >= 0) then { _magazineName = (_magazinesArray select _index) select 0; _magazineAmount = (_magazinesArray select _index) select 1; _this addMagazines [_replacefor_Ammo select _countArrayIndex ,_magazineAmount]; }; _countArrayIndex = _countArrayIndex + 1; } forEach _replaceAmmoIndex; _this addMagazines [_replacefor_Ammo select 0, 1]; _this addweapon _replacefor_Zafir; {_this addPrimaryWeaponItem _x} forEach _getItems; _this selectWeapon ( primaryWeapon _this ); }; If ( _currentWeapon == "srifle_DMR_01_F" ) then { // CODE SEARCH MAGAZINE // _countArrayIndex = 0; { _index = [_magazinesArray, _x, 0] call Zen_ArrayGetNestedIndex; // FOUNDED - ADD AMMO // if (_index >= 0) then { _magazineName = (_magazinesArray select _index) select 0; _magazineAmount = (_magazinesArray select _index) select 1; _this addMagazines [_replacefor_Ammo select _countArrayIndex ,_magazineAmount]; }; _countArrayIndex = _countArrayIndex + 1; } forEach _replaceAmmoIndex; _this addMagazines [_replacefor_Ammo select 0, 1]; _this addweapon _replacefor_Rahim; {_this addPrimaryWeaponItem _x} forEach _getItems; _this selectWeapon ( primaryWeapon _this ); }; If ( _currentWeapon == "srifle_GM6_camo_F" ) then { // CODE SEARCH MAGAZINE // _countArrayIndex = 0; { _index = [_magazinesArray, _x, 0] call Zen_ArrayGetNestedIndex; // FOUNDED - ADD AMMO // if (_index >= 0) then { _magazineName = (_magazinesArray select _index) select 0; _magazineAmount = (_magazinesArray select _index) select 1; _this addMagazines [_replacefor_Ammo select _countArrayIndex ,_magazineAmount]; }; _countArrayIndex = _countArrayIndex + 1; } forEach _replaceAmmoIndex; _this addMagazines [_replacefor_Ammo select 0, 1]; _this addweapon _replacefor_Lynx; {_this addPrimaryWeaponItem _x} forEach _getItems; _this selectWeapon ( primaryWeapon _this ); }; If ( _currentWeapon == "SMG_02_F" ) then { // CODE SEARCH MAGAZINE // _countArrayIndex = 0; { _index = [_magazinesArray, _x, 0] call Zen_ArrayGetNestedIndex; // FOUNDED - ADD AMMO // if (_index >= 0) then { _magazineName = (_magazinesArray select _index) select 0; _magazineAmount = (_magazinesArray select _index) select 1; _this addMagazines [_replacefor_Ammo select _countArrayIndex ,_magazineAmount]; }; _countArrayIndex = _countArrayIndex + 1; } forEach _replaceAmmoIndex; _this addMagazines [_replacefor_Ammo select 0, 1]; _this addweapon _replacefor_Sting; {_this addPrimaryWeaponItem _x} forEach _getItems; _this selectWeapon ( primaryWeapon _this ); }; For now its just for OPFOR and NIArms but i want to create a userconfig to choose other weapons and sides. Share this post Link to post Share on other sites
jshock 513 Posted August 1, 2016 class Extended_PostInit_EventHandlers { class FLY_ChangeWeapons_Post_Init { init = "_handle = {[_x] execVM ""\FLY_ChangeWeapons\equip_change.sqf""} forEach allUnits;"; }; }; Share this post Link to post Share on other sites
flymaker 15 Posted August 2, 2016 Thx jshock now the script is running. But i have an error. This not happen on placed mission scriptprimaryWeaponItems: Type Array, expected object;EDIT - My mistake, sorry. I already fixed :) Share this post Link to post Share on other sites
flymaker 15 Posted August 12, 2016 Hi guys.The script is running well but now i want to get values from userconfig folder. Something like that: Script: _replacefor_Katiba = userconfig_option1; _replacefor_KatibaGL = userconfig_option2; Userconfig File: _replacefor_Katiba = "hlc_rifle_ak12"; _replacefor_KatibaGL = "hlc_rifle_ak12GL"; Share this post Link to post Share on other sites