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 some custom mappings (that already exists) for Massi's African Units, PMC Pomi and Suddens Russians.
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; // ------------------------------------------------------------------------------------------------------------- };
Example faction template
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; // --------------------------------------------------------------------------------------------------------------------- // PMC POMI // --------------------------------------------------------------------------------------------------------------------- PMC_POMI_mappings = [] call ALIVE_fnc_hashCreate; [PMC_POMI_mappings, "Side", "INDEP"] call ALIVE_fnc_hashSet; [PMC_POMI_mappings, "GroupSideName", "INDEP"] call ALIVE_fnc_hashSet; [PMC_POMI_mappings, "FactionName", "PMC_POMI"] call ALIVE_fnc_hashSet; [PMC_POMI_mappings, "GroupFactionName", "PMC_POMI"] call ALIVE_fnc_hashSet; PMC_POMI_typeMappings = [] call ALIVE_fnc_hashCreate; [PMC_POMI_typeMappings, "Air", "Air"] call ALIVE_fnc_hashSet; [PMC_POMI_typeMappings, "Armored", "Armored"] call ALIVE_fnc_hashSet; [PMC_POMI_typeMappings, "Infantry", "Infantry"] call ALIVE_fnc_hashSet; [PMC_POMI_typeMappings, "Mechanized", "Mechanized"] call ALIVE_fnc_hashSet; [PMC_POMI_typeMappings, "Motorized", "Motorized"] call ALIVE_fnc_hashSet; [PMC_POMI_typeMappings, "Motorized_MTP", "Motorized_MTP"] call ALIVE_fnc_hashSet; [PMC_POMI_typeMappings, "SpecOps", "SpecOps"] call ALIVE_fnc_hashSet; [PMC_POMI_typeMappings, "Support", "Support"] call ALIVE_fnc_hashSet; [PMC_POMI_mappings, "GroupFactionTypes", PMC_POMI_typeMappings] call ALIVE_fnc_hashSet; [ALIVE_factionCustomMappings, "PMC_POMI", PMC_POMI_mappings] call ALIVE_fnc_hashSet; // --------------------------------------------------------------------------------------------------------------------- // SUD RUSSIANS // --------------------------------------------------------------------------------------------------------------------- SUD_RU_mappings = [] call ALIVE_fnc_hashCreate; [SUD_RU_mappings, "Side", "INDEP"] call ALIVE_fnc_hashSet; [SUD_RU_mappings, "GroupSideName", "INDEP"] call ALIVE_fnc_hashSet; [SUD_RU_mappings, "FactionName", "SUD_RU"] call ALIVE_fnc_hashSet; [SUD_RU_mappings, "GroupFactionName", "SUD_RU"] call ALIVE_fnc_hashSet; SUD_RU_typeMappings = [] call ALIVE_fnc_hashCreate; [SUD_RU_typeMappings, "Air", "Air"] call ALIVE_fnc_hashSet; [SUD_RU_typeMappings, "Armored", "Armored"] call ALIVE_fnc_hashSet; [SUD_RU_typeMappings, "Infantry", "Infantry"] call ALIVE_fnc_hashSet; [SUD_RU_typeMappings, "Mechanized", "Mechanized"] call ALIVE_fnc_hashSet; [SUD_RU_typeMappings, "Motorized", "Motorized"] call ALIVE_fnc_hashSet; [SUD_RU_typeMappings, "Motorized_MTP", "Motorized_MTP"] call ALIVE_fnc_hashSet; [SUD_RU_typeMappings, "SpecOps", "SpecOps"] call ALIVE_fnc_hashSet; [SUD_RU_typeMappings, "Support", "Support"] call ALIVE_fnc_hashSet; [SUD_RU_mappings, "GroupFactionTypes", SUD_RU_typeMappings] call ALIVE_fnc_hashSet; [ALIVE_factionCustomMappings, "SUD_RU", SUD_RU_mappings] call ALIVE_fnc_hashSet; // ---------------------------------------------------------------------------------------------------------------------