Twiznak 57 Posted January 1, 2020 Hello. I have made a warlords mission with RHS factions. I followed the instructions on the Warlords Custom Factions wiki. Garrisoned units spawn from my custom Indep groups BUT I get MILLIONS of this error 17:01:28 Error in expression <ts _newGrp < 3} do { _newUnit = _newGrp createUnit [_unitArr # floor random _uni> 17:01:28 Error position: <createUnit [_unitArr # floor random _uni> 17:01:28 Error Type Any, expected String 17:01:28 File A3\Functions_F_Warlords\Warlords\fn_WLSectorPopulate.sqf [BIS_fnc_WLSectorPopulate]..., line 118 Yes. MILLIONS of times. I swear to god only I could do something like this! I will post my 4.8 million lined arma3_x64.rpt to prove it. But WHY?!? and How do I correct this. I ,of course, will show you my work: description.ext Spoiler #include "defaultDescription.inc" #include "cfgMissionParams.inc" #include "AIS\Effects\BarDlg.hpp" #include "R3F_LOG\desc_include.h" respawnOnStart = -1; class CfgFunctions { #include "AIS\cfgFunctions.hpp" }; class CfgWLFactionAssets { class WEST // --- BLUFOR { class InfantryUnits { class rhsusf_army_ucp_rifleman_10th {}; class rhsusf_army_ucp_rifleman_1stcav {}; class rhsusf_army_ucp_aa {}; class rhsusf_army_ucp_javelin_assistant {}; class rhsusf_army_ucp_javelin {}; class rhsusf_army_ucp_maaws {}; class rhsusf_army_ucp_autorifleman {}; class rhsusf_army_ucp_autoriflemana {}; class rhsusf_army_ucp_rifleman_m590 {}; class rhsusf_army_ucp_medic {}; class rhsusf_army_ucp_engineer {}; class rhsusf_army_ucp_explosives {}; class rhsusf_army_ucp_fso {}; class rhsusf_army_ucp_grenadier {}; class rhsusf_army_ucp_jfo {}; class rhsusf_army_ucp_machinegunner {}; class rhsusf_army_ucp_machinegunnera {}; class rhsusf_army_ucp_marksman {}; class rhsusf_army_ucp_officer {}; class rhsusf_army_ucp_rifleman {}; class rhsusf_army_ucp_riflemanl {}; class rhsusf_army_ucp_riflemanat {}; class rhsusf_army_ucp_rifleman_m16 {}; class rhsusf_army_ucp_rifleman_m4 {}; class rhsusf_army_ucp_sniper {}; class rhsusf_army_ucp_sniper_m107 {}; class rhsusf_army_ucp_sniper_m24sws {}; class rhsusf_army_ucp_squadleader {}; class rhsusf_army_ucp_teamleader {}; class rhsusf_army_ucp_uav {}; class rhsusf_army_ucp_rifleman_101st {}; class rhsusf_army_ucp_rifleman_82nd {}; class rhsusf_army_ucp_arb_maaws {}; class rhsusf_army_ucp_arb_autorifleman {}; class rhsusf_army_ucp_arb_autoriflemana {}; class rhsusf_army_ucp_arb_rifleman_m590 {}; class rhsusf_army_ucp_arb_medic {}; class rhsusf_army_ucp_arb_engineer {}; class rhsusf_army_ucp_arb_machinegunner {}; class rhsusf_army_ucp_arb_machinegunnera {}; class rhsusf_army_ucp_arb_marksman {}; class rhsusf_army_ucp_arb_rifleman {}; class rhsusf_army_ucp_arb_riflemanl {}; class rhsusf_army_ucp_arb_riflemanat {}; class rhsusf_army_ucp_rifleman_arb_m16 {}; class rhsusf_army_ucp_arb_sniper_m107 {}; class rhsusf_army_ucp_arb_teamleader {}; class rhsusf_socom_marsoc_elementleader {}; class rhsusf_socom_marsoc_cso_eod {}; class rhsusf_socom_marsoc_cso_grenadier {}; class rhsusf_socom_marsoc_jfo {}; class rhsusf_socom_marsoc_jtac {}; class rhsusf_socom_marsoc_marksman {}; class rhsusf_socom_marsoc_cso {}; class rhsusf_socom_marsoc_cso_breacher {}; class rhsusf_socom_marsoc_cso_cqb {}; class rhsusf_socom_marsoc_cso_light {}; class rhsusf_socom_marsoc_cso_mk17_light {}; class rhsusf_socom_marsoc_cso_mk17 {}; class rhsusf_socom_marsoc_sarc {}; class rhsusf_socom_marsoc_sniper {}; class rhsusf_socom_marsoc_spotter {}; class rhsusf_socom_marsoc_sniper_m107 {}; class rhsusf_socom_marsoc_teamleader {}; class rhsusf_usmc_marpat_wd_stinger {}; class rhsusf_usmc_marpat_wd_smaw {}; class rhsusf_usmc_marpat_wd_javelin_assistant {}; class rhsusf_usmc_marpat_wd_javelin {}; class rhsusf_usmc_marpat_wd_autorifleman_m249 {}; class rhsusf_usmc_marpat_wd_autorifleman {}; class rhsusf_usmc_marpat_wd_autorifleman_m249_ass {}; class rhsusf_usmc_marpat_wd_engineer {}; class rhsusf_usmc_marpat_wd_marksman {}; class rhsusf_usmc_marpat_wd_explosives {}; class rhsusf_usmc_marpat_wd_fso {}; class rhsusf_usmc_marpat_wd_grenadier {}; class rhsusf_usmc_marpat_wd_grenadier_m32 {}; class rhsusf_usmc_marpat_wd_jfo {}; class rhsusf_usmc_marpat_wd_machinegunner {}; class rhsusf_usmc_marpat_wd_machinegunner_ass {}; class rhsusf_usmc_marpat_wd_officer {}; class rhsusf_usmc_marpat_wd_rifleman_light {}; class rhsusf_usmc_marpat_wd_riflemanat {}; class rhsusf_usmc_marpat_wd_rifleman {}; class rhsusf_usmc_marpat_wd_rifleman_m4 {}; class rhsusf_usmc_marpat_wd_rifleman_law {}; class rhsusf_usmc_marpat_wd_sniper_m110 {}; class rhsusf_usmc_marpat_wd_sniper {}; class rhsusf_usmc_marpat_wd_spotter {}; class rhsusf_usmc_marpat_wd_sniper_m107 {}; class rhsusf_usmc_marpat_wd_squadleader {}; class rhsusf_usmc_marpat_wd_teamleader {}; class rhsusf_usmc_marpat_wd_uav {}; class rhsusf_usmc_lar_marpat_wd_riflemanat {}; class rhsusf_usmc_lar_marpat_wd_autorifleman {}; class rhsusf_usmc_lar_marpat_wd_grenadier_m32 {}; class rhsusf_usmc_lar_marpat_wd_rifleman {}; class rhsusf_usmc_lar_marpat_wd_rifleman_light {}; class rhsusf_usmc_lar_marpat_wd_marksman {}; class rhsusf_usmc_lar_marpat_wd_squadleader {}; class rhsusf_usmc_lar_marpat_wd_teamleader {}; class rhsusf_usmc_recon_marpat_wd_machinegunner_m249 {}; class rhsusf_usmc_recon_marpat_wd_machinegunner_m249_fast {}; class rhsusf_usmc_recon_marpat_wd_machinegunner_m249_lite {}; class rhsusf_usmc_recon_marpat_wd_autorifleman {}; class rhsusf_usmc_recon_marpat_wd_autorifleman_fast {}; class rhsusf_usmc_recon_marpat_wd_autorifleman_lite {}; class rhsusf_usmc_recon_marpat_wd_grenadier_m32 {}; class rhsusf_usmc_recon_marpat_wd_machinegunner {}; class rhsusf_usmc_recon_marpat_wd_marksman {}; class rhsusf_usmc_recon_marpat_wd_marksman_fast {}; class rhsusf_usmc_recon_marpat_wd_marksman_lite {}; class rhsusf_usmc_recon_marpat_wd_officer {}; class rhsusf_usmc_recon_marpat_wd_rifleman {}; class rhsusf_usmc_recon_marpat_wd_rifleman_fast {}; class rhsusf_usmc_recon_marpat_wd_rifleman_lite {}; class rhsusf_usmc_recon_marpat_wd_rifleman_at {}; class rhsusf_usmc_recon_marpat_wd_rifleman_at_fast {}; class rhsusf_usmc_recon_marpat_wd_rifleman_at_lite {}; class rhsusf_usmc_recon_marpat_wd_sniper_M107 {}; class rhsusf_usmc_recon_marpat_wd_teamleader_fast {}; class rhsusf_usmc_recon_marpat_wd_teamleader_lite {}; }; }; class EAST // --- OPFOR { class InfantryUnits { class rhs_vdv_aa {}; class rhs_vdv_at {}; class rhs_vdv_arifleman {}; class rhs_vdv_efreitor {}; class rhs_vdv_engineer {}; class rhs_vdv_grenadier_rpg {}; class rhs_vdv_strelok_rpg_assist {}; class rhs_vdv_junior_sergeant {}; class rhs_vdv_machinegunner {}; class rhs_vdv_machinegunner_assistant {}; class rhs_vdv_marksman {}; class rhs_vdv_marksman_asval {}; class rhs_vdv_medic {}; class rhs_vdv_officer_armored {}; class rhs_vdv_rifleman {}; class rhs_vdv_rifleman_asval {}; class rhs_vdv_grenadier {}; class rhs_vdv_grenadier_alt {}; class rhs_vdv_rifleman_lite {}; class rhs_vdv_LAT {}; class rhs_vdv_RShG2 {}; class rhs_vdv_rifleman_alt {}; class rhs_vdv_sergeant {}; class rhs_vdv_recon_arifleman {}; class rhs_vdv_recon_efreitor {}; class rhs_vdv_recon_machinegunner_assistant {}; class rhs_vdv_recon_marksman {}; class rhs_vdv_recon_marksman_asval {}; class rhs_vdv_recon_marksman_vss {}; class rhs_vdv_recon_medic {}; class rhs_vdv_recon_officer_armored {}; class rhs_vdv_recon_rifleman {}; class rhs_vdv_recon_rifleman_ak103 {}; class rhs_vdv_recon_rifleman_akms {}; class rhs_vdv_recon_rifleman_asval {}; class rhs_vdv_recon_grenadier {}; class rhs_vdv_recon_rifleman_l {}; class rhs_vdv_recon_rifleman_lat {}; class rhs_vdv_recon_rifleman_scout_akm {}; class rhs_vdv_recon_rifleman_scout {}; class rhs_vdv_recon_grenadier_scout {}; class rhs_vdv_recon_sergeant {}; class rhs_mvd_izlom_arifleman {}; class rhs_mvd_izlom_efreitor {}; class rhs_mvd_izlom_grenadier_rpg {}; class rhs_mvd_izlom_machinegunner {}; class rhs_mvd_izlom_marksman {}; class rhs_mvd_izlom_marksman_vss {}; class rhs_mvd_izlom_rifleman {}; class rhs_mvd_izlom_rifleman_asval {}; class rhs_mvd_izlom_rifleman_LAT {}; class rhs_mvd_izlom_sergeant {}; }; }; class INDEP // --- Independent { class InfantryGroups { groups[] = { "'Indep' >> 'rhsgref_faction_cdf_ground' >> 'rhsgref_group_cdf_reg_infantry' >> 'rhsgref_group_cdf_reg_infantry_squad'", "'Indep' >> 'rhsgref_faction_cdf_ground' >> 'rhsgref_group_cdf_reg_infantry' >> 'rhsgref_group_cdf_reg_infantry_squad_weap'", "'Indep' >> 'rhsgref_faction_cdf_ground' >> 'rhsgref_group_cdf_para_infantry' >> 'rhsgref_group_cdf_para_infantry_squad'", "'Indep' >> 'rhsgref_faction_cdf_ground' >> 'rhsgref_group_cdf_para_infantry' >> 'rhsgref_group_cdf_para_infantry_squad_weap'" }; }; class MotorizedGroups { groups[] = { "'Indep' >> 'rhsgref_faction_cdf_ground' >> 'rhs_group_cdf_ural' >> 'rhs_group_cdf_ural_chq'", "'Indep' >> 'rhsgref_faction_cdf_ground' >> 'rhs_group_cdf_ural' >> 'rhs_group_cdf_ural_squad'", "'Indep' >> 'rhsgref_faction_cdf_ground' >> 'rhs_group_cdf_ural' >> 'rhs_group_cdf_ural_squad_2mg'", "'Indep' >> 'rhsgref_faction_cdf_ground' >> 'rhs_group_cdf_ural' >> 'rhs_group_cdf_ural_squad_aa'", "'Indep' >> 'rhsgref_faction_cdf_ground' >> 'rhs_group_cdf_ural' >> 'rhs_group_cdf_ural_squad_mg_sniper'", "'Indep' >> 'rhsgref_faction_cdf_ground' >> 'rhs_group_cdf_ural' >> 'rhs_group_cdf_ural_squad_sniper'", "'Indep' >> 'rhsgref_faction_cdf_ground' >> 'rhs_group_cdf_uaz' >> 'BUS_MotInf_AA'", "'Indep' >> 'rhsgref_faction_cdf_ground' >> 'rhs_group_cdf_uaz' >> 'BUS_MotInf_AT'", "'Indep' >> 'rhsgref_faction_cdf_ground' >> 'rhs_group_cdf_uaz' >> 'BUS_MotInf_Team_GMG'", "'Indep' >> 'rhsgref_faction_cdf_ground' >> 'rhs_group_cdf_uaz' >> 'BUS_MotInf_Team_HMG'", "'Indep' >> 'rhsgref_faction_cdf_ground' >> 'rhs_group_cdf_gaz66_para' >> 'rhs_group_cdf_ural_chq'", "'Indep' >> 'rhsgref_faction_cdf_ground' >> 'rhs_group_cdf_gaz66_para' >> 'rhs_group_cdf_ural_squad'", "'Indep' >> 'rhsgref_faction_cdf_ground' >> 'rhs_group_cdf_gaz66_para' >> 'rhs_group_cdf_ural_squad_2mg'", "'Indep' >> 'rhsgref_faction_cdf_ground' >> 'rhs_group_cdf_gaz66_para' >> 'rhs_group_cdf_ural_squad_aa'", "'Indep' >> 'rhsgref_faction_cdf_ground' >> 'rhs_group_cdf_gaz66_para' >> 'rhs_group_cdf_ural_squad_mg_sniper'", "'Indep' >> 'rhsgref_faction_cdf_ground' >> 'rhs_group_cdf_gaz66_para' >> 'rhs_group_cdf_ural_squad_sniper'", "'Indep' >> 'rhsgref_faction_cdf_ground' >> 'rhs_group_cdf_gaz66' >> 'rhs_group_cdf_gaz66_chq'", "'Indep' >> 'rhsgref_faction_cdf_ground' >> 'rhs_group_cdf_gaz66' >> 'rhs_group_cdf_gaz66_squad'", "'Indep' >> 'rhsgref_faction_cdf_ground' >> 'rhs_group_cdf_gaz66' >> 'rhs_group_cdf_gaz66_squad_2mg'", "'Indep' >> 'rhsgref_faction_cdf_ground' >> 'rhs_group_cdf_gaz66' >> 'rhs_group_cdf_gaz66_squad_aa'", "'Indep' >> 'rhsgref_faction_cdf_ground' >> 'rhs_group_cdf_gaz66' >> 'rhs_group_cdf_gaz66_squad_mg_sniper'", "'Indep' >> 'rhsgref_faction_cdf_ground' >> 'rhs_group_cdf_gaz66' >> 'rhs_group_cdf_gaz66_squad_sniper'" }; }; class MechanizedGroups { groups[] = { "'Indep' >> 'rhsgref_faction_cdf_ground' >> 'rhs_group_cdf_btr70' >> 'rhs_group_cdf_btr70_chq'", "'Indep' >> 'rhsgref_faction_cdf_ground' >> 'rhs_group_cdf_btr70' >> 'rhs_group_cdf_btr70_squad'", "'Indep' >> 'rhsgref_faction_cdf_ground' >> 'rhs_group_cdf_btr70' >> 'rhs_group_cdf_btr70_squad_2mg'", "'Indep' >> 'rhsgref_faction_cdf_ground' >> 'rhs_group_cdf_btr70' >> 'rhs_group_cdf_btr70_squad_aa'", "'Indep' >> 'rhsgref_faction_cdf_ground' >> 'rhs_group_cdf_btr70' >> 'rhs_group_cdf_btr70_squad_mg_sniper'", "'Indep' >> 'rhsgref_faction_cdf_ground' >> 'rhs_group_cdf_btr70' >> 'rhs_group_cdf_btr70_squad_sniper'", "'Indep' >> 'rhsgref_faction_cdf_ground' >> 'rhs_group_cdf_btr60' >> 'rhs_group_cdf_btr60_chq'", "'Indep' >> 'rhsgref_faction_cdf_ground' >> 'rhs_group_cdf_btr60' >> 'rhs_group_cdf_btr60_squad'", "'Indep' >> 'rhsgref_faction_cdf_ground' >> 'rhs_group_cdf_btr60' >> 'rhs_group_cdf_btr60_squad_2mg'", "'Indep' >> 'rhsgref_faction_cdf_ground' >> 'rhs_group_cdf_btr60' >> 'rhs_group_cdf_btr60_squad_aa'", "'Indep' >> 'rhsgref_faction_cdf_ground' >> 'rhs_group_cdf_btr60' >> 'rhs_group_cdf_btr60_squad_mg_sniper'", "'Indep' >> 'rhsgref_faction_cdf_ground' >> 'rhs_group_cdf_btr60' >> 'rhs_group_cdf_btr60_squad_sniper'", "'Indep' >> 'rhsgref_faction_cdf_ground' >> 'rhs_group_cdf_bmp1' >> 'rhs_group_cdf_bmp1_chq'", "'Indep' >> 'rhsgref_faction_cdf_ground' >> 'rhs_group_cdf_bmp1' >> 'rhs_group_cdf_bmp1_squad'", "'Indep' >> 'rhsgref_faction_cdf_ground' >> 'rhs_group_cdf_bmp1' >> 'rhs_group_cdf_bmp1_squad_2mg'", "'Indep' >> 'rhsgref_faction_cdf_ground' >> 'rhs_group_cdf_bmp1' >> 'rhs_group_cdf_bmp1_squad_aa'", "'Indep' >> 'rhsgref_faction_cdf_ground' >> 'rhs_group_cdf_bmp1' >> 'rhs_group_cdf_bmp1_squad_mg_sniper'", "'Indep' >> 'rhsgref_faction_cdf_ground' >> 'rhs_group_cdf_bmp1' >> 'rhs_group_cdf_bmp1_squad_sniper'", "'Indep' >> 'rhsgref_faction_cdf_ground' >> 'rhs_group_cdf_bmp2' >> 'rhs_group_cdf_bmp2_chq'", "'Indep' >> 'rhsgref_faction_cdf_ground' >> 'rhs_group_cdf_bmp2' >> 'rhs_group_cdf_bmp2_squad'", "'Indep' >> 'rhsgref_faction_cdf_ground' >> 'rhs_group_cdf_bmp2' >> 'rhs_group_cdf_bmp2_squad_2mg'", "'Indep' >> 'rhsgref_faction_cdf_ground' >> 'rhs_group_cdf_bmp2' >> 'rhs_group_cdf_bmp2_squad_aa'", "'Indep' >> 'rhsgref_faction_cdf_ground' >> 'rhs_group_cdf_bmp2' >> 'rhs_group_cdf_bmp2_squad_mg_sniper'", "'Indep' >> 'rhsgref_faction_cdf_ground' >> 'rhs_group_cdf_bmp2' >> 'rhs_group_cdf_bmp2_squad_sniper'", "'Indep' >> 'rhsgref_faction_cdf_ground' >> 'rhs_group_cdf_bmd1' >> 'rhs_group_cdf_bmd1_chq'", "'Indep' >> 'rhsgref_faction_cdf_ground' >> 'rhs_group_cdf_bmd1' >> 'rhs_group_cdf_bmd1_squad'", "'Indep' >> 'rhsgref_faction_cdf_ground' >> 'rhs_group_cdf_bmd1' >> 'rhs_group_cdf_bmd1_squad_2mg'", "'Indep' >> 'rhsgref_faction_cdf_ground' >> 'rhs_group_cdf_bmd1' >> 'rhs_group_cdf_bmd1_squad_aa'", "'Indep' >> 'rhsgref_faction_cdf_ground' >> 'rhs_group_cdf_bmd1' >> 'rhs_group_cdf_bmd1_squad_mg_sniper'", "'Indep' >> 'rhsgref_faction_cdf_ground' >> 'rhs_group_cdf_bmd1' >> 'rhs_group_cdf_bmd1_squad_sniper'", "'Indep' >> 'rhsgref_faction_cdf_ground' >> 'rhs_group_cdf_bmd2' >> 'rhs_group_cdf_bmd2_chq'", "'Indep' >> 'rhsgref_faction_cdf_ground' >> 'rhs_group_cdf_bmd2' >> 'rhs_group_cdf_bmd2_squad'", "'Indep' >> 'rhsgref_faction_cdf_ground' >> 'rhs_group_cdf_bmd2' >> 'rhs_group_cdf_bmd2_squad_2mg'", "'Indep' >> 'rhsgref_faction_cdf_ground' >> 'rhs_group_cdf_bmd2' >> 'rhs_group_cdf_bmd2_squad_aa'", "'Indep' >> 'rhsgref_faction_cdf_ground' >> 'rhs_group_cdf_bmd2' >> 'rhs_group_cdf_bmd2_squad_mg_sniper'", "'Indep' >> 'rhsgref_faction_cdf_ground' >> 'rhs_group_cdf_bmd2' >> 'rhs_group_cdf_bmd2_squad_sniper'", "'Indep' >> 'rhsgref_faction_cdf_ground' >> 'rhs_group_cdf_bm21' >> 'RHS_SPGPlatoon_ins_g_bm21'", "'Indep' >> 'rhsgref_faction_cdf_ground' >> 'rhs_group_cdf_bm21' >> 'RHS_SPGSection_ins_g_bm21'" }; }; class ArmoredGroups { groups[] = { "'Indep' >> 'rhsgref_faction_cdf_ground' >> 'rhs_group_cdf_80' >> 'RHS_T80bPlatoon'", "'Indep' >> 'rhsgref_faction_cdf_ground' >> 'rhs_group_cdf_80' >> 'RHS_T80bPlatoon_AA'", "'Indep' >> 'rhsgref_faction_cdf_ground' >> 'rhs_group_cdf_80' >> 'RHS_T80bSection'", "'Indep' >> 'rhsgref_faction_cdf_ground' >> 'rhs_group_cdf_80' >> 'RHS_T80bvPlatoon'", "'Indep' >> 'rhsgref_faction_cdf_ground' >> 'rhs_group_cdf_80' >> 'RHS_T80bvPlatoon_AA'", "'Indep' >> 'rhsgref_faction_cdf_ground' >> 'rhs_group_cdf_80' >> 'RHS_T80bvSection'", "'Indep' >> 'rhsgref_faction_cdf_ground' >> 'rhs_group_cdf_72' >> 'RHS_T72baPlatoon'", "'Indep' >> 'rhsgref_faction_cdf_ground' >> 'rhs_group_cdf_72' >> 'RHS_T72baPlatoon_AA'", "'Indep' >> 'rhsgref_faction_cdf_ground' >> 'rhs_group_cdf_72' >> 'RHS_T72baSection'", "'Indep' >> 'rhsgref_faction_cdf_ground' >> 'rhs_group_cdf_72' >> 'RHS_T72BBPlatoon'", "'Indep' >> 'rhsgref_faction_cdf_ground' >> 'rhs_group_cdf_72' >> 'RHS_T72BBPlatoon_AA'", "'Indep' >> 'rhsgref_faction_cdf_ground' >> 'rhs_group_cdf_72' >> 'RHS_T72BBSection'" }; }; }; }; class CfgWLRequisitionPresets { class MyWLAssetList // --- class name used in the Init module { class WEST // --- assets available for BLUFOR { class Infantry { class rhsusf_army_ucp_rifleman_10th { cost=25; requirements[]={}; }; class rhsusf_army_ucp_rifleman_1stcav { cost=25; requirements[]={}; }; class rhsusf_army_ucp_aa { cost=25; requirements[]={}; }; class rhsusf_army_ucp_javelin_assistant { cost=25; requirements[]={}; }; class rhsusf_army_ucp_javelin { cost=25; requirements[]={}; }; class rhsusf_army_ucp_maaws { cost=25; requirements[]={}; }; class rhsusf_army_ucp_autorifleman { cost=25; requirements[]={}; }; class rhsusf_army_ucp_autoriflemana { cost=25; requirements[]={}; }; class rhsusf_army_ucp_rifleman_m590 { cost=25; requirements[]={}; }; class rhsusf_army_ucp_medic { cost=25; requirements[]={}; }; class rhsusf_army_ucp_engineer { cost=25; requirements[]={}; }; class rhsusf_army_ucp_explosives { cost=25; requirements[]={}; }; class rhsusf_army_ucp_fso { cost=25; requirements[]={}; }; class rhsusf_army_ucp_grenadier { cost=25; requirements[]={}; }; class rhsusf_army_ucp_jfo { cost=25; requirements[]={}; }; class rhsusf_army_ucp_machinegunner { cost=25; requirements[]={}; }; class rhsusf_army_ucp_machinegunnera { cost=25; requirements[]={}; }; class rhsusf_army_ucp_marksman { cost=25; requirements[]={}; }; class rhsusf_army_ucp_rifleman { cost=25; requirements[]={}; }; class rhsusf_army_ucp_riflemanat { cost=25; requirements[]={}; }; class rhsusf_army_ucp_rifleman_m16 { cost=25; requirements[]={}; }; class rhsusf_army_ucp_rifleman_m4 { cost=25; requirements[]={}; }; class rhsusf_army_ucp_sniper { cost=25; requirements[]={}; }; class rhsusf_army_ucp_sniper_m107 { cost=25; requirements[]={}; }; class rhsusf_army_ucp_sniper_m24sws { cost=25; requirements[]={}; }; class rhsusf_army_ucp_squadleader { cost=25; requirements[]={}; }; class rhsusf_army_ucp_teamleader { cost=25; requirements[]={}; }; class rhsusf_army_ucp_uav { cost=25; requirements[]={}; }; class rhsusf_army_ucp_rifleman_101st { cost=25; requirements[]={}; }; class rhsusf_army_ucp_rifleman_82nd { cost=25; requirements[]={}; }; class rhsusf_army_ucp_arb_maaws { cost=25; requirements[]={}; }; class rhsusf_army_ucp_arb_autorifleman { cost=25; requirements[]={}; }; class rhsusf_army_ucp_arb_autoriflemana { cost=25; requirements[]={}; }; class rhsusf_army_ucp_arb_rifleman_m590 { cost=25; requirements[]={}; }; class rhsusf_army_ucp_arb_medic { cost=25; requirements[]={}; }; class rhsusf_army_ucp_arb_engineer { cost=25; requirements[]={}; }; class rhsusf_army_ucp_arb_grenadier { cost=25; requirements[]={}; }; class rhsusf_army_ucp_arb_machinegunner { cost=25; requirements[]={}; }; class rhsusf_army_ucp_arb_machinegunnera { cost=25; requirements[]={}; }; class rhsusf_army_ucp_arb_marksman { cost=25; requirements[]={}; }; class rhsusf_army_ucp_arb_rifleman { cost=25; requirements[]={}; }; class rhsusf_army_ucp_arb_riflemanat { cost=25; requirements[]={}; }; class rhsusf_army_ucp_rifleman_arb_m16 { cost=25; requirements[]={}; }; class rhsusf_army_ucp_arb_sniper_m107 { cost=25; requirements[]={}; }; class rhsusf_army_ucp_arb_squadleader { cost=25; requirements[]={}; }; class rhsusf_army_ucp_arb_teamleader { cost=25; requirements[]={}; }; class rhsusf_usmc_marpat_wd_stinger { cost=50; requirements[]={}; }; class rhsusf_usmc_marpat_wd_smaw { cost=50; requirements[]={}; }; class rhsusf_usmc_marpat_wd_javelin_assistant { cost=50; requirements[]={}; }; class rhsusf_usmc_marpat_wd_javelin { cost=50; requirements[]={}; }; class rhsusf_usmc_marpat_wd_autorifleman_m249 { cost=50; requirements[]={}; }; class rhsusf_usmc_marpat_wd_autorifleman { cost=50; requirements[]={}; }; class rhsusf_usmc_marpat_wd_autorifleman_m249_ass { cost=50; requirements[]={}; }; class rhsusf_usmc_marpat_wd_rifleman_m590 { cost=50; requirements[]={}; }; class rhsusf_usmc_marpat_wd_engineer { cost=50; requirements[]={}; }; class rhsusf_usmc_marpat_wd_marksman { cost=50; requirements[]={}; }; class rhsusf_usmc_marpat_wd_explosives { cost=50; requirements[]={}; }; class rhsusf_usmc_marpat_wd_fso { cost=50; requirements[]={}; }; class rhsusf_usmc_marpat_wd_grenadier { cost=50; requirements[]={}; }; class rhsusf_usmc_marpat_wd_grenadier_m32 { cost=50; requirements[]={}; }; class rhsusf_usmc_marpat_wd_gunner { cost=50; requirements[]={}; }; class rhsusf_usmc_marpat_wd_jfo { cost=50; requirements[]={}; }; class rhsusf_usmc_marpat_wd_machinegunner { cost=50; requirements[]={}; }; class rhsusf_usmc_marpat_wd_machinegunner_ass { cost=50; requirements[]={}; }; class rhsusf_usmc_marpat_wd_riflemanat { cost=50; requirements[]={}; }; class rhsusf_usmc_marpat_wd_rifleman { cost=50; requirements[]={}; }; class rhsusf_usmc_marpat_wd_rifleman_m4 { cost=50; requirements[]={}; }; class rhsusf_usmc_marpat_wd_rifleman_law { cost=50; requirements[]={}; }; class rhsusf_usmc_marpat_wd_sniper_m110 { cost=50; requirements[]={}; }; class rhsusf_usmc_marpat_wd_sniper { cost=50; requirements[]={}; }; class rhsusf_usmc_marpat_wd_spotter { cost=50; requirements[]={}; }; class rhsusf_usmc_marpat_wd_sniper_m107 { cost=50; requirements[]={}; }; class rhsusf_usmc_marpat_wd_squadleader { cost=50; requirements[]={}; }; class rhsusf_usmc_marpat_wd_teamleader { cost=50; requirements[]={}; }; class rhsusf_usmc_marpat_wd_uav { cost=50; requirements[]={}; }; class rhsusf_usmc_lar_marpat_wd_riflemanat { cost=50; requirements[]={}; }; class rhsusf_usmc_lar_marpat_wd_autorifleman { cost=50; requirements[]={}; }; class rhsusf_usmc_lar_marpat_wd_grenadier_m32 { cost=50; requirements[]={}; }; class rhsusf_usmc_lar_marpat_wd_rifleman { cost=50; requirements[]={}; }; class rhsusf_usmc_lar_marpat_wd_marksman { cost=50; requirements[]={}; }; class rhsusf_usmc_lar_marpat_wd_squadleader { cost=50; requirements[]={}; }; class rhsusf_usmc_lar_marpat_wd_teamleader { cost=50; requirements[]={}; }; class rhsusf_usmc_recon_marpat_wd_machinegunner_m249 { cost=50; requirements[]={}; }; class rhsusf_usmc_recon_marpat_wd_machinegunner_m249_fast { cost=50; requirements[]={}; }; class rhsusf_usmc_recon_marpat_wd_autorifleman { cost=50; requirements[]={}; }; class rhsusf_usmc_recon_marpat_wd_autorifleman_fast { cost=50; requirements[]={}; }; class rhsusf_usmc_recon_marpat_wd_grenadier_m32 { cost=50; requirements[]={}; }; class rhsusf_usmc_recon_marpat_wd_machinegunner { cost=50; requirements[]={}; }; class rhsusf_usmc_recon_marpat_wd_marksman { cost=50; requirements[]={}; }; class rhsusf_usmc_recon_marpat_wd_marksman_fast { cost=50; requirements[]={}; }; class rhsusf_usmc_recon_marpat_wd_rifleman { cost=50; requirements[]={}; }; class rhsusf_usmc_recon_marpat_wd_rifleman_fast { cost=50; requirements[]={}; }; class rhsusf_usmc_recon_marpat_wd_rifleman_at { cost=50; requirements[]={}; }; class rhsusf_usmc_recon_marpat_wd_rifleman_at_fast { cost=50; requirements[]={}; }; class rhsusf_usmc_recon_marpat_wd_sniper_M107 { cost=50; requirements[]={}; }; class rhsusf_usmc_recon_marpat_wd_teamleader { cost=50; requirements[]={}; }; class rhsusf_usmc_recon_marpat_wd_teamleader_fast { cost=50; requirements[]={}; }; class rhsusf_socom_marsoc_elementleader { cost=75; requirements[]={}; }; class rhsusf_socom_marsoc_cso_eod { cost=75; requirements[]={}; }; class rhsusf_socom_marsoc_cso_grenadier { cost=75; requirements[]={}; }; class rhsusf_socom_marsoc_jfo { cost=75; requirements[]={}; }; class rhsusf_socom_marsoc_jtac { cost=75; requirements[]={}; }; class rhsusf_socom_marsoc_marksman { cost=75; requirements[]={}; }; class rhsusf_socom_marsoc_cso_mechanic { cost=75; requirements[]={}; }; class rhsusf_socom_marsoc_cso { cost=75; requirements[]={}; }; class rhsusf_socom_marsoc_cso_breacher { cost=75; requirements[]={}; }; class rhsusf_socom_marsoc_cso_cqb { cost=75; requirements[]={}; }; class rhsusf_socom_marsoc_cso_mk17 { cost=75; requirements[]={}; }; class rhsusf_socom_marsoc_sarc { cost=75; requirements[]={}; }; class rhsusf_socom_marsoc_sniper { cost=75; requirements[]={}; }; class rhsusf_socom_marsoc_spotter { cost=75; requirements[]={}; }; class rhsusf_socom_marsoc_sniper_m107 { cost=75; requirements[]={}; }; class rhsusf_socom_marsoc_teamchief { cost=75; requirements[]={}; }; class rhsusf_socom_marsoc_teamleader { cost=75; requirements[]={}; }; }; class Vehicles { class rhsusf_m1025_w_m2 { cost=100; requirements[]={}; }; class rhsusf_m1025_w_Mk19 { cost=100; requirements[]={}; }; class rhsusf_m1025_d { cost=100; requirements[]={}; }; class rhsusf_m1043_w_m2 { cost=100; requirements[]={}; }; class rhsusf_m1043_w_mk19 { cost=100; requirements[]={}; }; class rhsusf_m1043_d { cost=100; requirements[]={}; }; class rhsusf_m1045_d { cost=100; requirements[]={}; }; class rhsusf_m998_w_2dr_fulltop { cost=100; requirements[]={}; }; class rhsusf_m998_w_2dr_halftop { cost=100; requirements[]={}; }; class rhsusf_m998_w_2dr { cost=100; requirements[]={}; }; class rhsusf_m998_w_4dr_fulltop { cost=100; requirements[]={}; }; class rhsusf_m998_w_4dr_halftop { cost=100; requirements[]={}; }; class rhsusf_m998_w_4dr { cost=100; requirements[]={}; }; class rhsusf_m966_d { cost=100; requirements[]={}; }; class rhsusf_m1025_w_s_m2 { cost=100; requirements[]={}; }; class rhsusf_m1025_w_s_Mk19 { cost=100; requirements[]={}; }; class rhsusf_m1025_w_s { cost=100; requirements[]={}; }; class rhsusf_m1043_w_s_m2 { cost=100; requirements[]={}; }; class rhsusf_m1043_w_s_mk19 { cost=100; requirements[]={}; }; class rhsusf_m1043_w_s { cost=100; requirements[]={}; }; class rhsusf_m1045_w_s { cost=100; requirements[]={}; }; class rhsusf_m998_w_s_2dr_halftop { cost=100; requirements[]={}; }; class rhsusf_m998_w_s_2dr { cost=100; requirements[]={}; }; class rhsusf_m998_w_s_2dr_fulltop { cost=100; requirements[]={}; }; class rhsusf_m998_w_s_4dr_halftop { cost=100; requirements[]={}; }; class rhsusf_m998_w_s_4dr { cost=100; requirements[]={}; }; class rhsusf_m998_w_s_4dr_fulltop { cost=100; requirements[]={}; }; class rhsusf_M1078A1P2_wd_fmtv_usarmy { cost=200; requirements[]={}; }; class rhsusf_M1078A1P2_wd_flatbed_fmtv_usarmy { cost=200; requirements[]={}; }; class rhsusf_M1078A1P2_B_wd_fmtv_usarmy { cost=200; requirements[]={}; }; class rhsusf_M1078A1P2_B_wd_flatbed_fmtv_usarmy { cost=200; requirements[]={}; }; class rhsusf_M1078A1P2_B_M2_wd_fmtv_usarmy { cost=200; requirements[]={}; }; class rhsusf_M1078A1P2_B_M2_wd_flatbed_fmtv_usarmy { cost=200; requirements[]={}; }; class rhsusf_M1078A1P2_B_wd_CP_fmtv_usarmy { cost=200; requirements[]={}; }; class rhsusf_M1083A1P2_wd_fmtv_usarmy { cost=200; requirements[]={}; }; class rhsusf_M1083A1P2_wd_flatbed_fmtv_usarmy { cost=200; requirements[]={}; }; class rhsusf_M1083A1P2_B_wd_fmtv_usarmy { cost=200; requirements[]={}; }; class rhsusf_M1083A1P2_B_wd_flatbed_fmtv_usarmy { cost=200; requirements[]={}; }; class rhsusf_M1083A1P2_B_M2_wd_fmtv_usarmy { cost=200; requirements[]={}; }; class rhsusf_M1083A1P2_B_M2_wd_flatbed_fmtv_usarmy { cost=200; requirements[]={}; }; class rhsusf_M1084A1P2_wd_fmtv_usarmy { cost=200; requirements[]={}; }; class rhsusf_M1084A1P2_B_wd_fmtv_usarmy { cost=200; requirements[]={}; }; class rhsusf_M1084A1P2_B_M2_wd_fmtv_usarmy { cost=200; requirements[]={}; }; class rhsusf_M1085A1P2_B_wd_Medical_fmtv_usarmy { cost=200; requirements[]={}; }; class rhsusf_M977A4_usarmy_wd { cost=200; requirements[]={}; }; class rhsusf_M977A4_AMMO_usarmy_wd { cost=200; requirements[]={}; }; class rhsusf_M977A4_REPAIR_usarmy_wd { cost=200; requirements[]={}; }; class rhsusf_M977A4_BKIT_usarmy_wd { cost=200; requirements[]={}; }; class rhsusf_M977A4_AMMO_BKIT_usarmy_wd { cost=200; requirements[]={}; }; class rhsusf_M977A4_BKIT_M2_usarmy_wd { cost=200; requirements[]={}; }; class rhsusf_M977A4_AMMO_BKIT_M2_usarmy_wd { cost=200; requirements[]={}; }; class rhsusf_M977A4_REPAIR_BKIT_M2_usarmy_wd { cost=200; requirements[]={}; }; class rhsusf_M977A4_REPAIR_BKIT_usarmy_wd { cost=200; requirements[]={}; }; class rhsusf_M978A4_usarmy_wd { cost=200; requirements[]={}; }; class rhsusf_M978A4_BKIT_usarmy_wd { cost=200; requirements[]={}; }; class rhsusf_M1117_W { cost=300; requirements[]={}; }; class rhsusf_M1117_O { cost=300; requirements[]={}; }; class rhsusf_M1220_usarmy_wd { cost=300; requirements[]={}; }; class rhsusf_M1220_M153_M2_usarmy_wd { cost=300; requirements[]={}; }; class rhsusf_M1220_M2_usarmy_wd { cost=300; requirements[]={}; }; class rhsusf_M1220_M153_MK19_usarmy_wd { cost=300; requirements[]={}; }; class rhsusf_M1220_MK19_usarmy_wd { cost=300; requirements[]={}; }; class rhsusf_M1230_M2_usarmy_wd { cost=300; requirements[]={}; }; class rhsusf_M1230_MK19_usarmy_wd { cost=300; requirements[]={}; }; class rhsusf_M1230a1_usarmy_wd { cost=300; requirements[]={}; }; class rhsusf_M1232_usarmy_wd { cost=300; requirements[]={}; }; class rhsusf_M1232_M2_usarmy_wd { cost=300; requirements[]={}; }; class rhsusf_M1232_MK19_usarmy_wd { cost=300; requirements[]={}; }; class rhsusf_M1237_M2_usarmy_wd { cost=300; requirements[]={}; }; class rhsusf_M1237_MK19_usarmy_wd { cost=300; requirements[]={}; }; class rhsusf_m1240a1_usarmy_wd { cost=300; requirements[]={}; }; class rhsusf_m1240a1_m2crows_usarmy_wd { cost=300; requirements[]={}; }; class rhsusf_m1240a1_m2_usarmy_wd { cost=300; requirements[]={}; }; class rhsusf_m1240a1_m240_usarmy_wd { cost=300; requirements[]={}; }; class rhsusf_m1240a1_mk19crows_usarmy_wd { cost=300; requirements[]={}; }; class rhsusf_m1240a1_mk19_usarmy_wd { cost=300; requirements[]={}; }; class rhsusf_CGRCAT1A2_usmc_wd { cost=300; requirements[]={}; }; class rhsusf_CGRCAT1A2_M2_usmc_wd { cost=300; requirements[]={}; }; class rhsusf_CGRCAT1A2_Mk19_usmc_wd { cost=300; requirements[]={}; }; class rhsusf_M1232_MC_M2_usmc_wd { cost=300; requirements[]={}; }; class rhsusf_M1232_MC_MK19_usmc_wd { cost=300; requirements[]={}; }; class rhsusf_m1240a1_usmc_wd { cost=300; requirements[]={}; }; class rhsusf_m1240a1_m2crows_usmc_d { cost=300; requirements[]={}; }; class rhsusf_m1240a1_m2_usmc_d { cost=300; requirements[]={}; }; class rhsusf_m1240a1_m240_usmc_d { cost=300; requirements[]={}; }; class rhsusf_m1240a1_mk19crows_usmc_d { cost=300; requirements[]={}; }; class rhsusf_m1240a1_mk19_usmc_d { cost=300; requirements[]={}; }; class rhsusf_M1238A1_socom_d { cost=300; requirements[]={}; }; class rhsusf_M1238A1_M2_socom_d { cost=300; requirements[]={}; }; class rhsusf_M1238A1_Mk19_socom_d { cost=300; requirements[]={}; }; class rhsusf_M1239_socom_d { cost=300; requirements[]={}; }; class rhsusf_M1239_M2_socom_d { cost=300; requirements[]={}; }; class rhsusf_M1239_MK19_socom_d { cost=300; requirements[]={}; }; class rhsusf_M1239_M2_Deploy_socom_d { cost=300; requirements[]={}; }; class rhsusf_M1239_MK19_Deploy_socom_d { cost=300; requirements[]={}; }; class rhsusf_m1245_m2crows_socom_d { cost=300; requirements[]={}; }; class rhsusf_m1245_mk19crows_socom_d { cost=300; requirements[]={}; }; class rhsusf_m1245_m2crows_socom_deploy { cost=300; requirements[]={}; }; class rhsusf_m1245_mk19crows_socom_deploy { cost=300; requirements[]={}; }; class rhsusf_stryker_m1126_m2_wd { cost=500; requirements[]={}; }; class rhsusf_m113_usarmy_supply { cost=500; requirements[]={}; }; class rhsusf_m113_usarmy { cost=500; requirements[]={}; }; class rhsusf_m113_usarmy_M240 { cost=500; requirements[]={}; }; class rhsusf_m113_usarmy_medical { cost=500; requirements[]={}; }; class rhsusf_m113_usarmy_MK19 { cost=500; requirements[]={}; }; class rhsusf_m113_usarmy_unarmed { cost=500; requirements[]={}; }; class RHS_M2A2_wd { cost=750; requirements[]={}; }; class RHS_M2A2_BUSKI_wd { cost=750; requirements[]={}; }; class RHS_M2A3_wd { cost=750; requirements[]={}; }; class RHS_M2A3_BUSKI_wd { cost=750; requirements[]={}; }; class RHS_M2A3_BUSKIII_wd { cost=750; requirements[]={}; }; class RHS_M6_wd { cost=750; requirements[]={}; }; class rhsusf_m1a1aimwd_usarmy { cost=1000; requirements[]={}; }; class rhsusf_m1a1aim_tuski_wd { cost=1000; requirements[]={}; }; class rhsusf_m1a2sep1wd_usarmy { cost=1000; requirements[]={}; }; class rhsusf_m1a2sep1tuskiwd_usarmy { cost=1000; requirements[]={}; }; class rhsusf_m1a2sep1tuskiiwd_usarmy { cost=1000; requirements[]={}; }; class rhsusf_m1a1fep_wd { cost=1000; requirements[]={}; }; class rhsusf_m1a1hc_wd { cost=1000; requirements[]={}; }; class rhsusf_m1a1fep_od { cost=1000; requirements[]={}; }; class rhsusf_m109_usarmy { cost=2500; requirements[]={}; }; class rhsusf_M142_usarmy_WD { cost=2500; requirements[]={}; }; }; class Aircraft { class RHS_CH_47F { cost=1000; requirements[]={}; }; class RHS_UH60M { cost=1000; requirements[]={}; }; class RHS_UH60M_ESSS { cost=1000; requirements[]={}; }; class RHS_UH60M_ESSS2 { cost=1000; requirements[]={}; }; class RHS_UH60M2 { cost=1000; requirements[]={}; }; class RHS_UH60M_MEV2 { cost=1000; requirements[]={}; }; class RHS_UH60M_MEV { cost=1000; requirements[]={}; }; class RHS_MELB_MH6M { cost=1000; requirements[]={}; }; class RHS_MELB_H6M { cost=1000; requirements[]={}; }; class rhsusf_CH53E_USMC { cost=1000; requirements[]={}; }; class rhsusf_CH53E_USMC_GAU21 { cost=1000; requirements[]={}; }; class RHS_UH1Y_FFAR { cost=1000; requirements[]={}; }; class RHS_UH1Y { cost=1000; requirements[]={}; }; class RHS_UH1Y_UNARMED { cost=1000; requirements[]={}; }; class RHS_AH64D_wd { cost=2500; requirements[]={}; }; class RHS_AH64DGrey { cost=2500; requirements[]={}; }; class RHS_MELB_AH6M { cost=2500; requirements[]={}; }; class RHS_AH1Z_wd { cost=2500; requirements[]={}; }; }; class Naval { class rhsusf_mkvsoc { cost=300; requirements[]= { "W" }; }; }; class Gear { class rhsusf_mags_crate { cost=250; requirements[]={}; }; class rhsusf_gear_crate { cost=250; requirements[]={}; }; class rhsusf_launcher_crate { cost=250; requirements[]={}; }; class rhsusf_spec_weapons_crate { cost=250; requirements[]={}; }; class rhsusf_weapon_crate { cost=250; requirements[]={}; }; }; class Defences { class RHS_Stinger_AA_pod_WD { cost=250; requirements[]={}; }; class RHS_M2StaticMG_WD { cost=250; requirements[]={}; }; class RHS_M2StaticMG_MiniTripod_WD { cost=250; requirements[]={}; }; class RHS_TOW_TriPod_WD { cost=250; requirements[]={}; }; class RHS_MK19_TriPod_WD { cost=250; requirements[]={}; }; class RHS_M252_WD { cost=500; requirements[]={}; }; class RHS_M119_WD { cost=1000; requirements[]={}; }; }; }; class EAST // --- assets available for OPFOR { class Infantry { class rhs_vdv_sergeant { cost=25; requirements[]={}; }; class rhs_vdv_rifleman_alt { cost=25; requirements[]={}; }; class rhs_vdv_RShG2 { cost=25; requirements[]={}; }; class rhs_vdv_LAT { cost=25; requirements[]={}; }; class rhs_vdv_grenadier_alt { cost=25; requirements[]={}; }; class rhs_vdv_grenadier { cost=25; requirements[]={}; }; class rhs_vdv_rifleman_asval { cost=25; requirements[]={}; }; class rhs_vdv_rifleman { cost=25; requirements[]={}; }; class rhs_vdv_medic { cost=25; requirements[]={}; }; class rhs_vdv_marksman_asval { cost=25; requirements[]={}; }; class rhs_vdv_marksman { cost=25; requirements[]={}; }; class rhs_vdv_machinegunner_assistant { cost=25; requirements[]={}; }; class rhs_vdv_machinegunner { cost=25; requirements[]={}; }; class rhs_vdv_junior_sergeant { cost=25; requirements[]={}; }; class rhs_vdv_strelok_rpg_assist { cost=25; requirements[]={}; }; class rhs_vdv_grenadier_rpg { cost=25; requirements[]={}; }; class rhs_vdv_engineer { cost=25; requirements[]={}; }; class rhs_vdv_efreitor { cost=25; requirements[]={}; }; class rhs_vdv_arifleman { cost=25; requirements[]={}; }; class rhs_vdv_at { cost=25; requirements[]={}; }; class rhs_vdv_aa { cost=25; requirements[]={}; }; }; class Vehicles { class rhs_tigr_vdv { cost=75; requirements[]={}; }; class rhs_tigr_sts_vdv { cost=75; requirements[]={}; }; class rhs_tigr_m_vdv { cost=75; requirements[]={}; }; class rhs_uaz_vdv { cost=75; requirements[]={}; }; class rhs_gaz66_msv { cost=150; requirements[]={}; }; class rhs_gaz66_ammo_msv { cost=150; requirements[]={}; }; class rhs_gaz66_flat_msv { cost=150; requirements[]={}; }; class rhs_gaz66o_msv { cost=150; requirements[]={}; }; class rhs_gaz66o_flat_msv { cost=150; requirements[]={}; }; class rhs_gaz66_r142_msv { cost=150; requirements[]={}; }; class rhs_gaz66_zu23_msv { cost=150; requirements[]={}; }; class rhs_gaz66_ap2_msv { cost=150; requirements[]={}; }; class rhs_gaz66_repair_msv { cost=150; requirements[]={}; }; class rhs_kamaz5350_msv { cost=150; requirements[]={}; }; class rhs_kamaz5350_flatbed_cover_msv { cost=150; requirements[]={}; }; class rhs_kamaz5350_open_msv { cost=150; requirements[]={}; }; class rhs_kamaz5350_flatbed_msv { cost=150; requirements[]={}; }; class RHS_Ural_MSV_01 { cost=150; requirements[]={}; }; class RHS_Ural_Flat_MSV_01 { cost=150; requirements[]={}; }; class RHS_Ural_Fuel_MSV_01 { cost=150; requirements[]={}; }; class RHS_Ural_Open_MSV_01 { cost=150; requirements[]={}; }; class RHS_Ural_Open_Flat_MSV_01 { cost=150; requirements[]={}; }; class RHS_Ural_Repair_MSV_01 { cost=150; requirements[]={}; }; class RHS_Ural_Zu23_MSV_01 { cost=150; requirements[]={}; }; class rhs_zil131_msv { cost=150; requirements[]={}; }; class rhs_zil131_flatbed_cover_msv { cost=150; requirements[]={}; }; class rhs_zil131_open_msv { cost=150; requirements[]={}; }; class rhs_zil131_flatbed_msv { cost=150; requirements[]={}; }; class rhsgref_BRDM2_msv { cost=250; requirements[]={}; }; class rhsgref_BRDM2_ATGM_msv { cost=250; requirements[]={}; }; class rhsgref_BRDM2UM_msv { cost=250; requirements[]={}; }; class rhsgref_BRDM2_HQ_msv { cost=250; requirements[]={}; }; class rhs_btr60_vdv { cost=450; requirements[]={}; }; class rhs_btr70_vdv { cost=450; requirements[]={}; }; class rhs_btr80_vdv { cost=450; requirements[]={}; }; class rhs_btr80a_vdv { cost=450; requirements[]={}; }; class rhs_pts_vmf { cost=650; requirements[]={}; }; class rhs_bmd1 { cost=650; requirements[]={}; }; class rhs_bmd1k { cost=650; requirements[]={}; }; class rhs_bmd1p { cost=650; requirements[]={}; }; class rhs_bmd1pk { cost=650; requirements[]={}; }; class rhs_bmd1r { cost=650; requirements[]={}; }; class rhs_bmd2 { cost=650; requirements[]={}; }; class rhs_bmd2k { cost=650; requirements[]={}; }; class rhs_bmd2m { cost=650; requirements[]={}; }; class rhs_bmd4_vdv { cost=650; requirements[]={}; }; class rhs_bmd4m_vdv { cost=650; requirements[]={}; }; class rhs_bmd4ma_vdv { cost=650; requirements[]={}; }; class rhs_bmp1_vdv { cost=650; requirements[]={}; }; class rhs_bmp1d_vdv { cost=650; requirements[]={}; }; class rhs_bmp1k_vdv { cost=650; requirements[]={}; }; class rhs_bmp1p_vdv { cost=650; requirements[]={}; }; class rhs_bmp2e_vdv { cost=650; requirements[]={}; }; class rhs_bmp2_vdv { cost=650; requirements[]={}; }; class rhs_bmp2d_vdv { cost=650; requirements[]={}; }; class rhs_bmp2k_vdv { cost=650; requirements[]={}; }; class rhs_brm1k_vdv { cost=650; requirements[]={}; }; class rhs_prp3_vdv { cost=650; requirements[]={}; }; class rhs_zsu234_aa { cost=900; requirements[]={}; }; class rhs_t14_tv { cost=900; requirements[]={}; }; class rhs_t72ba_tv { cost=900; requirements[]={}; }; class rhs_t72bb_tv { cost=900; requirements[]={}; }; class rhs_t72bc_tv { cost=900; requirements[]={}; }; class rhs_t72bd_tv { cost=900; requirements[]={}; }; class rhs_t72be_tv { cost=900; requirements[]={}; }; class rhs_t80 { cost=900; requirements[]={}; }; class rhs_t80a { cost=900; requirements[]={}; }; class rhs_t80b { cost=900; requirements[]={}; }; class rhs_t80bk { cost=900; requirements[]={}; }; class rhs_t80bv { cost=900; requirements[]={}; }; class rhs_t80bvk { cost=900; requirements[]={}; }; class rhs_t80u { cost=900; requirements[]={}; }; class rhs_t80u45m { cost=900; requirements[]={}; }; class rhs_t80ue1 { cost=900; requirements[]={}; }; class rhs_t80uk { cost=900; requirements[]={}; }; class rhs_t80um { cost=900; requirements[]={}; }; class rhs_t90_tv { cost=900; requirements[]={}; }; class rhs_t90a_tv { cost=900; requirements[]={}; }; class rhs_t90am_tv { cost=900; requirements[]={}; }; class rhs_t90saa_tv { cost=900; requirements[]={}; }; class rhs_t90sab_tv { cost=900; requirements[]={}; }; class rhs_t90sm_tv { cost=900; requirements[]={}; }; class RHS_BM21_MSV_01 { cost=2000; requirements[]={}; }; class rhs_9k79 { cost=2000; requirements[]={}; }; class rhs_9k79_K { cost=2000; requirements[]={}; }; class rhs_9k79_B { cost=2000; requirements[]={}; }; class rhs_2s1_tv { cost=2000; requirements[]={}; }; class rhs_2s3_tv { cost=2000; requirements[]={}; }; }; class Aircraft { class RHS_Mi8AMT_vdv { cost=900; requirements[]={}; }; class RHS_Mi8mt_vdv { cost=900; requirements[]={}; }; class RHS_Mi8mt_Cargo_vdv { cost=900; requirements[]={}; }; class RHS_Mi8MTV3_vdv { cost=900; requirements[]={}; }; class RHS_Mi8mtv3_Cargo_vdv { cost=900; requirements[]={}; }; class RHS_Mi8MTV3_heavy_vdv { cost=900; requirements[]={}; }; class RHS_Mi8T_vdv { cost=900; requirements[]={}; }; class rhs_ka60_c { cost=900; requirements[]={}; }; class RHS_Mi8AMT_vvsc { cost=900; requirements[]={}; }; class RHS_Mi8AMTSh_vvsc { cost=900; requirements[]={}; }; class RHS_Mi8mt_vvsc { cost=900; requirements[]={}; }; class RHS_Mi8mt_Cargo_vvsc { cost=900; requirements[]={}; }; class RHS_Mi8MTV3_vvsc { cost=900; requirements[]={}; }; class RHS_Mi8mtv3_Cargo_vvsc { cost=900; requirements[]={}; }; class RHS_Mi8MTV3_heavy_vvsc { cost=900; requirements[]={}; }; class RHS_Mi8T_vvsc { cost=900; requirements[]={}; }; class RHS_Mi24P_vdv { cost=2000; requirements[]={}; }; class RHS_Mi24V_vdv { cost=2000; requirements[]={}; }; class RHS_Ka52_vvsc { cost=2000; requirements[]={}; }; class RHS_Mi24P_vvsc { cost=2000; requirements[]={}; }; class RHS_Mi24V_vvsc { cost=2000; requirements[]={}; }; class RHS_Mi24Vt_vvsc { cost=2000; requirements[]={}; }; class rhs_mi28n_vvsc { cost=2000; requirements[]={}; }; }; class Naval { class O_Boat_Armed_01_hmg_F { cost=500; requirements[]= { "W" }; }; }; class Gear { class rhs_gear_crate { cost=25; requirements[]={}; }; class rhs_launcher_crate { cost=25; requirements[]={}; }; class rhs_spec_weapons_crate { cost=25; requirements[]={}; }; class rhs_weapon_crate { cost=25; requirements[]={}; }; class rhs_mags_crate { cost=25; requirements[]={}; }; }; class Defences { class rhs_Metis_9k115_2_msv { cost=150; requirements[]={}; }; class rhs_Kornet_9M133_2_msv { cost=150; requirements[]={}; }; class rhs_Igla_AA_pod_msv { cost=150; requirements[]={}; }; class RHS_AGS30_TriPod_MSV { cost=150; requirements[]={}; }; class rhs_KORD_MSV { cost=150; requirements[]={}; }; class rhs_KORD_high_MSV { cost=150; requirements[]={}; }; class RHS_NSV_TriPod_MSV { cost=150; requirements[]={}; }; class rhs_SPG9M_MSV { cost=150; requirements[]={}; }; class RHS_ZU23_MSV { cost=150; requirements[]={}; }; class rhs_D30_msv { cost=350; requirements[]={}; }; class rhs_D30_at_msv { cost=350; requirements[]={}; }; class rhs_2b14_82mm_msv { cost=350; requirements[]={}; }; }; }; }; }; fn_WLSectorPopulate.sqf Spoiler /* WARLORDS-SPECIFIC FUNCTION Author: Josef Zemánek Description: Spawns sector garrison. */ _sector = _this # 0; _center = position (_this # 0); _radX = _this # 1; _radY = _this # 2; _side = _this # 3; _trgSizeIndex = (_radX * _radY) / 25e4; _garrisonTotal = 0; _sentriesTotal = 60 * _trgSizeIndex; _vehArray = _sector getVariable "BIS_WL_vehicles"; _spawnPosArr = _sector getVariable "BIS_WL_spawnPosArr"; _spawnPosArrCnt = count _spawnPosArr; _spawnPos = []; { if (side (_x # 3) == _side) then { _veh = (_x # 0) createVehicle (_x # 1); _veh setPos (_x # 1); _veh setDir (_x # 2); createVehicleCrew _veh; _veh allowCrewInImmobile TRUE; _grp = group effectiveCommander _veh; _grp setFormDir (_x # 2); if ((count waypoints (_x # 3)) > 1) then { _grp copyWaypoints (_x # 3); } else { _SADWP = _grp addWaypoint [position _sector, 100]; _SADWP setWaypointType "SAD"; _SADWP = _grp addWaypoint [position _sector, 100]; _SADWP setWaypointType "SAD"; _cycleWP = _grp addWaypoint [position _sector, 100]; _cycleWP setWaypointType "CYCLE"; }; deleteGroup (_x # 3); [_veh, _sector] call BIS_fnc_WLremovalHandle; _veh spawn { scriptName "WLSectorPopulate (stuck check)"; while {!isNull _this} do { _pos = position _this; sleep 180; if ((crew _this) findIf {alive _x} >= 0 && (crew _this) findIf {isPlayer _x} == -1 && (position _this) distance _pos < 0.5) then { ["%1 is stuck with %2, trying to unstuck", effectiveCommander _this, getText (BIS_WL_cfgVehs >> typeOf _this >> "displayName")] call BIS_fnc_WLdebug; _this setPos ([_this, 2, random 360] call BIS_fnc_relPos); effectiveCommander _this move position _this; }; }; }; [_grp, _sector] call BIS_fnc_WLGarrisonRetreat; }; } forEach _vehArray; _sector setVariable ["BIS_WL_vehiclesSpawned", TRUE]; if (_side == RESISTANCE) then { _sector spawn { _trg = _this getVariable "BIS_WL_sectorSeizeTrgGuer"; while {(_this getVariable "BIS_WL_sectorSide") == RESISTANCE} do { if ((list _trg) findIf {behaviour _x == "COMBAT"} >= 0) exitWith {_this call BIS_fnc_WLSendResponseTeam}; sleep 5; }; }; }; _j = 0; _unitArr = BIS_WL_unitsPool # (BIS_WL_sidesPool find _side); _unitArrCnt = count _unitArr; for [{_i = 0}, {_i < _garrisonTotal}, {_i = _i + 1}] do { if (_i < _spawnPosArrCnt) then { _spawnPos = _spawnPosArr # floor random _spawnPosArrCnt; _j = _j + 1; } else { _spawnPos = [_center, random 50, random 360] call BIS_fnc_relPos; }; _newGrp = createGroup [_side, TRUE]; while {count units _newGrp < 8} do { _newUnit = _newGrp createUnit [_unitArr # floor random _unitArrCnt, _spawnPos, [], 10, "FORM"]; _newUnit setSkill (0.2 + random 0.3); }; deleteWaypoint [_newGrp, 0]; _wp = _newGrp addWaypoint [position leader _newGrp, 0]; _wp setWaypointType "HOLD"; {[_x, _sector] call BIS_fnc_WLremovalHandle; _x allowFleeing 0} forEach units _newGrp; [_newGrp, _sector] call BIS_fnc_WLGarrisonRetreat; sleep 1; }; for [{_i = 0}, {_i < _sentriesTotal}, {_i = _i + 1}] do { _newGrp = grpNull; if (_i + _j < _spawnPosArrCnt) then { _spawnPos = _spawnPosArr # floor random _spawnPosArrCnt; } else { _spawnPos = []; _cycles = 0; while {_spawnPos isEqualTo [] && _cycles < 200} do { _cycles = _cycles + 1; _posStart = [_center, random (if (random 1 < 0.75) then {_radX / 3} else {_radX * 0.75}), random 360] call BIS_fnc_relPos; _spawnPos = _posStart isFlatEmpty [3, -1, 0.2, 5, 0, FALSE, player]; if !(_spawnPos isEqualTo []) then { _spawnPos = ASLToATL _spawnPos; _nearObjs = _spawnPos nearObjects ["All", 10]; if (count _nearObjs > 0) then { _spawnPos = []; }; }; }; }; if (count _spawnPos > 0) then { _newGrp = createGroup [_side, TRUE]; while {count units _newGrp < 3} do { //this line _newUnit = _newGrp createUnit [_unitArr # floor random _unitArrCnt, _spawnPos, [], 10, "FORM"]; //and this line. why? _newUnit setSkill (0.2 + random 0.3); }; {[_x, _sector] call BIS_fnc_WLremovalHandle; _x allowFleeing 0} forEach units _newGrp; [_newGrp, _sector] call BIS_fnc_WLGarrisonRetreat; deleteWaypoint [_newGrp, 0]; for [{_i2 = 1}, {_i2 <= 5}, {_i2 = _i2 + 1}] do { _wp = _newGrp addWaypoint [[_center, _radX, _radY] call BIS_fnc_WLrandomPosRect, 0]; _wp setWaypointType "MOVE"; _wp setWaypointSpeed "LIMITED"; _wp setWaypointBehaviour "SAFE"; }; _wp = _newGrp addWaypoint [waypointPosition [_newGrp, 1], 0]; _wp setWaypointType "CYCLE"; sleep 1; }; }; How can I fix this. I played two sectors and I have a 4.8 million line Arma3_x64.rpt . Please help me. Share this post Link to post Share on other sites
Asmodeuz 54 Posted January 1, 2020 Hello, check that you are pointing to correct factions in the Warlords INIT module. By default there's BLU_F, OPF_F and IND_F and these need to be changed to correctly reflect the factions you want to spawn in the sectors as defenders. 1 2 Share this post Link to post Share on other sites
pierremgi 4890 Posted January 1, 2020 Sure, beyond factions, RHS is not compliant with "standard" family groups as "infantry", "mechanized"... "motorized". So it's always difficult to find a working cfgGroups with this mod. Your error is probably related to strings like "'Indep' >> 'rhsgref_faction_cdf_ground' >> 'rhsgref_group_cdf_reg_infantry' >> 'rhsgref_group_cdf_reg_infantry_squad'" which are neither group classes (like "'rhsgref_group_cdf_reg_infantry_squad") nor config classes like (configFile >> "cfgGroups" > "Indep" >> "rhsgref_faction_cdf_ground" >> "rhsgref_group_cdf_reg_infantry" >> "rhsgref_group_cdf_reg_infantry_squad") 2 Share this post Link to post Share on other sites
Twiznak 57 Posted January 1, 2020 1 hour ago, pierremgi said: ...RHS is not compliant with "standard" family groups as "infantry", "mechanized"... "motorized".... That's the problem right there! My group strings where pulled directly from the splendid config viewer in eden editor.I must have extraneous group strings mixed in with valid ones. I know that I have all the valid ones because the mission spawns the expected amount of garrisoned units in every sector. I figure that, when the populate script is choosing groups at random, if it picks the extraneous groups, it kicks out an error- and continues until complete. but it does that a lot because I have a lot of non valid group stings. To fix this I must add group strings one buy one, testing each one, to weed out the extraneous. Thank you for your help gentlemen! 1 Share this post Link to post Share on other sites
pierremgi 4890 Posted January 2, 2020 Perhaps you could try this little function I wrote to determine if it's an existing group, and if OK, the config name (I never found any BI function for that): fn_thisIsGroup = compileFinal " params ['_faction']; _conf = configNull; scopeName 'skipElse'; { _gg = ('true' configClasses (configfile >> 'CfgGroups' >> _x)); for '_i' from 0 to count _gg -1 do { _ff = 'true' configClasses (_gg select _i); for '_j' from 0 to count _ff -1 do { _cc = 'true' configClasses (_ff select _j); for '_k' from 0 to count _cc - 1 do { if (configName (_cc select _k) == _faction) then { _conf = _cc select _k; breakTo 'skipElse'; }; }; }; }; } count ['East','West','Indep','Civilian']; _conf "; _grpConfig = "rhsgref_group_cdf_reg_infantry_squad" call fn_thisIsGroup; // returns: bin\config.bin/CfgGroups/Indep/rhsgref_faction_cdf_ground/rhsgref_group_cdf_reg_infantry/rhsgref_group_cdf_reg_infantry_squad _grpConfig = "rhsgref_group_cdf_reg_infantry_squAAAAAd" call fn_thisIsGroup; // is null (configNull) Any improvement to make it faster is welcome! 1 2 Share this post Link to post Share on other sites
Twiznak 57 Posted January 2, 2020 ok, so I found all the information about group containment chains HERE at RHS documentation. I triple checked and I am following the example provided. 20 hours ago, pierremgi said: Perhaps you could try this little function I wrote to determine if it's an existing group, and if OK, the config name (I never found any BI function for that): fn_thisIsGroup = compileFinal " params ['_faction']; _conf = configNull; scopeName 'skipElse'; { _gg = ('true' configClasses (configfile >> 'CfgGroups' >> _x)); for '_i' from 0 to count _gg -1 do { _ff = 'true' configClasses (_gg select _i); for '_j' from 0 to count _ff -1 do { _cc = 'true' configClasses (_ff select _j); for '_k' from 0 to count _cc - 1 do { if (configName (_cc select _k) == _faction) then { _conf = _cc select _k; breakTo 'skipElse'; }; }; }; }; } count ['East','West','Indep','Civilian']; _conf "; _grpConfig = "rhsgref_group_cdf_reg_infantry_squad" call fn_thisIsGroup; // returns: bin\config.bin/CfgGroups/Indep/rhsgref_faction_cdf_ground/rhsgref_group_cdf_reg_infantry/rhsgref_group_cdf_reg_infantry_squad _grpConfig = "rhsgref_group_cdf_reg_infantry_squAAAAAd" call fn_thisIsGroup; // is null (configNull) Any improvement to make it faster is welcome! PierrieMGI, do I use this function in the debug console with a local execute? I am trying now. I will get back to you with results. Also maybe my eyes are playing tricks on me and I just can't see my mistake. Did you see any basic, syntax/grammar errors in my description.ext ? 1 Share this post Link to post Share on other sites
pierremgi 4890 Posted January 3, 2020 1. Yes on console or where you need it. It's just a script to make sure the group exists. 2. At least there is the fuc...ng" invisible character, rotting your line 118 just before the # (watch for the cursor, from left to right, or right to left): _newUnit = _newGrp createUnit [_unitArr # floor random _unitArrCnt, _spawnPos, [], 10, "FORM"]; Rewrite: _newUnit = _newGrp createUnit [_unitArr # floor random _unitArrCnt, _spawnPos, [], 10, "FORM"]; 2 Share this post Link to post Share on other sites
Twiznak 57 Posted January 3, 2020 36 minutes ago, pierremgi said: 1. Yes on console or where you need it. It's just a script to make sure the group exists. 2. At least there is the fuc...ng" invisible character, rotting your line 118 just before the # (watch for the cursor, from left to right, or right to left): _newUnit = _newGrp createUnit [_unitArr # floor random _unitArrCnt, _spawnPos, [], 10, "FORM"]; Rewrite: _newUnit = _newGrp createUnit [_unitArr # floor random _unitArrCnt, _spawnPos, [], 10, "FORM"]; Thank you sir! On 1/1/2020 at 12:37 AM, Asmodeuz said: Hello, check that you are pointing to correct factions in the Warlords INIT module. By default there's BLU_F, OPF_F and IND_F and these need to be changed to correctly reflect the factions you want to spawn in the sectors as defenders. SOLVED by Asmodeuz! so I followed the example given on the Warlords WIKI and I put ['MyWLAssetList'] in the Indep class field in the warlords INIT module. This was wrong. I had to insert the RHS faction class into the INIT module AND define all groups in the description.ext. Without the RHS classname in the module it was only spawning mechanized/motorized squads from the MyWLAssetList. Which is Odd, because when I was troubleshooting, I had the AAF class in the module and it was spawning AAF soldiers and RHS mechanized squads. Whatever! It's fixed. Thank you for your help Asmodeuz! Thank you again PierreMGI! 1 Share this post Link to post Share on other sites