Declaring Faction Mappings
From ALiVE Wiki
For some unit mods, the CfgGroups config will be malformed and not follow our guidelines on standardisation Unit mod authors config standardisation.
If you really want to be able to use these mods with ALiVE you can provide a mapping for the mod factions.
To load the mappings, you follow the same proceedure as the custom blacklists. In the example below you can see a custom mapping (that already exists) for Massi's African Units mod.
If you are already loading a custom black list or logistics customisations you can edit and add the code to your existing staticData.sqf
init.sqf
if(isServer) then { // ------------------------------------------------------------------------------------------------------------- // 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; // ------------------------------------------------------------------------------------------------------------- };
script\staticData.sqf
// African // --------------------------------------------------------------------------------------------------------------------- mas_afr_rebl_o_mappings = [] call ALIVE_fnc_hashCreate; [mas_afr_rebl_o_mappings, "Side", "EAST"] call ALIVE_fnc_hashSet; [mas_afr_rebl_o_mappings, "GroupSideName", "EAST"] call ALIVE_fnc_hashSet; [mas_afr_rebl_o_mappings, "FactionName", "mas_afr_rebl_o"] call ALIVE_fnc_hashSet; [mas_afr_rebl_o_mappings, "GroupFactionName", "OPF_mas_afr_F_o"] call ALIVE_fnc_hashSet; mas_afr_rebl_o_typeMappings = [] call ALIVE_fnc_hashCreate; [mas_afr_rebl_o_typeMappings, "Air", "Air"] call ALIVE_fnc_hashSet; [mas_afr_rebl_o_typeMappings, "Armored", "Armored"] call ALIVE_fnc_hashSet; [mas_afr_rebl_o_typeMappings, "Infantry", "Infantry_mas_afr_o"] call ALIVE_fnc_hashSet; [mas_afr_rebl_o_typeMappings, "Mechanized", "Mechanized"] call ALIVE_fnc_hashSet; [mas_afr_rebl_o_typeMappings, "Motorized", "Motorized_mas_afr_o"] call ALIVE_fnc_hashSet; [mas_afr_rebl_o_typeMappings, "Motorized_MTP", "Motorized_MTP"] call ALIVE_fnc_hashSet; [mas_afr_rebl_o_typeMappings, "SpecOps", "Recon_mas_afr_o"] call ALIVE_fnc_hashSet; [mas_afr_rebl_o_typeMappings, "Support", "Support"] call ALIVE_fnc_hashSet; [mas_afr_rebl_o_mappings, "GroupFactionTypes", mas_afr_rebl_o_typeMappings] call ALIVE_fnc_hashSet; [ALIVE_factionCustomMappings, "mas_afr_rebl_o", mas_afr_rebl_o_mappings] call ALIVE_fnc_hashSet; [ALIVE_factionDefaultSupplies, "mas_afr_rebl_o", ["Box_mas_ru_rifle_Wps_F"]] call ALIVE_fnc_hashSet; mas_afr_rebl_i_mappings = [] call ALIVE_fnc_hashCreate; [mas_afr_rebl_i_mappings, "Side", "INDEP"] call ALIVE_fnc_hashSet; [mas_afr_rebl_i_mappings, "GroupSideName", "INDEP"] call ALIVE_fnc_hashSet; [mas_afr_rebl_i_mappings, "FactionName", "mas_afr_rebl_i"] call ALIVE_fnc_hashSet; [mas_afr_rebl_i_mappings, "GroupFactionName", "IND_mas_afr_F_i"] call ALIVE_fnc_hashSet; mas_afr_rebl_i_typeMappings = [] call ALIVE_fnc_hashCreate; [mas_afr_rebl_i_typeMappings, "Air", "Air"] call ALIVE_fnc_hashSet; [mas_afr_rebl_i_typeMappings, "Armored", "Armored"] call ALIVE_fnc_hashSet; [mas_afr_rebl_i_typeMappings, "Infantry", "Infantry_mas_afr_i"] call ALIVE_fnc_hashSet; [mas_afr_rebl_i_typeMappings, "Mechanized", "Mechanized"] call ALIVE_fnc_hashSet; [mas_afr_rebl_i_typeMappings, "Motorized", "Motorized_mas_afr_i"] call ALIVE_fnc_hashSet; [mas_afr_rebl_i_typeMappings, "Motorized_MTP", "Motorized_MTP"] call ALIVE_fnc_hashSet; [mas_afr_rebl_i_typeMappings, "SpecOps", "Recon_mas_afr_i"] call ALIVE_fnc_hashSet; [mas_afr_rebl_i_typeMappings, "Support", "Support"] call ALIVE_fnc_hashSet; [mas_afr_rebl_i_mappings, "GroupFactionTypes", mas_afr_rebl_i_typeMappings] call ALIVE_fnc_hashSet; [ALIVE_factionCustomMappings, "mas_afr_rebl_i", mas_afr_rebl_i_mappings] call ALIVE_fnc_hashSet; [ALIVE_factionDefaultSupplies, "mas_afr_rebl_i", ["Box_mas_us_rifle_Wps_F"]] call ALIVE_fnc_hashSet; mas_afr_rebl_b_mappings = [] call ALIVE_fnc_hashCreate; [mas_afr_rebl_b_mappings, "Side", "WEST"] call ALIVE_fnc_hashSet; [mas_afr_rebl_b_mappings, "GroupSideName", "WEST"] call ALIVE_fnc_hashSet; [mas_afr_rebl_b_mappings, "FactionName", "mas_afr_rebl_b"] call ALIVE_fnc_hashSet; [mas_afr_rebl_b_mappings, "GroupFactionName", "BLU_mas_afr_F_b"] call ALIVE_fnc_hashSet; mas_afr_rebl_b_typeMappings = [] call ALIVE_fnc_hashCreate; [mas_afr_rebl_b_typeMappings, "Air", "Air"] call ALIVE_fnc_hashSet; [mas_afr_rebl_b_typeMappings, "Armored", "Armored"] call ALIVE_fnc_hashSet; [mas_afr_rebl_b_typeMappings, "Infantry", "Infantry_mas_afr_b"] call ALIVE_fnc_hashSet; [mas_afr_rebl_b_typeMappings, "Mechanized", "Mechanized"] call ALIVE_fnc_hashSet; [mas_afr_rebl_b_typeMappings, "Motorized", "Motorized_mas_afr_b"] call ALIVE_fnc_hashSet; [mas_afr_rebl_b_typeMappings, "Motorized_MTP", "Motorized_MTP"] call ALIVE_fnc_hashSet; [mas_afr_rebl_b_typeMappings, "SpecOps", "Recon_mas_afr_b"] call ALIVE_fnc_hashSet; [mas_afr_rebl_b_typeMappings, "Support", "Support"] call ALIVE_fnc_hashSet; [mas_afr_rebl_b_mappings, "GroupFactionTypes", mas_afr_rebl_b_typeMappings] call ALIVE_fnc_hashSet; [ALIVE_factionCustomMappings, "mas_afr_rebl_b", mas_afr_rebl_b_mappings] call ALIVE_fnc_hashSet; [ALIVE_factionDefaultSupplies, "mas_afr_rebl_b", ["Box_mas_us_rifle_Wps_F"]] call ALIVE_fnc_hashSet; // ---------------------------------------------------------------------------------------------------------------------