Difference between revisions of "Custom Blacklists"

From ALiVE Wiki
Jump to: navigation, search
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)]].
  
For just one or two units types, you can blacklist using the init line in the [[Military Placement (Military Objectives)]] and similar placement modules.  Alternatively, you can use the following file and example to override blacklists and vehicles used by ALiVE modules completely.
+
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
 
 
'''init.sqf'''
 
 
<syntaxhighlight lang="php">
 
<syntaxhighlight lang="php">
if(isServer) then {
 
  
// -------------------------------------------------------------------------------------------------------------
+
Syntax:  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"};
+
Variables:
  
["MISSION INIT - Continue"] call ALIVE_fnc_dump;
+
ALiVE_MIL_CQB_CUSTOM_STRATEGICHOUSES Define your custom strategic house classes for CQB (rest will be regular houses).
  
// override static data settings
+
ALiVE_MIL_CQB_CUSTOM_UNITBLACKLIST  Exclude unit classes from CQB
call compile (preprocessFileLineNumbers "script\staticData.sqf");
+
  
["MISSION INIT - Static data override loaded"] call ALIVE_fnc_dump;
+
ALiVE_PLACEMENT_CUSTOM_UNITBLACKLIST Exclude unit classes from Military Placement spawns
+
+
+
// -------------------------------------------------------------------------------------------------------------
+
  
};
+
ALiVE_PLACEMENT_CUSTOM_VEHICLEBLACKLIST  Exclude vehicle classes from Military Placement spawns
</syntaxhighlight>
+
  
'''script\staticData.sqf'''
+
ALiVE_PLACEMENT_CUSTOM_GROUPBLACKLIST Exclude group classes from Military Placement spawns
<syntaxhighlight lang="php">
+
/*
+
  * CQB houses
+
*/
+
  
ALiVE_MIL_CQB_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
+
Example (don't use these classenames, they're just an example)
"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 = ["O_G_soldier_AA","O_G_soldier_AA_1"]; ALiVE_PLACEMENT_CUSTOM_UNITBLACKLIST = ["O_G_soldier_AA","O_G_soldier_AA_1"];
* CQB unit blacklist
+
*/
+
  
ALiVE_MIL_CQB_UNITBLACKLIST =
+
</syntaxhighlight>
[
+
//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",
+
It is technically possible to overwrite the entire staticdata.sqf but it doesn't appear to be working very well at the moment - see the Discussion page for more info.
"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",
+
   
+
    "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"
+
];
+
 
+
 
+
/*
+
* 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"
+
];
+
 
+
/*
+
* 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"
+
 
+
];
+
 
+
/*
+
* Mil placement group blacklist
+
*/
+
+
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"
+
];
+
 
+
/*
+
* 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
+
*/
+
 
+
/*
+
* Mil placement ambient vehicles for sides
+
*/
+
 
+
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;
+
 
+
/*
+
* Mil placement random supply boxes for sides
+
*/
+
 
+
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;
+
 
+
/*
+
* Mil logistics convoy transport vehicles fallback for sides
+
*/
+
 
+
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;
+
 
+
/*
+
* 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;
+
 
+
 
+
/*
+
* Mil placement ambient vehicles per faction
+
*/
+
 
+
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;
+
[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;
+
 
+
/*
+
* Mil placement random supply boxes per faction
+
*/
+
 
+
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;
+
 
+
/*
+
* Mil logistics convoy transport vehicles per faction
+
*/
+
 
+
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;
+
 
+
/*
+
* Mil logistics air transport vehicles per faction
+
*/
+
 
+
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;
+
 
+
 
+
 
+
/*
+
* Garrison building defaults
+
*/
+
 
+
ALIVE_garrisonPositions = [] call ALIVE_fnc_hashCreate;
+
[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;
+
[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;
+
[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;
+
[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;
+
[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;
+
 
+
 
+
</syntaxhighlight>
+
  
 
[[Category: Tutorials]]
 
[[Category: Tutorials]]

Revision as of 05:06, 18 April 2015

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 (don't use these classenames, they're just an example)
 
ALiVE_MIL_CQB_CUSTOM_UNITBLACKLIST = ["O_G_soldier_AA","O_G_soldier_AA_1"]; ALiVE_PLACEMENT_CUSTOM_UNITBLACKLIST = ["O_G_soldier_AA","O_G_soldier_AA_1"];

It is technically possible to overwrite the entire staticdata.sqf but it doesn't appear to be working very well at the moment - see the Discussion page for more info.