Custom Blacklists
From ALiVE Wiki
The ALiVE modules have blacklists of units, groups and buildings stored in sys_profile. The mission editor and script is able to define which units get blacklisted or blacklisted on top of the current blacklists.
To add elements to an array use the method described in the biki.
_array1 = [player, 7, "String"] _array2 = [player, 2] _array3 = _array1 + _array2
The arrays are the following, the functions speak for themselves.
- ALIVE_CQBunitBlackist
- ALIVE_unitBlackist
- ALIVE_vehicleBlacklist
- ALIVE_groupBlacklist
The elements that have to be used are the classes as defined in the configFile.
To add buildings for the CQB manager to consider, add elements to ALIVE_CQBStrategicTypes.
Heres an example from the AS Alamo mission on the website to load and apply your own custom settings
init.sqf
if(isServer) then { // ------------------------------------------------------------------------------------------------------------- // override default data // see script/staticData.sqf ["MISSION INIT - Waiting"] call ALIVE_fnc_dump; waitUntil {!isNil "ALIVE_profileSystemDataLoaded"}; ["MISSION INIT - Continue"] call ALIVE_fnc_dump; // override static data settings call compile (preprocessFileLineNumbers "script\staticData.sqf"); ["MISSION INIT - Static data override loaded"] call ALIVE_fnc_dump; ["CUSTOM BLACKLIST LOADED: %1",ALIVE_unitBlackist] call ALIVE_fnc_dump; // ------------------------------------------------------------------------------------------------------------- };
script\staticData.sqf
/* * Defaults */ if (isnil "ALiVE_MIL_CQB_CUSTOM_STRATEGICHOUSES") then {ALiVE_MIL_CQB_CUSTOM_STRATEGICHOUSES = []}; if (isnil "ALiVE_MIL_CQB_CUSTOM_UNITBLACKLIST") then {ALiVE_MIL_CQB_CUSTOM_UNITBLACKLIST = []}; if (isnil "ALiVE_PLACEMENT_CUSTOM_UNITBLACKLIST") then {ALiVE_PLACEMENT_CUSTOM_UNITBLACKLIST = []}; if (isnil "ALiVE_PLACEMENT_CUSTOM_VEHICLEBLACKLIST") then {ALiVE_PLACEMENT_CUSTOM_VEHICLEBLACKLIST = []}; if (isnil "ALiVE_PLACEMENT_CUSTOM_GROUPBLACKLIST") then {ALiVE_PLACEMENT_CUSTOM_GROUPBLACKLIST = []}; /* * CQB Defaults */ ALiVE_MIL_CQB_STRATEGICHOUSES = ALiVE_MIL_CQB_CUSTOM_STRATEGICHOUSES + [ //A3 "Land_Cargo_Patrol_V1_F", "Land_Cargo_Patrol_V2_F", "Land_Cargo_House_V1_F", "Land_Cargo_House_V2_F", "Land_Cargo_Tower_V3_F", "Land_Airport_Tower_F", "Land_Cargo_HQ_V1_F", "Land_Cargo_HQ_V2_F", "Land_MilOffices_V1_F", "Land_Offices_01_V1_F", "Land_Research_HQ_F", "Land_CarService_F", "Land_Hospital_main_F", "Land_dp_smallFactory_F", "Land_Radar_F", "Land_TentHangar_V1_F", //A2 "Land_A_TVTower_Base", "Land_Dam_ConcP_20", "Land_Ind_Expedice_1", "Land_Ind_SiloVelke_02", "Land_Mil_Barracks", "Land_Mil_Barracks_i", "Land_Mil_Barracks_L", "Land_Mil_Guardhouse", "Land_Mil_House", "Land_Fort_Watchtower", "Land_Vysilac_FM", "Land_SS_hangar", "Land_telek1", "Land_vez", "Land_A_FuelStation_Shed", "Land_watertower1", "Land_trafostanica_velka", "Land_Ind_Oil_Tower_EP1", "Land_A_Villa_EP1", "Land_fortified_nest_small_EP1", "Land_Mil_Barracks_i_EP1", "Land_fortified_nest_big_EP1", "Land_Fort_Watchtower_EP1", "Land_Ind_PowerStation_EP1", "Land_Ind_PowerStation" ]; ALiVE_MIL_CQB_UNITBLACKLIST = ALiVE_MIL_CQB_CUSTOM_UNITBLACKLIST + [ //A3 "B_Helipilot_F", "B_diver_F", "B_diver_TL_F", "B_diver_exp_F", "B_RangeMaster_F", "B_crew_F", "B_Pilot_F", "B_helicrew_F", "O_helipilot_F", "O_diver_F", "O_diver_TL_F", "O_diver_exp_F", "O_crew_F", "O_Pilot_F", "O_helicrew_F", "O_UAV_AI", "I_crew_F", "I_helipilot_F", "I_helicrew_F", "I_diver_F", "I_diver_exp_F", "I_diver_TL_F", "I_pilot_F", "I_Story_Colonel_F", "B_Soldier_VR_F", "O_Soldier_VR_F", "I_Soldier_VR_F", "C_Soldier_VR_F", "B_Protagonist_VR_F", "O_Protagonist_VR_F", "I_Protagonist_VR_F" ]; /* * MP, CP, ML Defaults */ ALiVE_PLACEMENT_UNITBLACKLIST = ALiVE_PLACEMENT_CUSTOM_UNITBLACKLIST + [ "O_UAV_AI", "B_UAV_AI", "C_Driver_1_black_F", "C_Driver_1_blue_F", "C_Driver_1_F", "C_Driver_1_green_F", "C_Driver_1_orange_F", "C_Driver_1_random_base_F", "C_Driver_1_red_F", "C_Driver_1_white_F", "C_Driver_1_yellow_F", "C_Driver_2_F", "C_Driver_3_F", "C_Driver_4_F", "B_Soldier_VR_F", "O_Soldier_VR_F", "I_Soldier_VR_F", "C_Soldier_VR_F", "B_Protagonist_VR_F", "O_Protagonist_VR_F", "I_Protagonist_VR_F", "C_Marshal_F", "C_man_pilot_F" ]; ALiVE_PLACEMENT_VEHICLEBLACKLIST = ALiVE_PLACEMENT_CUSTOM_VEHICLEBLACKLIST + [ "O_UAV_02_F", "O_UAV_02_CAS_F", "O_UAV_01_F", "O_UGV_01_F", "O_UGV_01_rcws_F", "B_UAV_01_F", "B_UAV_02_F", "B_UAV_02_CAS_F", "B_UGV_01_F", "B_UGV_01_rcws_F", "B_Parachute_02_F", "I_Parachute_02_F", "O_Parachute_02_F", "Parachute", "Parachute_02_base_F", "ParachuteBase", "ParachuteEast", "ParachuteG", "ParachuteWest", "C_Kart_01_Blu_F", "C_Kart_01_F", "C_Kart_01_F_Base", "C_Kart_01_Fuel_F", "C_Kart_01_Red_F", "C_Kart_01_Vrana_F" ]; ALiVE_PLACEMENT_GROUPBLACKLIST = ALiVE_PLACEMENT_CUSTOM_GROUPBLACKLIST + [ "HAF_AttackTeam_UAV", "HAF_ReconTeam_UAV", "HAF_AttackTeam_UGV", "HAF_ReconTeam_UGV", "HAF_SmallTeam_UAV", "HAF_DiverTeam", "HAF_DiverTeam_Boat", "HAF_DiverTeam_SDV", "BUS_AttackTeam_UAV", "BUS_ReconTeam_UAV", "BUS_AttackTeam_UGV", "BUS_ReconTeam_UGV", "BUS_SmallTeam_UAV", "BUS_DiverTeam", "BUS_DiverTeam_Boat", "BUS_DiverTeam_SDV", "OI_AttackTeam_UAV", "OI_ReconTeam_UAV", "OI_AttackTeam_UGV", "OI_ReconTeam_UGV", "OI_SmallTeam_UAV", "OI_diverTeam", "OI_diverTeam_Boat", "OI_diverTeam_SDV", "BUS_TankPlatoon_AA", // BUG in CfgGroups vehicle name wrong "BUS_MechInf_AA" // BUG in CfgGroups vehicle name wrong ]; /* * Custom support and ammo classes for faction * Used by MP CP to place support vehicles and ammo boxes * If no faction specific settings are found will fall back to side */ ALIVE_sideDefaultSupports = [] call ALIVE_fnc_hashCreate; [ALIVE_sideDefaultSupports, "EAST", ["O_Truck_02_Ammo_F","O_Truck_02_box_F","O_Truck_02_fuel_F","O_Truck_02_medical_F","O_Truck_02_transport_F","O_Truck_02_covered_F"]] call ALIVE_fnc_hashSet; // ,"Box_East_AmmoVeh_F" [ALIVE_sideDefaultSupports, "WEST", ["B_Truck_01_ammo_F","B_Truck_01_fuel_F","B_Truck_01_medical_F","B_Truck_01_Repair_F","B_Truck_01_transport_F","B_Truck_01_covered_F"]] call ALIVE_fnc_hashSet; // ,"Box_IND_AmmoVeh_F" [ALIVE_sideDefaultSupports, "GUER", ["I_Truck_02_ammo_F","I_Truck_02_box_F","I_Truck_02_fuel_F","I_Truck_02_medical_F","I_Truck_02_covered_F","I_Truck_02_transport_F"]] call ALIVE_fnc_hashSet; [ALIVE_sideDefaultSupports, "CIV", ["C_Van_01_box_F","C_Van_01_transport_F","C_Van_01_fuel_F"]] call ALIVE_fnc_hashSet; ALIVE_sideDefaultSupplies = [] call ALIVE_fnc_hashCreate; [ALIVE_sideDefaultSupplies, "EAST", ["Box_East_Ammo_F","Box_East_AmmoOrd_F","Box_East_Grenades_F","Box_East_Support_F","Box_East_Wps_F","Box_East_WpsLaunch_F","Box_East_WpsSpecial_F"]] call ALIVE_fnc_hashSet; [ALIVE_sideDefaultSupplies, "WEST", ["Box_NATO_Ammo_F","Box_NATO_AmmoOrd_F","Box_NATO_Grenades_F","Box_NATO_Support_F","Box_NATO_Wps_F","Box_NATO_WpsLaunch_F","Box_NATO_WpsSpecial_F"]] call ALIVE_fnc_hashSet; [ALIVE_sideDefaultSupplies, "GUER", ["Box_IND_Ammo_F","Box_IND_AmmoOrd_F","Box_IND_Grenades_F","Box_IND_Support_F","Box_IND_Wps_F","Box_IND_WpsLaunch_F","Box_IND_WpsSpecial_F"]] call ALIVE_fnc_hashSet; ALIVE_sideDefaultTransport = [] call ALIVE_fnc_hashCreate; [ALIVE_sideDefaultTransport, "EAST", ["O_Truck_02_transport_F","O_Truck_02_covered_F"]] call ALIVE_fnc_hashSet; [ALIVE_sideDefaultTransport, "WEST", ["B_Truck_01_transport_F","B_Truck_01_covered_F"]] call ALIVE_fnc_hashSet; [ALIVE_sideDefaultTransport, "GUER", ["I_Truck_02_covered_F","I_Truck_02_transport_F"]] call ALIVE_fnc_hashSet; [ALIVE_sideDefaultTransport, "CIV", ["C_Van_01_transport_F"]] call ALIVE_fnc_hashSet; ALIVE_sideDefaultAirTransport = [] call ALIVE_fnc_hashCreate; [ALIVE_sideDefaultAirTransport, "EAST", ["O_Heli_Attack_02_F","O_Heli_Light_02_F"]] call ALIVE_fnc_hashSet; [ALIVE_sideDefaultAirTransport, "WEST", ["B_Heli_Transport_01_camo_F","B_Heli_Transport_01_camo_F"]] call ALIVE_fnc_hashSet; [ALIVE_sideDefaultAirTransport, "GUER", ["I_Heli_light_03_unarmed_F","I_Heli_Transport_02_F"]] call ALIVE_fnc_hashSet; [ALIVE_sideDefaultAirTransport, "CIV", []] call ALIVE_fnc_hashSet; ALIVE_sideDefaultContainers = [] call ALIVE_fnc_hashCreate; [ALIVE_sideDefaultContainers, "EAST", ["ALIVE_O_supplyCrate_F"]] call ALIVE_fnc_hashSet; [ALIVE_sideDefaultContainers, "WEST", ["ALIVE_B_supplyCrate_F"]] call ALIVE_fnc_hashSet; [ALIVE_sideDefaultContainers, "GUER", ["ALIVE_I_supplyCrate_F"]] call ALIVE_fnc_hashSet; [ALIVE_sideDefaultContainers, "CIV", []] call ALIVE_fnc_hashSet; ALIVE_factionDefaultSupports = [] call ALIVE_fnc_hashCreate; [ALIVE_factionDefaultSupports, "OPF_F", ["O_Truck_02_Ammo_F","O_Truck_02_box_F","O_Truck_02_fuel_F","O_Truck_02_medical_F","O_Truck_02_transport_F","O_Truck_02_covered_F"]] call ALIVE_fnc_hashSet; // ,"Box_East_AmmoVeh_F" [ALIVE_factionDefaultSupports, "OPF_G_F", ["O_G_Offroad_01_armed_F","O_G_Van_01_fuel_F","O_G_Van_01_transport_F"]] call ALIVE_fnc_hashSet; [ALIVE_factionDefaultSupports, "IND_F", ["I_Truck_02_ammo_F","I_Truck_02_box_F","I_Truck_02_fuel_F","I_Truck_02_medical_F","I_Truck_02_covered_F","I_Truck_02_transport_F"]] call ALIVE_fnc_hashSet; // ,"Box_IND_AmmoVeh_F" [ALIVE_factionDefaultSupports, "BLU_F", ["B_Truck_01_ammo_F","B_Truck_01_fuel_F","B_Truck_01_medical_F","B_Truck_01_Repair_F","B_Truck_01_transport_F","B_Truck_01_covered_F"]] call ALIVE_fnc_hashSet; // ,"Box_NATO_AmmoVeh_F" [ALIVE_factionDefaultSupports, "BLU_G_F", ["B_G_Van_01_fuel_F","B_G_Van_01_transport_F"]] call ALIVE_fnc_hashSet; [ALIVE_factionDefaultSupports, "CIV_F", ["C_Van_01_box_F","C_Van_01_transport_F","C_Van_01_fuel_F"]] call ALIVE_fnc_hashSet; ALIVE_factionDefaultSupplies = [] call ALIVE_fnc_hashCreate; [ALIVE_factionDefaultSupplies, "OPF_F", ["Box_East_Ammo_F","Box_East_AmmoOrd_F","Box_East_Grenades_F","Box_East_Support_F","Box_East_Wps_F","Box_East_WpsLaunch_F","Box_East_WpsSpecial_F"]] call ALIVE_fnc_hashSet; [ALIVE_factionDefaultSupplies, "OPF_G_F", ["Box_East_Ammo_F","Box_East_AmmoOrd_F","Box_East_Grenades_F","Box_East_Support_F","Box_East_Wps_F","Box_East_WpsLaunch_F","Box_East_WpsSpecial_F"]] call ALIVE_fnc_hashSet; [ALIVE_factionDefaultSupplies, "IND_F", ["Box_IND_Ammo_F","Box_IND_AmmoOrd_F","Box_IND_Grenades_F","Box_IND_Support_F","Box_IND_Wps_F","Box_IND_WpsLaunch_F","Box_IND_WpsSpecial_F"]] call ALIVE_fnc_hashSet; [ALIVE_factionDefaultSupplies, "BLU_F", ["Box_NATO_Ammo_F","Box_NATO_AmmoOrd_F","Box_NATO_Grenades_F","Box_NATO_Support_F","Box_NATO_Wps_F","Box_NATO_WpsLaunch_F","Box_NATO_WpsSpecial_F"]] call ALIVE_fnc_hashSet; [ALIVE_factionDefaultSupplies, "BLU_G_F", ["Box_IND_Ammo_F","Box_IND_AmmoOrd_F","Box_IND_Grenades_F","Box_IND_Support_F","Box_IND_Wps_F","Box_IND_WpsLaunch_F","Box_IND_WpsSpecial_F"]] call ALIVE_fnc_hashSet; ALIVE_factionDefaultTransport = [] call ALIVE_fnc_hashCreate; [ALIVE_factionDefaultTransport, "OPF_F", ["O_Truck_02_transport_F","O_Truck_02_covered_F"]] call ALIVE_fnc_hashSet; [ALIVE_factionDefaultTransport, "OPF_G_F", ["O_G_Van_01_transport_F"]] call ALIVE_fnc_hashSet; [ALIVE_factionDefaultTransport, "IND_F", ["I_Truck_02_covered_F","I_Truck_02_transport_F"]] call ALIVE_fnc_hashSet; [ALIVE_factionDefaultTransport, "BLU_F", ["B_Truck_01_transport_F","B_Truck_01_covered_F"]] call ALIVE_fnc_hashSet; [ALIVE_factionDefaultTransport, "BLU_G_F", ["B_G_Van_01_transport_F"]] call ALIVE_fnc_hashSet; [ALIVE_factionDefaultTransport, "CIV_F", ["C_Van_01_transport_F"]] call ALIVE_fnc_hashSet; ALIVE_factionDefaultAirTransport = [] call ALIVE_fnc_hashCreate; [ALIVE_factionDefaultAirTransport, "OPF_F", ["O_Heli_Attack_02_F","O_Heli_Light_02_F"]] call ALIVE_fnc_hashSet; [ALIVE_factionDefaultAirTransport, "OPF_G_F", ["I_Heli_light_03_unarmed_F"]] call ALIVE_fnc_hashSet; [ALIVE_factionDefaultAirTransport, "IND_F", ["I_Heli_light_03_unarmed_F","I_Heli_Transport_02_F"]] call ALIVE_fnc_hashSet; [ALIVE_factionDefaultAirTransport, "BLU_F", ["B_Heli_Transport_01_camo_F","B_Heli_Transport_01_camo_F"]] call ALIVE_fnc_hashSet; [ALIVE_factionDefaultAirTransport, "BLU_G_F", ["I_Heli_light_03_unarmed_F"]] call ALIVE_fnc_hashSet; [ALIVE_factionDefaultAirTransport, "CIV_F", []] call ALIVE_fnc_hashSet; ALIVE_factionDefaultContainers = [] call ALIVE_fnc_hashCreate; [ALIVE_factionDefaultContainers, "OPF_F", ["ALIVE_O_supplyCrate_F"]] call ALIVE_fnc_hashSet; [ALIVE_factionDefaultContainers, "OPF_G_F", ["ALIVE_O_supplyCrate_F"]] call ALIVE_fnc_hashSet; [ALIVE_factionDefaultContainers, "IND_F", ["ALIVE_I_supplyCrate_F"]] call ALIVE_fnc_hashSet; [ALIVE_factionDefaultContainers, "BLU_F", ["ALIVE_B_supplyCrate_F"]] call ALIVE_fnc_hashSet; [ALIVE_factionDefaultContainers, "BLU_G_F", ["ALIVE_B_supplyCrate_F"]] call ALIVE_fnc_hashSet; [ALIVE_factionDefaultContainers, "CIV_F", []] call ALIVE_fnc_hashSet;