Difference between revisions of "Custom Blacklists"

From ALiVE Wiki
Jump to: navigation, search
 
(14 intermediate revisions by 3 users not shown)
Line 1: Line 1:
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.
+
ALiVE already has a blacklist of units, groups and buildings that have no business being in a military environment. Mission editors can choose to blacklist additional items using the variables below.  The variables can be entered in any module init field, such as [[ALiVE (Required)]].
  
You can use the following file and example to override blacklists, and vehicles used by ALiVE modules.
+
Note that to completely remove things like AA from your mission, you will need to blacklist all AA units, vehicles and any Groups that have those classes as well.
  
  
Heres an example from the AS Alamo mission on the website to load and apply your own custom settings
+
Syntax:
 
+
'''init.sqf'''
+
 
<syntaxhighlight lang="php">
 
<syntaxhighlight lang="php">
if(isServer) then {
+
ALIVE_MODULE_BLACKLIST = ["classname","classname"];
 
+
// -------------------------------------------------------------------------------------------------------------
+
// override default data
+
// see script/staticData.sqf
+
["MISSION INIT - Waiting"] call ALIVE_fnc_dump;
+
 
+
waitUntil {!isNil "ALiVE_STATIC_DATA_LOADED"};
+
 
+
["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;
+
+
+
+
// -------------------------------------------------------------------------------------------------------------
+
 
+
};
+
 
</syntaxhighlight>
 
</syntaxhighlight>
  
'''script\staticData.sqf'''
 
<syntaxhighlight lang="php">
 
/*
 
* CQB houses
 
*/
 
  
ALiVE_MIL_CQB_STRATEGICHOUSES =
+
'''Variables'''
[
+
//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
+
ALiVE_MIL_CQB_CUSTOM_STRATEGICHOUSES - Define your custom strategic house classes for CQB (rest will be regular houses).
"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_CUSTOM_UNITBLACKLIST - Exclude unit classes from CQB
* CQB unit blacklist
+
*/
+
  
ALiVE_MIL_CQB_UNITBLACKLIST =
+
ALiVE_PLACEMENT_CUSTOM_UNITBLACKLIST - Exclude unit classes from Military Placement spawns
[
+
//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",
+
ALiVE_PLACEMENT_CUSTOM_VEHICLEBLACKLIST - Exclude vehicle classes from Military Placement spawns
"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",
+
ALiVE_PLACEMENT_CUSTOM_GROUPBLACKLIST - Exclude group classes from Military Placement spawns
"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",
 
   
 
    "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"
 
];
 
  
 +
'''Example'''
 +
(Note that classnames here are subject to change)
  
/*
 
* Mil placement / Ambient civilians / Mil logistics vehicle blacklist
 
*/
 
 
ALiVE_PLACEMENT_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"
 
];
 
  
/*
+
To blacklist all AA units in vanilla (NATO CSAT)
* Mil placement / Ambient civilians / Mil logistics vehicle blacklist
+
*/
+
+
ALiVE_PLACEMENT_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"
+
  
];
+
<syntaxhighlight lang="php">
 +
ALiVE_PLACEMENT_CUSTOM_GROUPBLACKLIST = ["OIA_InfTeam_AA","OIA_MotInf_AA","OIA_MechInf_AA","OIA_TankPlatoon_AA","ORG_InfTeam_AA"];
  
/*
+
ALiVE_PLACEMENT_CUSTOM_VEHICLEBLACKLIST = ["I_Plane_Fighter_03_AA_F","B_APC_Tracked_01_AA_F","O_APC_Tracked_02_AA_F","AA_01_base_F","B_static_
* Mil placement group blacklist
+
AA_F","O_static_AA_F","I_static_AA_F","B_AA_01_weapon_F","O_AA_01_weapon_F","I_AA_01_weapon_F"];
*/
+
+
ALiVE_PLACEMENT_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",
+
"BUS_MechInf_AA"
+
];
+
  
/*
+
ALiVE_PLACEMENT_CUSTOM_UNITBLACKLIST = ["B_soldier_AA_F","B_soldier_AAA_F","I_Soldier_AA_F","I_Soldier_AAA_F","O_Soldier_AA_F","O_Soldier_AAA_F","O_soldierU_AA_F","O_soldierU_AAA_F"];
* Custom transport,support, and ammo classes for factions
+
* Used by MP,MCP,ML to place support vehicles and ammo boxes
+
* If no faction specific settings are found will fall back to side
+
*/
+
  
/*
+
ALiVE_MIL_CQB_CUSTOM_UNITBLACKLIST = ["B_soldier_AA_F","B_soldier_AAA_F","I_Soldier_AA_F","I_Soldier_AAA_F","O_Soldier_AA_F","O_Soldier_AAA_F","O_soldierU_AA_F","O_soldierU_AAA_F"];
* Mil placement ambient vehicles for sides
+
</syntaxhighlight>
*/
+
  
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;
 
[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;
 
[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;
 
  
/*
+
To blacklist all AA units from CUP units:
* Mil placement random supply boxes for sides
+
<syntaxhighlight lang="php">
*/
+
ALiVE_MIL_CQB_CUSTOM_UNITBLACKLIST = ["CUP_O_TK_Soldier_AA","CUP_O_TK_INS_Soldier_AA","CUP_O_TK_InfantrySectionAA","CUP_O_TK_MILITIA_AATeam"];
 +
ALiVE_PLACEMENT_CUSTOM_UNITBLACKLIST = ["CUP_O_TK_Soldier_AA","CUP_O_TK_INS_Soldier_AA"];
 +
ALiVE_PLACEMENT_CUSTOM_GROUPBLACKLIST = ["CUP_O_TK_InfantrySectionAA","CUP_O_TK_MILITIA_AATeam"];
 +
</syntaxhighlight>
  
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;
 
  
/*
+
2 new functions to help you find units/vehicles/groups more easily:
* Mil logistics convoy transport vehicles fallback for sides
+
*/
+
  
ALIVE_sideDefaultTransport = [] call ALIVE_fnc_hashCreate;
+
<syntaxhighlight lang="php">
[ALIVE_sideDefaultTransport, "EAST", ["O_Truck_02_transport_F","O_Truck_02_covered_F"]] call ALIVE_fnc_hashSet;
+
_groupTypes = ["AA_" (string to searchfor), INDEPENDENT (side or faction)] call ALiVE_fnc_groupFinder;
[ALIVE_sideDefaultTransport, "WEST", ["B_Truck_01_transport_F","B_Truck_01_covered_F"]] call ALIVE_fnc_hashSet;
+
_objectTypes = [configFile >> "cfgVehicles" (config path), "_AA" (string to searchfor)] call ALiVE_fnc_configFindEntries;
[ALIVE_sideDefaultTransport, "GUER", ["I_Truck_02_covered_F","I_Truck_02_transport_F"]] call ALIVE_fnc_hashSet;
+
</syntaxhighlight>
[ALIVE_sideDefaultTransport, "CIV", ["C_Van_01_transport_F"]] call ALIVE_fnc_hashSet;
+
  
/*
+
those arrays can basically be easily read and copy-pasted to whatever blacklist you like.
* Mil logistics air transport vehicles fallback for sides
+
*/
+
  
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;
 
  
  
/*
+
It is possible to overwrite parts of the staticdata.sqf directly (see the Discussion page for more info). The following example is for overriding the military logistics vehicles.
  * Mil placement ambient vehicles per faction
+
   
  */
+
Add the following line to ''Init.sqf'' <syntaxhighlight lang="php">call compile preprocessFile "staticData.sqf";</syntaxhighlight>
  
ALIVE_factionDefaultSupports = [] call ALIVE_fnc_hashCreate;
+
Create a file called ''staticData.sqf'' and add the following contents
[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;
+
[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;
+
[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;
+
[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;
+
  
/*
+
<syntaxhighlight lang="php">
* Mil placement random supply boxes per faction
+
if (!isServer) exitWith {};
*/
+
  
ALIVE_factionDefaultSupplies = [] call ALIVE_fnc_hashCreate;
+
waitUntil {!isNil "ALiVE_STATIC_DATA_LOADED"};
[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;
+
  
 
/*
 
/*
Line 314: Line 75:
 
  */
 
  */
  
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_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, "OPF_G_F", ["O_G_Van_01_transport_F"]] call ALIVE_fnc_hashSet;
Line 326: Line 86:
 
  */
 
  */
  
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_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, "OPF_G_F", ["I_Heli_light_03_unarmed_F"]] call ALIVE_fnc_hashSet;
Line 333: Line 92:
 
[ALIVE_factionDefaultAirTransport, "BLU_G_F", ["I_Heli_light_03_unarmed_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_factionDefaultAirTransport, "CIV_F", []] call ALIVE_fnc_hashSet;
 +
</syntaxhighlight>
  
  
 +
[[Category: Tutorials]]
  
/*
 
* Garrison building defaults
 
*/
 
  
ALIVE_garrisonPositions = [] call ALIVE_fnc_hashCreate;
+
'''C2ISTAR Task Blacklists'''
[ALIVE_garrisonPositions, "Land_Cargo_HQ_V1_F", [6,7,8]] call ALIVE_fnc_hashSet;
+
 
[ALIVE_garrisonPositions, "Land_Cargo_HQ_V2_F", [6,7,8]] call ALIVE_fnc_hashSet;
+
To blacklist certain tasks assigned by the C2ISTAR module:
[ALIVE_garrisonPositions, "Land_Cargo_HQ_V3_F", [6,7,8]] call ALIVE_fnc_hashSet;
+
 
[ALIVE_garrisonPositions, "Land_Medevac_HQ_V1_F", [6,7,8]] call ALIVE_fnc_hashSet;
+
staticData.sqf should be a file you create in the root of your mission folder
[ALIVE_garrisonPositions, "Land_Cargo_Tower_V3_F", [15,12,8]] call ALIVE_fnc_hashSet;
+
 
[ALIVE_garrisonPositions, "Land_Cargo_Tower_V2_F", [15,12,8]] call ALIVE_fnc_hashSet;
+
In your init.sqf put this line:
[ALIVE_garrisonPositions, "Land_Cargo_Tower_V1_F", [15,12,8]] call ALIVE_fnc_hashSet;
+
 
[ALIVE_garrisonPositions, "Land_Cargo_Patrol_V1_F", [1]] call ALIVE_fnc_hashSet;
+
execVM "staticData.sqf";
[ALIVE_garrisonPositions, "Land_Cargo_Patrol_V2_F", [1]] call ALIVE_fnc_hashSet;
+
[ALIVE_garrisonPositions, "Land_Cargo_Patrol_V3_F", [1]] call ALIVE_fnc_hashSet;
+
[ALIVE_garrisonPositions, "Land_CarService_F", [2,5]] call ALIVE_fnc_hashSet;
+
[ALIVE_garrisonPositions, "Land_u_Barracks_V2_F", [36,37,35,34,32,33,40,44]] call ALIVE_fnc_hashSet;
+
[ALIVE_garrisonPositions, "Land_i_Barracks_V1_F", [36,37,35,34,32,33,40,44]] call ALIVE_fnc_hashSet;
+
[ALIVE_garrisonPositions, "Land_i_Barracks_V2_F", [36,37,35,34,32,33,40,44]] call ALIVE_fnc_hashSet;
+
  
  
 +
staticData.sqf
 +
 +
<syntaxhighlight lang="php">
 +
waitUntil {!isNil "ALiVE_STATIC_DATA_LOADED"};
 +
ALIVE_autoGeneratedTasks = ["MilAssault","MilDefence","CivAssault","Assassination","TransportInsertion","DestroyVehicles","DestroyInfantry","SabotageBuilding","InsurgencyPatrol","InsurgencyDestroyAssets","Rescue","CSAR"];
 
</syntaxhighlight>
 
</syntaxhighlight>
  
[[Category: Tutorials]]
+
Remove an entry from the array to stop that task from being generated.
 +
 
 +
For example, removing MilAssault (first entry) would look like
 +
 
 +
<syntaxhighlight lang="php">
 +
ALIVE_autoGeneratedTasks = ["MilDefence","CivAssault","Assassination","TransportInsertion","DestroyVehicles","DestroyInfantry","SabotageBuilding","InsurgencyPatrol","InsurgencyDestroyAssets","Rescue","CSAR"];
 +
</syntaxhighlight>
 +
 
 +
See here for forum post with more info:
 +
http://alivemod.com/forum/1226-auto-generated-task-editing/
 +
 
 +
NOTE: Currently you cannot blacklist Strategic tasks

Latest revision as of 07:18, 8 July 2019

ALiVE already has a blacklist of units, groups and buildings that have no business being in a military environment. Mission editors can choose to blacklist additional items using the variables below. The variables can be entered in any module init field, such as ALiVE (Required).

Note that to completely remove things like AA from your mission, you will need to blacklist all AA units, vehicles and any Groups that have those classes as well.


Syntax:

ALIVE_MODULE_BLACKLIST = ["classname","classname"];


Variables

ALiVE_MIL_CQB_CUSTOM_STRATEGICHOUSES - Define your custom strategic house classes for CQB (rest will be regular houses).

ALiVE_MIL_CQB_CUSTOM_UNITBLACKLIST - Exclude unit classes from CQB

ALiVE_PLACEMENT_CUSTOM_UNITBLACKLIST - Exclude unit classes from Military Placement spawns

ALiVE_PLACEMENT_CUSTOM_VEHICLEBLACKLIST - Exclude vehicle classes from Military Placement spawns

ALiVE_PLACEMENT_CUSTOM_GROUPBLACKLIST - Exclude group classes from Military Placement spawns


Example (Note that classnames here are subject to change)


To blacklist all AA units in vanilla (NATO CSAT)

ALiVE_PLACEMENT_CUSTOM_GROUPBLACKLIST = ["OIA_InfTeam_AA","OIA_MotInf_AA","OIA_MechInf_AA","OIA_TankPlatoon_AA","ORG_InfTeam_AA"];
 
ALiVE_PLACEMENT_CUSTOM_VEHICLEBLACKLIST = ["I_Plane_Fighter_03_AA_F","B_APC_Tracked_01_AA_F","O_APC_Tracked_02_AA_F","AA_01_base_F","B_static_
AA_F","O_static_AA_F","I_static_AA_F","B_AA_01_weapon_F","O_AA_01_weapon_F","I_AA_01_weapon_F"];
 
ALiVE_PLACEMENT_CUSTOM_UNITBLACKLIST = ["B_soldier_AA_F","B_soldier_AAA_F","I_Soldier_AA_F","I_Soldier_AAA_F","O_Soldier_AA_F","O_Soldier_AAA_F","O_soldierU_AA_F","O_soldierU_AAA_F"];
 
ALiVE_MIL_CQB_CUSTOM_UNITBLACKLIST = ["B_soldier_AA_F","B_soldier_AAA_F","I_Soldier_AA_F","I_Soldier_AAA_F","O_Soldier_AA_F","O_Soldier_AAA_F","O_soldierU_AA_F","O_soldierU_AAA_F"];


To blacklist all AA units from CUP units:

ALiVE_MIL_CQB_CUSTOM_UNITBLACKLIST = ["CUP_O_TK_Soldier_AA","CUP_O_TK_INS_Soldier_AA","CUP_O_TK_InfantrySectionAA","CUP_O_TK_MILITIA_AATeam"]; 
ALiVE_PLACEMENT_CUSTOM_UNITBLACKLIST = ["CUP_O_TK_Soldier_AA","CUP_O_TK_INS_Soldier_AA"]; 
ALiVE_PLACEMENT_CUSTOM_GROUPBLACKLIST = ["CUP_O_TK_InfantrySectionAA","CUP_O_TK_MILITIA_AATeam"];


2 new functions to help you find units/vehicles/groups more easily:

_groupTypes = ["AA_" (string to searchfor), INDEPENDENT (side or faction)] call ALiVE_fnc_groupFinder;
_objectTypes = [configFile >> "cfgVehicles" (config path), "_AA" (string to searchfor)] call ALiVE_fnc_configFindEntries;

those arrays can basically be easily read and copy-pasted to whatever blacklist you like.


It is possible to overwrite parts of the staticdata.sqf directly (see the Discussion page for more info). The following example is for overriding the military logistics vehicles.

Add the following line to Init.sqf
call compile preprocessFile "staticData.sqf";

Create a file called staticData.sqf and add the following contents

if (!isServer) exitWith {};
 
waitUntil {!isNil "ALiVE_STATIC_DATA_LOADED"};
 
/*
 * Mil logistics convoy transport vehicles per faction
 */
 
[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;
 
/*
 * Mil logistics air transport vehicles per faction
 */
 
[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;


C2ISTAR Task Blacklists

To blacklist certain tasks assigned by the C2ISTAR module:

staticData.sqf should be a file you create in the root of your mission folder

In your init.sqf put this line:

execVM "staticData.sqf";


staticData.sqf

waitUntil {!isNil "ALiVE_STATIC_DATA_LOADED"};
ALIVE_autoGeneratedTasks = ["MilAssault","MilDefence","CivAssault","Assassination","TransportInsertion","DestroyVehicles","DestroyInfantry","SabotageBuilding","InsurgencyPatrol","InsurgencyDestroyAssets","Rescue","CSAR"];

Remove an entry from the array to stop that task from being generated.

For example, removing MilAssault (first entry) would look like

ALIVE_autoGeneratedTasks = ["MilDefence","CivAssault","Assassination","TransportInsertion","DestroyVehicles","DestroyInfantry","SabotageBuilding","InsurgencyPatrol","InsurgencyDestroyAssets","Rescue","CSAR"];

See here for forum post with more info: http://alivemod.com/forum/1226-auto-generated-task-editing/

NOTE: Currently you cannot blacklist Strategic tasks