Jump to content
bangabob

Enemy occupation system (eos)

Recommended Posts

Being new to scripting and mission making using markers this is a bit hard to use for me atm. I'm sure its awesome and ill figure it out but I know it does say it supports the use of addons is there anyway to get that working? I know the documentation isn't done yet. But from what I've seen it works awesome. Now if i could get it to use the addons I have it would be complete... :) (Trying to get the Massi African conflict to work.) Also can anyone PM me with how to setup the server gamelogic.

Share this post


Link to post
Share on other sites

Hi Raytesh,

Here is the EOS_UniPools.sqf you want. We have a few extra factions that wont work for you but you will notice the massi africans are case 5 and 6. All you have to do is change your OpenMe.sqf to the new case #'s. Make a backup of your EOS_UnitPools.sqf and then paste this code in.

if (!isServer) exitwith {};
private ["_sqdPool","_unit","_i","_faction","_InfPool","_tempArray","_type","_diverPool","_ArmPool","_MotPool","_ACHPool","_CHPool","_uavPool","_shipPool","_stPool"];
_faction=(_this select 0);
_type=(_this select 1);
_tempArray=[];
_i=0;
switch (_faction) do
{
case 0:{
// EAST CSAT FACTION
_InfPool=	["O_SoldierU_SL_F","O_soldierU_repair_F","O_soldierU_medic_F","O_sniper_F","O_Soldier_A_F","O_Soldier_AA_F","O_Soldier_AAA_F","O_Soldier_AAR_F","O_Soldier_AAT_F","O_Soldier_AR_F","O_Soldier_AT_F","O_soldier_exp_F","O_Soldier_F","O_engineer_F","O_engineer_U_F","O_medic_F","O_recon_exp_F","O_recon_F","O_recon_JTAC_F","O_recon_LAT_F","O_recon_M_F","O_recon_medic_F","O_recon_TL_F"];
_ArmPool=	["O_APC_Tracked_02_AA_F","O_APC_Tracked_02_cannon_F","O_APC_Wheeled_02_rcws_F","O_MBT_02_arty_F","O_MBT_02_cannon_F"];
_MotPool=	["O_Truck_02_covered_F","O_Truck_02_transport_F","O_MRAP_02_F","O_MRAP_02_gmg_F","O_MRAP_02_hmg_F","O_Truck_02_medical_F"];
_ACHPool=	["O_Heli_Attack_02_black_F","O_Heli_Attack_02_F"];
_CHPool=	["O_Heli_Light_02_F","O_Heli_Light_02_unarmed_F"];
_uavPool=	["O_UAV_01_F","O_UAV_02_CAS_F","O_UGV_01_rcws_F"];
_stPool=	["O_Mortar_01_F","O_static_AT_F","O_static_AA_F"];
_shipPool=	["O_Boat_Armed_01_hmg_F","O_Boat_Transport_01_F"];
_diverPool=	["O_Soldier_A_F","O_Soldier_AAT_F","O_Soldier_AR_F"];
};
// WEST NATO FACTION
case 1:{
_InfPool=	["B_sniper_F","B_Soldier_A_F","B_Soldier_AA_F","B_Soldier_AAA_F","B_Soldier_AAR_F","B_Soldier_AAT_F","B_Soldier_AR_F","B_Soldier_AT_F","B_soldier_exp_F","B_Soldier_F","B_engineer_F","B_medic_F","B_recon_exp_F","B_recon_F","B_recon_JTAC_F","B_recon_LAT_F","B_recon_M_F","B_recon_medic_F","B_recon_TL_F"];
_ArmPool=	["B_MBT_01_arty_F","B_MBT_01_cannon_F","B_MBT_01_mlrs_F","B_APC_Tracked_01_AA_F","B_APC_Tracked_01_CRV_F","B_APC_Tracked_01_rcws_F","B_APC_Wheeled_01_cannon_F","B_MBT_02_cannon_F"];
_MotPool=	["B_Truck_01_covered_F","B_Truck_01_transport_F","B_MRAP_01_F","B_MRAP_01_gmg_F","B_MRAP_01_hmg_F","B_Truck_01_medical_F"];
_ACHPool=	["B_Heli_Attack_01_F","B_Heli_Light_01_armed_F"];
_CHPool=	["B_Heli_Light_01_F","B_Heli_Transport_01_camo_F","B_Heli_Transport_01_F"];
_uavPool=	["B_UAV_01_F","B_UAV_01_CAS_F","B_UGV_01_rcws_F"];
_stPool=	["B_Mortar_01_F","B_static_AT_F","B_static_AA_F"];
_shipPool=	["B_Boat_Armed_01_hmg_F","B_Boat_Transport_01_F"];
_diverPool=	["B_diver_exp_F","O_diver_F","B_diver_TL_F"];
};
// INDEPENDENT AAF FACTION
case 2:{
_InfPool=	["I_engineer_F","I_Soldier_A_F","I_Soldier_AA_F","I_Soldier_AAA_F","I_Soldier_AAR_F","I_Soldier_AAT_F","I_Soldier_AR_F","I_Soldier_AT_F","I_Soldier_exp_F","I_soldier_F","I_Soldier_GL_F","I_Soldier_repair_F"];
_ArmPool=	["I_APC_Wheeled_03_cannon_F"];
_MotPool=	["I_MRAP_03_F","I_MRAP_03_gmg_F","I_MRAP_03_hmg_F","I_Truck_02_medical_F"];
_ACHPool=	[];
_CHPool=	["I_Heli_Transport_02_F","B_Heli_Light_02_unarmed_F"];
_uavPool=	["I_UAV_01_F","I_UAV_02_CAS_F","I_UGV_01_rcws_F"];
_stPool=	["I_Mortar_01_F"];
_shipPool=	["I_Boat_Transport_01_F","I_G_Boat_Transport_01_F","I_Boat_Armed_01_minigun_F"];
_diverPool=	["I_diver_exp_F","I_diver_F","I_diver_TL_F"];
};
// CIVILIAN
case 3:{
_InfPool=	["C_man_1","C_man_1_1_F","C_man_1_2_F","C_man_1_3_F","C_man_hunter_1_F","C_man_p_beggar_F","C_man_p_beggar_F_afro","C_man_p_fugitive_F","C_man_p_shorts_1_F","C_man_pilot_F","C_man_polo_1_F","C_man_polo_2_F","C_man_polo_3_F","C_man_polo_4_F","C_man_polo_5_F","C_man_polo_6_F","C_man_shorts_1_F","C_man_shorts_2_F","C_man_shorts_3_F","C_man_shorts_4_F","C_man_w_worker_F"];
_ArmPool=	["C_Hatchback_01_F","C_Hatchback_01_sport_F","C_Quadbike_01_F","C_SUV_01_F","C_Van_01_transport_F","C_Van_01_box_F"];
_MotPool=	["C_Hatchback_01_F","C_Hatchback_01_sport_F","C_Quadbike_01_F","C_SUV_01_F","C_Van_01_transport_F","C_Van_01_box_F"];
_ACHPool=	[];
_CHPool=	[];
_uavPool=	[];
_stPool=	[];
_shipPool=	["C_Boat_Civil_01_F","C_Boat_Civil_01_rescue_F","C_Boat_Civil_04_F","C_Rubberboat"];
_diverPool=	[];
};
// WEST FIA FACTION
case 4:{
_InfPool=	["B_G_engineer_F","B_G_medic_F","B_G_officer_F","B_G_Soldier_A_F","B_G_Soldier_AR_F","B_G_Soldier_exp_F","B_G_Soldier_F","B_G_Soldier_GL_F","B_G_Soldier_LAT_F","B_G_Soldier_lite_F","B_G_Soldier_M_F","B_G_Soldier_SL_F","B_G_Soldier_TL_F"];
_ArmPool=	[];
_MotPool=	["B_G_Offroad_01_F","B_G_Offroad_01_armed_F","B_G_Van_01_transport_F","B_G_Van_01_fuel_F"];
_ACHPool=	[];
_CHPool=	[];
_uavPool=	[];
_stPool=	["B_G_Mortar_01_F"];
_shipPool=	["B_G_Boat_Transport_01_F"];
_diverPool=	[];
};
// Africian Rebel Army (EAST)
case 5:{
_InfPool=	["O_mas_afr_Soldier_F","O_mas_afr_Soldier_GL_F","O_mas_afr_soldier_AR_F","O_mas_afr_soldier_MG_F","O_mas_afr_Soldier_lite_F", "O_mas_afr_Soldier_off_F","O_mas_afr_Soldier_SL_F","O_mas_afr_Soldier_TL_Fn","O_mas_afr_soldier_M_F","O_mas_afr_soldier_LAT_F","O_mas_afr_soldier_AT_F","O_mas_afr_soldier_LAA_F","O_mas_afr_medic_F","O_mas_afr_soldier_repair_F","O_mas_afr_soldier_exp_F"];
_ArmPool=	["O_APC_Tracked_02_AA_F","O_APC_Tracked_02_cannon_F"];
_MotPool=	["O_mas_afr_Quadbike_01_F", "O_mas_afr_Offroad_01_F", "O_mas_afr_Offroad_01_armed_F", "O_mas_afr_Offroad_01s_F", "O_mas_afr_Offroad_01s_armed_F", "O_mas_afr_Offroad_01c_F", "O_mas_afr_Offroad_01c_armed_F", "O_mas_afr_Truck_02_logistic_F", "O_mas_afr_Truck_02_covered_F"];
_ACHPool=	[];
_CHPool=	["O_Heli_Light_02_F"];
_uavPool=	[];
_stPool=	["O_mas_afr_Mortar_01_F"];
_shipPool=	["O_mas_afr_Boat_Transport_01_F"];
_diverPool=	["O_diver_exp_F","O_diver_F","O_diver_TL_F"];
};
// Armed African Civilians (Rebel supporters) (EAST)
case 6:{
_InfPool=	["O_mas_afr_Rebel1_F","O_mas_afr_Rebel2_F","O_mas_afr_Rebel3_F","O_mas_afr_Rebel4_F","O_mas_afr_Rebel5_F","O_mas_afr_Rebel6_F","O_mas_afr_Rebel6a_F","O_mas_afr_Rebel7_F","O_mas_afr_Rebel8_F","O_mas_afr_Rebel8a_F"];
_ArmPool=	[];
_MotPool=	["O_mas_afr_Quadbike_01_F", "O_mas_afr_Offroad_01_F", "O_mas_afr_Offroad_01_armed_F"];
_ACHPool=	[];
_CHPool=	[];
_uavPool=	[];
_stPool=	["O_mas_afr_Mortar_01_F"];
_shipPool=	["O_mas_afr_Boat_Transport_01_F"];
_diverPool=	[];
};
// GOVERNMENT ARMY UNITS (REBELS) (INDEPENDENT)
case 7:{
_InfPool=	["I_mas_afr_Soldier_F", "I_mas_afr_Soldier_GL_F", "I_mas_afr_soldier_AR_F", "I_mas_afr_soldier_MG_F","I_mas_afr_Soldier_lite_F", "I_mas_afr_Soldier_off_F", "I_mas_afr_Soldier_off_Fn", "I_mas_afr_Soldier_SL_F", "I_mas_afr_Soldier_TL_F", "I_mas_afr_soldier_M_F", "I_mas_afr_soldier_LAT_F", "I_mas_afr_soldier_LAA_F", "I_mas_afr_medic_F", "I_mas_afr_soldier_repair_F", "I_mas_afr_soldier_exp_F"];
_ArmPool=	[];
_MotPool=	["I_mas_afr_Offroad_01_F", "I_mas_afr_Offroad_01_armed_F", "I_mas_afr_Offroad_01s_F", "I_mas_afr_Offroad_01s_armed_F"];
_ACHPool=	[];
_CHPool=	[];
_uavPool=	[];
_stPool=	["I_mas_afr_Mortar_01_F", "I_mas_afr_static_AT_F", "I_mas_afr_static_AA_F", "I_mas_afr_GMG_01_F", "I_mas_afr_GMG_01_high_F", "I_mas_afr_HMG_01_F", "I_mas_afr_HMG_01_high_F"];
_shipPool=	["I_mas_afr_Boat_Transport_01_F"];
_diverPool=	["I_diver_exp_F","I_diver_F","I_diver_TL_F"];
};
// Taliban  (INDEPENDENT)
case 8:{
_InfPool=	["DRI_SquadLeader", "DRI_Rifleman", "DRI_MachineGunner", "DRI_AutomaticRifleman","DRI_Grenadier", "DRI_ATSoldier", "DRI_RPG7Soldier", "DRI_AASoldier", "DRI_Medic", "DRI_Marksman", "DRI_Crewman", "DRI_RPG7Grenadier"];
_ArmPool=	["dri_Offroad_SPG92","dri_Offroad_SPG9","dri_UAZ_SPG9","dri_Ural_ZU23"];
_MotPool=	["dri_Landrover_MG", "dri_LandRover_SPG9", "dri_Offroad_DSHKM", "dri_Offroad_DSHKM2","dri_Offroad_DSHKM3","dri_Offroad_01_armed_F","dri_Offroad_01s_armed_F","dri_Pickup_PK","dri_Quadbike_01_F","dri_Truck_02_covered_F","dri_Truck_02_transport_F","dri_UAZ_MG"];
_ACHPool=	[];
_CHPool=	[];
_uavPool=	[];
_stPool=	["dri_Mortar_01_F", "dri_D30", "dri_DSHKM", "dri_MetisATGM", "dri_PKMnest", "dri_Mortar_01_F", "dri_SPG","dri_ZU23","dri_static_AA_F"];
_shipPool=	["I_mas_afr_Boat_Transport_01_F"];
_diverPool=	["I_diver_exp_F","I_diver_F","I_diver_TL_F"];
};
// Cherno Russians  (East)
case 9:{
_InfPool=	["O_mas_afr_rusadv1_F","O_mas_afr_rusadv2_F","O_mas_afr_rusadv3_F","Max_robber_rifle","Max_robber_heavy","Max_robber_sniper","Max_robber_boss"];
_ArmPool=	["dri_Offroad_SPG92","dri_Offroad_SPG9","dri_UAZ_SPG9","dri_Ural_ZU23","O_APC_Tracked_02_AA_F","O_APC_Tracked_02_cannon_F","O_APC_Wheeled_02_rcws_F","O_MBT_02_arty_F","O_MBT_02_cannon_F"];
_MotPool=	["dri_Landrover_MG", "dri_LandRover_SPG9", "dri_Offroad_DSHKM", "dri_Offroad_DSHKM2","dri_Offroad_DSHKM3","dri_Offroad_01_armed_F","dri_Offroad_01s_armed_F","dri_Pickup_PK","dri_Quadbike_01_F","dri_Truck_02_covered_F","dri_Truck_02_transport_F","dri_UAZ_MG","GRAD_RU","UAZ_RU","UAZ_AGS30_RU","Kamaz","KamazOpen","MAZ_543_SCUD_TK_EP1","max_robbers_suv","max_robbers_Hatchback"];
_ACHPool=	["O_Heli_Attack_02_black_F","O_Heli_Attack_02_F"];
_CHPool=	["O_Heli_Light_02_F","O_Heli_Light_02_unarmed_F"];
_uavPool=	[];
_stPool=	["dri_Mortar_01_F", "dri_D30", "dri_DSHKM", "dri_MetisATGM", "dri_PKMnest", "dri_Mortar_01_F", "dri_SPG","dri_ZU23","dri_static_AA_F","Igla_AA_pod_East"];
_shipPool=	["O_Boat_Armed_01_hmg_F"];
_diverPool=	[];
};
};
switch (_type) do
{
case 0:{_sqdPool=[];for "_i" from 0 to 5 do{_unit=_InfPool select (floor(random(count _InfPool)));_sqdPool = _sqdPool + [_unit];};_tempArray=_sqdPool;};
case 1:{_tempArray=_diverPool};
case 2:{_sqdPool=[];for "_i" from 0 to 5 do{_unit=_InfPool select (floor(random(count _InfPool)));_sqdPool = _sqdPool + [_unit];};_tempUnit=_shipPool select (floor(random(count _shipPool)));_temparray= _temparray + [_tempUnit];_temparray= [_temparray] + [_sqdPool];};
case 3:{_sqdPool=[];for "_i" from 0 to 5 do{_unit=_InfPool select (floor(random(count _InfPool)));_sqdPool = _sqdPool + [_unit];};_tempUnit=_MotPool select (floor(random(count _MotPool)));_temparray= _temparray + [_tempUnit];_temparray= [_temparray] + [_sqdPool];};
case 4:{_tempArray=_ArmPool select (floor(random(count _ArmPool)));};
case 5:{_tempArray=_ACHPool select (floor(random(count _ACHPool)));};
case 6:{_sqdPool=[];for "_i" from 0 to 5 do{_unit=_InfPool select (floor(random(count _InfPool)));_sqdPool = _sqdPool + [_unit];};_tempUnit=_CHPool select (floor(random(count _CHPool)));_temparray= _temparray + [_tempUnit];_temparray= [_temparray] + [_sqdPool];};
case 7:{_tempArray=_stPool select (floor(random(count _stPool)));};
case 8:{_tempArray=_uavPool select (floor(random(count _uavPool)));};
case 9:{_tempArray=_uavPool select (floor(random(count _uavPool)));};
};

//hint format ["%1",_tempArray];
_tempArray

As far as the game logic. That is easy. A game logic is just an object you can drop into the editor then name it server.

Share this post


Link to post
Share on other sites
Hi Raytesh,

Here is the EOS_UniPools.sqf you want. We have a few extra factions that wont work for you but you will notice the massi africans are case 5 and 6. All you have to do is change your OpenMe.sqf to the new case #'s. Make a backup of your EOS_UnitPools.sqf and then paste this code in.

if (!isServer) exitwith {};
private ["_sqdPool","_unit","_i","_faction","_InfPool","_tempArray","_type","_diverPool","_ArmPool","_MotPool","_ACHPool","_CHPool","_uavPool","_shipPool","_stPool"];
_faction=(_this select 0);
_type=(_this select 1);
_tempArray=[];
_i=0;
switch (_faction) do
{
case 0:{
// EAST CSAT FACTION
_InfPool=	["O_SoldierU_SL_F","O_soldierU_repair_F","O_soldierU_medic_F","O_sniper_F","O_Soldier_A_F","O_Soldier_AA_F","O_Soldier_AAA_F","O_Soldier_AAR_F","O_Soldier_AAT_F","O_Soldier_AR_F","O_Soldier_AT_F","O_soldier_exp_F","O_Soldier_F","O_engineer_F","O_engineer_U_F","O_medic_F","O_recon_exp_F","O_recon_F","O_recon_JTAC_F","O_recon_LAT_F","O_recon_M_F","O_recon_medic_F","O_recon_TL_F"];
_ArmPool=	["O_APC_Tracked_02_AA_F","O_APC_Tracked_02_cannon_F","O_APC_Wheeled_02_rcws_F","O_MBT_02_arty_F","O_MBT_02_cannon_F"];
_MotPool=	["O_Truck_02_covered_F","O_Truck_02_transport_F","O_MRAP_02_F","O_MRAP_02_gmg_F","O_MRAP_02_hmg_F","O_Truck_02_medical_F"];
_ACHPool=	["O_Heli_Attack_02_black_F","O_Heli_Attack_02_F"];
_CHPool=	["O_Heli_Light_02_F","O_Heli_Light_02_unarmed_F"];
_uavPool=	["O_UAV_01_F","O_UAV_02_CAS_F","O_UGV_01_rcws_F"];
_stPool=	["O_Mortar_01_F","O_static_AT_F","O_static_AA_F"];
_shipPool=	["O_Boat_Armed_01_hmg_F","O_Boat_Transport_01_F"];
_diverPool=	["O_Soldier_A_F","O_Soldier_AAT_F","O_Soldier_AR_F"];
};
// WEST NATO FACTION
case 1:{
_InfPool=	["B_sniper_F","B_Soldier_A_F","B_Soldier_AA_F","B_Soldier_AAA_F","B_Soldier_AAR_F","B_Soldier_AAT_F","B_Soldier_AR_F","B_Soldier_AT_F","B_soldier_exp_F","B_Soldier_F","B_engineer_F","B_medic_F","B_recon_exp_F","B_recon_F","B_recon_JTAC_F","B_recon_LAT_F","B_recon_M_F","B_recon_medic_F","B_recon_TL_F"];
_ArmPool=	["B_MBT_01_arty_F","B_MBT_01_cannon_F","B_MBT_01_mlrs_F","B_APC_Tracked_01_AA_F","B_APC_Tracked_01_CRV_F","B_APC_Tracked_01_rcws_F","B_APC_Wheeled_01_cannon_F","B_MBT_02_cannon_F"];
_MotPool=	["B_Truck_01_covered_F","B_Truck_01_transport_F","B_MRAP_01_F","B_MRAP_01_gmg_F","B_MRAP_01_hmg_F","B_Truck_01_medical_F"];
_ACHPool=	["B_Heli_Attack_01_F","B_Heli_Light_01_armed_F"];
_CHPool=	["B_Heli_Light_01_F","B_Heli_Transport_01_camo_F","B_Heli_Transport_01_F"];
_uavPool=	["B_UAV_01_F","B_UAV_01_CAS_F","B_UGV_01_rcws_F"];
_stPool=	["B_Mortar_01_F","B_static_AT_F","B_static_AA_F"];
_shipPool=	["B_Boat_Armed_01_hmg_F","B_Boat_Transport_01_F"];
_diverPool=	["B_diver_exp_F","O_diver_F","B_diver_TL_F"];
};
// INDEPENDENT AAF FACTION
case 2:{
_InfPool=	["I_engineer_F","I_Soldier_A_F","I_Soldier_AA_F","I_Soldier_AAA_F","I_Soldier_AAR_F","I_Soldier_AAT_F","I_Soldier_AR_F","I_Soldier_AT_F","I_Soldier_exp_F","I_soldier_F","I_Soldier_GL_F","I_Soldier_repair_F"];
_ArmPool=	["I_APC_Wheeled_03_cannon_F"];
_MotPool=	["I_MRAP_03_F","I_MRAP_03_gmg_F","I_MRAP_03_hmg_F","I_Truck_02_medical_F"];
_ACHPool=	[];
_CHPool=	["I_Heli_Transport_02_F","B_Heli_Light_02_unarmed_F"];
_uavPool=	["I_UAV_01_F","I_UAV_02_CAS_F","I_UGV_01_rcws_F"];
_stPool=	["I_Mortar_01_F"];
_shipPool=	["I_Boat_Transport_01_F","I_G_Boat_Transport_01_F","I_Boat_Armed_01_minigun_F"];
_diverPool=	["I_diver_exp_F","I_diver_F","I_diver_TL_F"];
};
// CIVILIAN
case 3:{
_InfPool=	["C_man_1","C_man_1_1_F","C_man_1_2_F","C_man_1_3_F","C_man_hunter_1_F","C_man_p_beggar_F","C_man_p_beggar_F_afro","C_man_p_fugitive_F","C_man_p_shorts_1_F","C_man_pilot_F","C_man_polo_1_F","C_man_polo_2_F","C_man_polo_3_F","C_man_polo_4_F","C_man_polo_5_F","C_man_polo_6_F","C_man_shorts_1_F","C_man_shorts_2_F","C_man_shorts_3_F","C_man_shorts_4_F","C_man_w_worker_F"];
_ArmPool=	["C_Hatchback_01_F","C_Hatchback_01_sport_F","C_Quadbike_01_F","C_SUV_01_F","C_Van_01_transport_F","C_Van_01_box_F"];
_MotPool=	["C_Hatchback_01_F","C_Hatchback_01_sport_F","C_Quadbike_01_F","C_SUV_01_F","C_Van_01_transport_F","C_Van_01_box_F"];
_ACHPool=	[];
_CHPool=	[];
_uavPool=	[];
_stPool=	[];
_shipPool=	["C_Boat_Civil_01_F","C_Boat_Civil_01_rescue_F","C_Boat_Civil_04_F","C_Rubberboat"];
_diverPool=	[];
};
// WEST FIA FACTION
case 4:{
_InfPool=	["B_G_engineer_F","B_G_medic_F","B_G_officer_F","B_G_Soldier_A_F","B_G_Soldier_AR_F","B_G_Soldier_exp_F","B_G_Soldier_F","B_G_Soldier_GL_F","B_G_Soldier_LAT_F","B_G_Soldier_lite_F","B_G_Soldier_M_F","B_G_Soldier_SL_F","B_G_Soldier_TL_F"];
_ArmPool=	[];
_MotPool=	["B_G_Offroad_01_F","B_G_Offroad_01_armed_F","B_G_Van_01_transport_F","B_G_Van_01_fuel_F"];
_ACHPool=	[];
_CHPool=	[];
_uavPool=	[];
_stPool=	["B_G_Mortar_01_F"];
_shipPool=	["B_G_Boat_Transport_01_F"];
_diverPool=	[];
};
// Africian Rebel Army (EAST)
case 5:{
_InfPool=	["O_mas_afr_Soldier_F","O_mas_afr_Soldier_GL_F","O_mas_afr_soldier_AR_F","O_mas_afr_soldier_MG_F","O_mas_afr_Soldier_lite_F", "O_mas_afr_Soldier_off_F","O_mas_afr_Soldier_SL_F","O_mas_afr_Soldier_TL_Fn","O_mas_afr_soldier_M_F","O_mas_afr_soldier_LAT_F","O_mas_afr_soldier_AT_F","O_mas_afr_soldier_LAA_F","O_mas_afr_medic_F","O_mas_afr_soldier_repair_F","O_mas_afr_soldier_exp_F"];
_ArmPool=	["O_APC_Tracked_02_AA_F","O_APC_Tracked_02_cannon_F"];
_MotPool=	["O_mas_afr_Quadbike_01_F", "O_mas_afr_Offroad_01_F", "O_mas_afr_Offroad_01_armed_F", "O_mas_afr_Offroad_01s_F", "O_mas_afr_Offroad_01s_armed_F", "O_mas_afr_Offroad_01c_F", "O_mas_afr_Offroad_01c_armed_F", "O_mas_afr_Truck_02_logistic_F", "O_mas_afr_Truck_02_covered_F"];
_ACHPool=	[];
_CHPool=	["O_Heli_Light_02_F"];
_uavPool=	[];
_stPool=	["O_mas_afr_Mortar_01_F"];
_shipPool=	["O_mas_afr_Boat_Transport_01_F"];
_diverPool=	["O_diver_exp_F","O_diver_F","O_diver_TL_F"];
};
// Armed African Civilians (Rebel supporters) (EAST)
case 6:{
_InfPool=	["O_mas_afr_Rebel1_F","O_mas_afr_Rebel2_F","O_mas_afr_Rebel3_F","O_mas_afr_Rebel4_F","O_mas_afr_Rebel5_F","O_mas_afr_Rebel6_F","O_mas_afr_Rebel6a_F","O_mas_afr_Rebel7_F","O_mas_afr_Rebel8_F","O_mas_afr_Rebel8a_F"];
_ArmPool=	[];
_MotPool=	["O_mas_afr_Quadbike_01_F", "O_mas_afr_Offroad_01_F", "O_mas_afr_Offroad_01_armed_F"];
_ACHPool=	[];
_CHPool=	[];
_uavPool=	[];
_stPool=	["O_mas_afr_Mortar_01_F"];
_shipPool=	["O_mas_afr_Boat_Transport_01_F"];
_diverPool=	[];
};
// GOVERNMENT ARMY UNITS (REBELS) (INDEPENDENT)
case 7:{
_InfPool=	["I_mas_afr_Soldier_F", "I_mas_afr_Soldier_GL_F", "I_mas_afr_soldier_AR_F", "I_mas_afr_soldier_MG_F","I_mas_afr_Soldier_lite_F", "I_mas_afr_Soldier_off_F", "I_mas_afr_Soldier_off_Fn", "I_mas_afr_Soldier_SL_F", "I_mas_afr_Soldier_TL_F", "I_mas_afr_soldier_M_F", "I_mas_afr_soldier_LAT_F", "I_mas_afr_soldier_LAA_F", "I_mas_afr_medic_F", "I_mas_afr_soldier_repair_F", "I_mas_afr_soldier_exp_F"];
_ArmPool=	[];
_MotPool=	["I_mas_afr_Offroad_01_F", "I_mas_afr_Offroad_01_armed_F", "I_mas_afr_Offroad_01s_F", "I_mas_afr_Offroad_01s_armed_F"];
_ACHPool=	[];
_CHPool=	[];
_uavPool=	[];
_stPool=	["I_mas_afr_Mortar_01_F", "I_mas_afr_static_AT_F", "I_mas_afr_static_AA_F", "I_mas_afr_GMG_01_F", "I_mas_afr_GMG_01_high_F", "I_mas_afr_HMG_01_F", "I_mas_afr_HMG_01_high_F"];
_shipPool=	["I_mas_afr_Boat_Transport_01_F"];
_diverPool=	["I_diver_exp_F","I_diver_F","I_diver_TL_F"];
};
// Taliban  (INDEPENDENT)
case 8:{
_InfPool=	["DRI_SquadLeader", "DRI_Rifleman", "DRI_MachineGunner", "DRI_AutomaticRifleman","DRI_Grenadier", "DRI_ATSoldier", "DRI_RPG7Soldier", "DRI_AASoldier", "DRI_Medic", "DRI_Marksman", "DRI_Crewman", "DRI_RPG7Grenadier"];
_ArmPool=	["dri_Offroad_SPG92","dri_Offroad_SPG9","dri_UAZ_SPG9","dri_Ural_ZU23"];
_MotPool=	["dri_Landrover_MG", "dri_LandRover_SPG9", "dri_Offroad_DSHKM", "dri_Offroad_DSHKM2","dri_Offroad_DSHKM3","dri_Offroad_01_armed_F","dri_Offroad_01s_armed_F","dri_Pickup_PK","dri_Quadbike_01_F","dri_Truck_02_covered_F","dri_Truck_02_transport_F","dri_UAZ_MG"];
_ACHPool=	[];
_CHPool=	[];
_uavPool=	[];
_stPool=	["dri_Mortar_01_F", "dri_D30", "dri_DSHKM", "dri_MetisATGM", "dri_PKMnest", "dri_Mortar_01_F", "dri_SPG","dri_ZU23","dri_static_AA_F"];
_shipPool=	["I_mas_afr_Boat_Transport_01_F"];
_diverPool=	["I_diver_exp_F","I_diver_F","I_diver_TL_F"];
};
// Cherno Russians  (East)
case 9:{
_InfPool=	["O_mas_afr_rusadv1_F","O_mas_afr_rusadv2_F","O_mas_afr_rusadv3_F","Max_robber_rifle","Max_robber_heavy","Max_robber_sniper","Max_robber_boss"];
_ArmPool=	["dri_Offroad_SPG92","dri_Offroad_SPG9","dri_UAZ_SPG9","dri_Ural_ZU23","O_APC_Tracked_02_AA_F","O_APC_Tracked_02_cannon_F","O_APC_Wheeled_02_rcws_F","O_MBT_02_arty_F","O_MBT_02_cannon_F"];
_MotPool=	["dri_Landrover_MG", "dri_LandRover_SPG9", "dri_Offroad_DSHKM", "dri_Offroad_DSHKM2","dri_Offroad_DSHKM3","dri_Offroad_01_armed_F","dri_Offroad_01s_armed_F","dri_Pickup_PK","dri_Quadbike_01_F","dri_Truck_02_covered_F","dri_Truck_02_transport_F","dri_UAZ_MG","GRAD_RU","UAZ_RU","UAZ_AGS30_RU","Kamaz","KamazOpen","MAZ_543_SCUD_TK_EP1","max_robbers_suv","max_robbers_Hatchback"];
_ACHPool=	["O_Heli_Attack_02_black_F","O_Heli_Attack_02_F"];
_CHPool=	["O_Heli_Light_02_F","O_Heli_Light_02_unarmed_F"];
_uavPool=	[];
_stPool=	["dri_Mortar_01_F", "dri_D30", "dri_DSHKM", "dri_MetisATGM", "dri_PKMnest", "dri_Mortar_01_F", "dri_SPG","dri_ZU23","dri_static_AA_F","Igla_AA_pod_East"];
_shipPool=	["O_Boat_Armed_01_hmg_F"];
_diverPool=	[];
};
};
switch (_type) do
{
case 0:{_sqdPool=[];for "_i" from 0 to 5 do{_unit=_InfPool select (floor(random(count _InfPool)));_sqdPool = _sqdPool + [_unit];};_tempArray=_sqdPool;};
case 1:{_tempArray=_diverPool};
case 2:{_sqdPool=[];for "_i" from 0 to 5 do{_unit=_InfPool select (floor(random(count _InfPool)));_sqdPool = _sqdPool + [_unit];};_tempUnit=_shipPool select (floor(random(count _shipPool)));_temparray= _temparray + [_tempUnit];_temparray= [_temparray] + [_sqdPool];};
case 3:{_sqdPool=[];for "_i" from 0 to 5 do{_unit=_InfPool select (floor(random(count _InfPool)));_sqdPool = _sqdPool + [_unit];};_tempUnit=_MotPool select (floor(random(count _MotPool)));_temparray= _temparray + [_tempUnit];_temparray= [_temparray] + [_sqdPool];};
case 4:{_tempArray=_ArmPool select (floor(random(count _ArmPool)));};
case 5:{_tempArray=_ACHPool select (floor(random(count _ACHPool)));};
case 6:{_sqdPool=[];for "_i" from 0 to 5 do{_unit=_InfPool select (floor(random(count _InfPool)));_sqdPool = _sqdPool + [_unit];};_tempUnit=_CHPool select (floor(random(count _CHPool)));_temparray= _temparray + [_tempUnit];_temparray= [_temparray] + [_sqdPool];};
case 7:{_tempArray=_stPool select (floor(random(count _stPool)));};
case 8:{_tempArray=_uavPool select (floor(random(count _uavPool)));};
case 9:{_tempArray=_uavPool select (floor(random(count _uavPool)));};
};

//hint format ["%1",_tempArray];
_tempArray

As far as the game logic. That is easy. A game logic is just an object you can drop into the editor then name it server.

Oh that's it nothing in the init area. That's easy enough, I really thought there was more to code in there. Thanks for the help! :) I hope that more can be added later or rather easily added. Gonna go try this out hopefully tomorrow.

Share this post


Link to post
Share on other sites

if dont remeber wrong the zones are populated if theyre marked hostile "red" and considerd done when green..

so i dont know and i cant try right now but what happens of you set a green zone to colorRed?? it should populate again..

just a thougt. :)

Share this post


Link to post
Share on other sites
even when invisible i think it has a color, again not sure.. (http://community.bistudio.com/wiki/setMarkerAlpha)

try doing a waituntil markercolor green then set marker colorred and see if units respawn.. i'am not at home right now to confirm it...

The number of enemies are clearly defined by the Arrays you fill out in the OpenMe.sqf. They dont respawn. They will cache if you leave but come back in the same state when you return. The color is just a debug really that can be left on if desired.

Share this post


Link to post
Share on other sites

Redfield-77...

if we look inside EOScore you will find these lines, in the begining...

-------------------------------------------------------------------------------------------------
if (!(getmarkercolor _mkr == VictoryColor)) then 	//IF MARKER IS GREEN DO NOT CHANGE COLOUR
{
_mkr setmarkercolor hostileColor;
};

waituntil {triggeractivated _eosActivated};	//WAIT UNTIL PLAYERS IN ZONE
if (!(getmarkercolor _mkr == "colorblack"))then {
if (!(getmarkercolor _mkr == VictoryColor)) then {_mkr setmarkerAlpha _mAH;};
---------------------------------------------------------------------------------------------------

and these lines further down in the end:

-----------------------------------------------------------------------------------------------------
if (triggeractivated _clear and triggeractivated _taken and !_civZone)exitwith 
{// IF ZONE CAPTURED BEGIN CHECKING FOR ENEMIES
	_cGrps=0;_aGrps=0;_bGrps=0;_dGrps=0;_eGrps=0;_eGrpsB=0;_ATCHGroups=0;			
		while {triggeractivated _eosActivated AND !(getmarkercolor _mkr == "colorblack")} do 
			{
				if (!triggeractivated _clear) then
				{
					_mkr setmarkercolor hostileColor;
					_mkr setmarkerAlpha _mAH;
					if (_debug) then {hint "Zone Lost";};
						}else{
						_mkr setmarkercolor VictoryColor;
						_mkr setmarkerAlpha _mAN;
						if (_debug) then {hint "Zone Captured";};
					};
-------------------------------------------------------------------------------------------------------------

victorycolor and hostilecolor.. now if we look inside eos_launch we find this:

VictoryColor="colorGreen";

hostileColor="colorRed";

bastionColor="colorOrange";

blackcolor is activated zone, dont use that color EOS will take care of that.

so again, if we want our captured zone to re populate after some time... try changing the color of the marker back to hostilecolor (RED) and your once captured zone should now be populated once again...

Share this post


Link to post
Share on other sites

changelog 1.95

- Adapted SHUKOS patrol script for EOS. Patrolling infantry will no longer leave the marker area

- Customisable skills for all AI

- Vehicles are much less likely to explode in populates areas

- House patrols are more likely to appear inside houses

- Added kill counter function

- Added damage eventhandler

- Various improvements in scripts

- Formatted EOS scripts

- Applied improvements from forum thread

- Armoured vehicles no longer spawn with groups

Thanks to everyone who has contributed towards the thread and the improvement of EOS.

Share this post


Link to post
Share on other sites
Guest

Release frontpaged on the Armaholic homepage.

===============================================

We have also "connected" these pages to your account on Armaholic.

This means in the future you will be able to maintain these pages yourself if you wish to do so. Once this new feature is ready we will contact you about it and explain how things work and what options you have.

When you have any questions already feel free to PM or email me!

Share this post


Link to post
Share on other sites

Is it possible to attach additional parameters to the spawned unit? Say, for example, I want to customize their loadouts. How do I go about doing this, if it is possible to do? Any help would be much appreciated.

Share this post


Link to post
Share on other sites

Yeah open \EOS\Core\Spawn_fnc.sqf

You will see this code on line 81. // ADD CODE HERE FOR MORE PARAMETERS FOR EACH UNIT. / Replace with your code

{
_unit = _x;
{
 _skillvalue = (_skillset select _forEachIndex) + (random 0.2) - (random 0.2);
 _unit setSkill [_x,_skillvalue];
} forEach ['aimingAccuracy','aimingShake','aimingSpeed','endurance','spotDistance','spotTime','courage','reloadSpeed','commanding','general'];

if (EOS_DAMAGE_MULTIPLIER == 1) then {_unit removeAllEventHandlers "HandleDamage";_unit addEventHandler ["HandleDamage",{_damage = (_this select 2)*EOS_DAMAGE_MULTIPLIER;_damage}];};
if (EOS_KILLCOUNTER) then {_unit addEventHandler ["killed", "null=[] execVM ""eos\functions\EOS_KillCounter.sqf"""]};
// ADD CODE HERE FOR MORE PARAMETERS FOR EACH UNIT.
} forEach (units _grp); 

You will find identical code for each set of units. The above is all infantry

Share this post


Link to post
Share on other sites

Vehicles still exploding when they spawn in centre of zone as they seem to do - The demo mission works ok because the markers are not in a built up area if you move the markers over a town to populate it and try creating more than 1 type of each vehicle (light - Heavy) then of the 10 times I tested it (FROM THE EDITOR) 8 of the tests the vehicles exploded killing soldiers in the area.

Statics seem to spawn in centre of roads making vehicles that dont explode get stuck as they try to avoid the static.

Spawning infantry working well though and houses are nicely populated now

Share this post


Link to post
Share on other sites
Vehicles still exploding when they spawn in centre of zone as they seem to do - The demo mission works ok because the markers are not in a built up area if you move the markers over a town to populate it and try creating more than 1 type of each vehicle (light - Heavy) then of the 10 times I tested it (FROM THE EDITOR) 8 of the tests the vehicles exploded killing soldiers in the area.

Statics seem to spawn in centre of roads making vehicles that dont explode get stuck as they try to avoid the static.

Spawning infantry working well though and houses are nicely populated now

I know vehicles still sometimes blow up in populated but it's a lot better than before. All I can suggest to avoid explosions when using eos is to only spawn armoured vehicles in large open areas. Not in dense cities where they wouldn't realistically operate (Common sense really)

Share this post


Link to post
Share on other sites
Yeah open \EOS\Core\Spawn_fnc.sqf

You will see this code on line 81. // ADD CODE HERE FOR MORE PARAMETERS FOR EACH UNIT. / Replace with your code

{
_unit = _x;
{
 _skillvalue = (_skillset select _forEachIndex) + (random 0.2) - (random 0.2);
 _unit setSkill [_x,_skillvalue];
} forEach ['aimingAccuracy','aimingShake','aimingSpeed','endurance','spotDistance','spotTime','courage','reloadSpeed','commanding','general'];

if (EOS_DAMAGE_MULTIPLIER == 1) then {_unit removeAllEventHandlers "HandleDamage";_unit addEventHandler ["HandleDamage",{_damage = (_this select 2)*EOS_DAMAGE_MULTIPLIER;_damage}];};
if (EOS_KILLCOUNTER) then {_unit addEventHandler ["killed", "null=[] execVM ""eos\functions\EOS_KillCounter.sqf"""]};
// ADD CODE HERE FOR MORE PARAMETERS FOR EACH UNIT.
} forEach (units _grp); 

You will find identical code for each set of units. The above is all infantry

You're freaking awesome, bro.

Share this post


Link to post
Share on other sites

Hi Bob - First of all, thanks for such a useful script. It really makes mission building a lot quicker and easier for me. Having said that, I've noticed a few problems with the AI behavior in 1.95.

For one thing, the damage setting doesn't seem to change how much damage is necessary for a kill. I've tried values 1 through 10. Using Redfield's damage and skill tweak to your last version, a multiplier setting of 3 all but guaranteed a kill with a single hit no matter what part of the body. That was exactly what I had been looking for.

Also, if I fire on a patrol group of AI, I'm noticing that other nearby groups often don't react at all until they are themselves fired upon no matter how high i set their skill settings. When I say nearby, I'm talking about less than 75 meters in some cases. (That's a real immersion killer for me.)

Lastly, when I do engage a group, individual members of the engaged group sometimes seem to lose interest after firing a few shots, often slowly wandering off with their weapons pointing in all sorts of angles. They will even shoot into the ground or in a direction where no enemies exist. I did not see this type of behavior with Redfield's tweak even at much lower skill settings. Incidently, I'm not using any ai skill/behavior altering mods aside from yours.

I realize I might just be doing something wrong. Wouldn't be the first time. I look forward to your response.

Thanks again.

Share this post


Link to post
Share on other sites

For one thing, the damage setting doesn't seem to change how much damage is necessary for a kill. I've tried values 1 through 10. Using Redfield's damage and skill tweak to your last version, a multiplier setting of 3 all but guaranteed a kill with a single hit no matter what part of the body. That was exactly what I had been looking for.

Thanks for bringing this to my attention. The damage amplifier now works. You can either re-download the script or replace EOS\CORE\spawn_fnc.sqf

with

spawn_fnc.sqf

EOS_spawnPatrol = {
// SINGLE INFANTRY GROUP
private ["_type","_grp","_unit","_pool","_grpSize","_pos","_faction","_newPos"];

_pos=(_this select 0);
_grpSize=(_this select 1);
_faction=(_this select 2);
_side=(_this select 3);

_grpMin=_grpSize select 0;
_grpMax=_grpSize select 1;
_d=_grpMax-_grpMin;				
_r=floor(random _d);							
_grpSize=_r+_grpMin;


			_newPos = _pos findEmptyPosition [0,50];
			if (count _newPos > 0) then { _pos = _newPos};

			if (surfaceiswater _newPos) then {_type=1;}else{_type=0;};
				_pool=[_faction,_type] call EOS_unit;


_grp=createGroup _side;

for "_x" from 1 to _grpSize do {					
	_unitType=_pool select (floor(random(count _pool)));
	_unit = _grp createUnit [_unitType, _newPos, [], 6, "FORM"];  
};


_skillset = server getvariable "INFskill";
{
_unit = _x;
{
 _skillvalue = (_skillset select _forEachIndex) + (random 0.2) - (random 0.2);
 _unit setSkill [_x,_skillvalue];
} forEach ['aimingAccuracy','aimingShake','aimingSpeed','endurance','spotDistance','spotTime','courage','reloadSpeed','commanding','general'];
if (EOS_DAMAGE_MULTIPLIER != 1) then {_unit removeAllEventHandlers "HandleDamage";_unit addEventHandler ["HandleDamage",{_damage = (_this select 2)*EOS_DAMAGE_MULTIPLIER;_damage}];};
if (EOS_KILLCOUNTER) then {_unit addEventHandler ["killed", "null=[] execVM ""eos\functions\EOS_KillCounter.sqf"""]};
} forEach (units _grp); 

_grp
};

EOS_LightVeh = {
// SINGLE VEHICLE GROUP
if (!isServer) exitwith {};
private ["_cargo","_side","_type","_unit","_grpSize","_debug","_pos","_faction","_veh","_vehicle","_grp","_newpos","_radveh"];

_pos=(_this select 0);
_grpSize=(_this select 1);
_faction=(_this select 2);
_side=(_this select 3);
_radveh = 50;
_debug=false;

if (surfaceiswater _pos) then {_type=2;}else{_type=3;};

	_pool=[_faction,_type] call EOS_unit;
	_unit=_pool select 0;
	_unit=_unit select 0;
	_cargo=_pool select 1;

	for "_counter" from 0 to 20 do {
_newpos = [_pos,0,_radveh,5,1,20,0] call BIS_fnc_findSafePos;
if ((_pos distance _newpos) < (_radveh + 5)) exitWith {_pos = _newpos;};
			};


				_veh= [_newpos, random 360, _unit, _side] call bis_fnc_spawnvehicle;
				_vehicle = _veh select 0;
				_grp = _veh select 2;		

// SPAWN WITH CARGO	
if ((_vehicle emptyPositions "cargo") > 0) then {
	0=[_vehicle,_grpSize,_grp,_cargo] call EOS_FILLCARGO;
					};

_skillset = server getvariable "LIGskill";
{

_unit = _x;
{
 _skillvalue = (_skillset select _forEachIndex) + (random 0.2) - (random 0.2);
 _unit setSkill [_x,_skillvalue];
} forEach ['aimingAccuracy','aimingShake','aimingSpeed','endurance','spotDistance','spotTime','courage','reloadSpeed','commanding','general'];
if (EOS_DAMAGE_MULTIPLIER != 1) then {_unit removeAllEventHandlers "HandleDamage";_unit addEventHandler ["HandleDamage",{_damage = (_this select 2)*EOS_DAMAGE_MULTIPLIER;_damage}];};
if (EOS_KILLCOUNTER) then {_unit addEventHandler ["killed", "null=[] execVM ""eos\functions\EOS_KillCounter.sqf"""]};
} forEach (units _grp); 
_veh
};

EOS_Armour = {
// SINGLE ARMOUR GROUP
private ["_side","_type","_debug","_pos","_faction","_radveh","_newpos","_grp"];

_pos=(_this select 0);
_faction=(_this select 1);
_side=(_this select 2);
_radveh = 50;
_debug=false;

if (surfaceiswater _pos) then {_type=2;}else{_type=4;};
	_pool=[_faction,_type] call EOS_unit;

for "_counter" from 0 to 20 do {
_newpos = [_pos,0,_radveh,5,1,20,0] call BIS_fnc_findSafePos;
if ((_pos distance _newpos) < (_radveh + 5)) exitWith {_pos = _newpos;};
			};

				_veh = [_newpos, random 360, _pool, _side] call bis_fnc_spawnvehicle;
				_grp = _veh select 2;

_skillset = server getvariable "ARMskill";
{
_unit = _x;
{
 _skillvalue = (_skillset select _forEachIndex) + (random 0.2) - (random 0.2);
 _unit setSkill [_x,_skillvalue];
} forEach ['aimingAccuracy','aimingShake','aimingSpeed','endurance','spotDistance','spotTime','courage','reloadSpeed','commanding','general'];
if (EOS_DAMAGE_MULTIPLIER != 1) then {_unit removeAllEventHandlers "HandleDamage";_unit addEventHandler ["HandleDamage",{_damage = (_this select 2)*EOS_DAMAGE_MULTIPLIER;_damage}];};
if (EOS_KILLCOUNTER) then {_unit addEventHandler ["killed", "null=[] execVM ""eos\functions\EOS_KillCounter.sqf"""]};
} forEach (units _grp); 
_veh
};

EOS_spawnStatic = {
private ["_side","_debug","_pos","_faction","_veh","_newpos","_radveh","_grp"];

_pos=(_this select 0);
_grpSize=(_this select 1);
_faction=(_this select 2);
_side=(_this select 3);
_radveh = 50;
_debug=false;

	_type=7;


	_pool=[_faction,_type] call EOS_unit;

		for "_counter" from 0 to 20 do {
_newpos = [_pos,0,_radveh,5,1,20,0] call BIS_fnc_findSafePos;
if ((_pos distance _newpos) < (50 + 5)) exitWith {_pos = _newpos;};
			};

				_veh=[_newpos, random 360,_pool,_side] call bis_fnc_spawnvehicle;
				_grp = _veh select 2;

_skillset = server getvariable "STAskill";
{
_unit = _x;
{
 _skillvalue = (_skillset select _forEachIndex) + (random 0.2) - (random 0.2);
 _unit setSkill [_x,_skillvalue];
} forEach ['aimingAccuracy','aimingShake','aimingSpeed','endurance','spotDistance','spotTime','courage','reloadSpeed','commanding','general'];
if (EOS_DAMAGE_MULTIPLIER != 1) then {_unit removeAllEventHandlers "HandleDamage";_unit addEventHandler ["HandleDamage",{_damage = (_this select 2)*EOS_DAMAGE_MULTIPLIER;_damage}];};
if (EOS_KILLCOUNTER) then {_unit addEventHandler ["killed", "null=[] execVM ""eos\functions\EOS_KillCounter.sqf"""]};
} forEach (units _grp); 
_veh

};

Share this post


Link to post
Share on other sites
Yeah open \EOS\Core\Spawn_fnc.sqf You will see this code on line 81. // ADD CODE HERE FOR MORE PARAMETERS FOR EACH UNIT. / Replace with your code
 {  _unit = _x;  {   _skillvalue = (_skillset select _forEachIndex) + (random 0.2) - (random 0.2);   _unit setSkill [_x,_skillvalue];  } forEach ['aimingAccuracy','aimingShake','aimingSpeed','endurance','spotDistance','spotTime','courage','reloadSpeed','commanding','general'];  if (EOS_DAMAGE_MULTIPLIER == 1) then {_unit removeAllEventHandlers "HandleDamage";_unit addEventHandler ["HandleDamage",{_damage = (_this select 2)*EOS_DAMAGE_MULTIPLIER;_damage}];}; if (EOS_KILLCOUNTER) then {_unit addEventHandler ["killed", "null=[] execVM ""eos\functions\EOS_KillCounter.sqf"""]}; // ADD CODE HERE FOR MORE PARAMETERS FOR EACH UNIT. } forEach (units _grp);  

You will find identical code for each set of units. The above is all infantry

It is not working. I usually launch my custom loadouts via script. For example: I place this command in the init of the unit: this call compile preprocessFileLineNumbers"scripts\LOPMC.sqf". I have tried different variations of this and no luck. Any help on this issue would be much appreciated.

Share this post


Link to post
Share on other sites
It is not working. I usually launch my custom loadouts via script. For example: I place this command in the init of the unit: this call compile preprocessFileLineNumbers"scripts\LOPMC.sqf". I have tried different variations of this and no luck. Any help on this issue would be much appreciated.

Can't help without your scripts

Share this post


Link to post
Share on other sites
Can't help without your scripts

Thanks, bro for taking the time to actually help me with this. As a misison maker I am sure half the battle is dealing with the forums. Again, it is much appreciated. Here is the line for my script. The entire purpose of this loadout is to force the AI to use lasers during combat. As insinuated before, this works via the normal call method in the units init via editor.

private ["_unit", "_backpack"];

/* Replace _this below if you want to call this script differently */

_unit = _x;

if (!isNull _unit) then {

_unit addPrimaryWeaponItem "acc_pointer_IR";

_unit addItem "NVGoggles"; _unit assignItem "NVGoggles";

_unit addItem "Binocular"; _unit assignItem "Binocular";

_unit selectWeapon "this";

reload _unit;

_unit enableIRLasers true

};

So, I basically safe this code as an sqf file. Then call it in the unit's init by this command:

this call compile preprocessFileLineNumbers"scripts\loadout.sqf";

Share this post


Link to post
Share on other sites

Your script. Modified slightly

private ["_unit", "_backpack"];

/* Replace _this below if you want to call this script differently */
_unit = (_ this select 0);

if (!isNull _unit) then {
   _unit addPrimaryWeaponItem "acc_pointer_IR";
   _unit addItem "NVGoggles"; _unit assignItem "NVGoggles";
   _unit addItem "Binocular"; _unit assignItem "Binocular";

   _unit selectWeapon "this";
   reload _unit;
   _unit enableIRLasers true
};

How you should call your script in the EOS spawn_fnc.sqf

{
_unit = _x;
{
 _skillvalue = (_skillset select _forEachIndex) + (random 0.2) - (random 0.2);
 _unit setSkill [_x,_skillvalue];
} forEach ['aimingAccuracy','aimingShake','aimingSpeed','endurance','spotDistance','spotTime','courage','reloadSpeed','commanding','general'];

if (EOS_DAMAGE_MULTIPLIER == 1) then {_unit removeAllEventHandlers "HandleDamage";_unit addEventHandler ["HandleDamage",{_damage = (_this select 2)*EOS_DAMAGE_MULTIPLIER;_damage}];};
if (EOS_KILLCOUNTER) then {_unit addEventHandler ["killed", "null=[] execVM ""eos\functions\EOS_KillCounter.sqf"""]};
null = [_unit ] execVM "scripts\loadout.sqf"; //YOUR SCRIPT
} forEach (units _grp);

Share this post


Link to post
Share on other sites

EOS_Spawn no longer spawns water units (divers, boats).

reference "eos\functions\EOS_misc.sqf" line 81

if(!surfaceIsWater [_pos select 0,_pos select 1]) then

Edited by MDCCLXXVI

Share this post


Link to post
Share on other sites

Hiya Banga,

Used your EOS scripts for the first time in a coop mission I have made for the community I am in. Works brilliantly! However, a couple of the groups of AI seem to wonder off outside the marker area, is this intended because of the way the script(s) behave?

Share this post


Link to post
Share on other sites
Hiya Banga,

Used your EOS scripts for the first time in a coop mission I have made for the community I am in. Works brilliantly! However, a couple of the groups of AI seem to wonder off outside the marker area, is this intended because of the way the script(s) behave?

What type of market do you use? Rectangle or ellipse or Square? Also how large are your markers

Share this post


Link to post
Share on other sites

Please sign in to comment

You will be able to leave a comment after signing in



Sign In Now

×