tenentecardoso 16 Posted January 6, 2020 Hello! This is the first time I create an actual addon for Arma 3, and I've came across a few problems. The tutorial I watched was quite out of date, so the config was completely wrong. I had to do my own config based on the BI's wiki on the config file. The main problem started with the ballistic protection for my custom vest, which was out of date and didn't work. I've rewritten the entire section for the vest, and it worked (ish). The game starts, shows the vest, the virtual arsenal shows the ammount of ballistic protection in the vest (which is quite high, I'd say 80% of the bar is filled, enough to stop a 7.62 round), but in reality the vest won't even stop a 9mm round shot at a distance, which means the vest has no real ballistic protection. What should I do? Here's my code. // class ItemCore; class Vest_Camo_Base: ItemCore { class ItemInfo; }; class Custom_Vest1: Vest_Camo_Base { author = "Ventspils1944"; scope = 2; displayName = "OMEGA Platecarrier Heavy"; picture = "-"; model = "A3\Characters_F\BLUFOR\equip_b_Vest01.p3d"; hiddenSelectionsTextures[] = {"Custom_Uniform\Data\custom_vest_co.paa"}; hiddenSelectionsMaterials[] = {"Custom_Uniform\Data\custom_vest.rvmat"}; class ItemInfo: ItemInfo { uniformModel = "A3\Characters_F\BLUFOR\equip_b_Vest01.p3d"; containerClass = Supply140; mass = 70; class HitpointsProtectionInfo //more info at: https://community.bistudio.com/wiki/Arma_3_Soldier_Protection { class Chest { hitPointName = "HitChest"; armor = 30; passThrough = 0.3; }; }; }; }; }; The second problem is this: It happens when I enable a second part of the code, related to my custom helmet. Here's the code for the headgear. //class cfgWeapons //************************************************************************************************************************************************************************************************ //***** Headgear ********************************************************************************************************************************************************* //************************************************************************************************************************************************************************************************ { class H_HelmetB; class HeadgearItem; class Custom_Helmet1: H_HelmetB { author = "Ventspils1944"; scope= 2; weaponPoolAvailable = 1; scopeCurator=2 displayName= "OMEGA ECH"; picture = "-"; model = "\A3\Characters_F\BLUFOR\headgear_b_helmet_ballistic.p3d"; hiddenSelections[] = {"Camo"}; hiddenSelectionsTextures[] = {"\Custom_Uniform\Data\custom_helmet_co.paa"}; hiddenSelectionsMaterials[] = {"Custom_Uniform\Data\custom_helmet.rvmat"}; //editorCategory="EdCat_Equipment"; //editorSubcategory="EdSubcat_Hats"; class ItemInfo: HeadgearItem { mass = 50; uniformModel = "\A3\Characters_F\BLUFOR\headgear_b_helmet_ballistic.p3d"; //hiddenSelections[] = {"Camo"}; //hiddenSelectionsTextures[] = {"\Custom_Uniform\Data\custom_helmet_co.paa"}; //hiddenSelectionsMaterials[] = {"Custom_Uniform\Data\custom_helmet.rvmat"}; class HitpointsProtectionInfo // more info at: https://community.bistudio.com/wiki/Arma_3_Soldier_Protection { class Head { hitPointName = "HitHead"; armor = 8; passThrough = 0.5; }; }; }; }; }; Share this post Link to post Share on other sites
Dedmen 2716 Posted January 7, 2020 On 1/6/2020 at 9:29 PM, tenentecardoso said: //class cfgWeapons Why did you comment that out? that seems quite.. essential? 1 Share this post Link to post Share on other sites
tenentecardoso 16 Posted January 8, 2020 19 hours ago, Dedmen said: Why did you comment that out? that seems quite.. essential? It's odd, but inserting that line actually generates another error, saying that the value had already been defined Share this post Link to post Share on other sites
lordfrith 401 Posted January 8, 2020 (edited) i'm no expert but you only have hitpoints for chest, when i made vests i used "HitDiaphragm" and "HitAbdomen" too. this is a snippet from my vest code that i think works ok as i pretty much copied it from the game vanilla config values: Spoiler class cfgWeapons// you defo need this 😉 { class ItemCore; class Vest_NoCamo_Base; class VestItem; class UniformItem; class Uniform_Base: ItemCore { class ItemInfo; };//make sure you've called all the baseclasses you need, not sure you need all of these as my config was for uniforms too class FRITH_ruin_vestia_lite_ltr: Vest_NoCamo_Base { scope=2; displayName="Friths ruin light PlateCarrier (leather)"; picture = "\A3\Characters_F_Mark\Data\UI\icon_ga_carrier_gl_rig_oli.paa"; model = "A3\Characters_F_Beta\INDEP\equip_ia_vest01.p3d"; hiddenSelections[] = {"camo"}; hiddenSelectionsTextures[] = { "friths_ruin_equip\data\frith_ruin_vest_ia_ltr_co.paa" }; hiddenSelectionsMaterials[] = {"friths_ruin_equip\data\frith_ruin_vest_ia_ltr.rvmat"}; class ItemInfo: VestItem //this should be called from vestItem rather than itemInfo? { uniformModel = "A3\Characters_F_Beta\INDEP\equip_ia_vest01.p3d"; containerClass="Supply100"; mass=40; hiddenSelections[] = {"camo"}; class HitpointsProtectionInfo { class Neck { hitpointName = "HitNeck"; // reference to the hit point class defined in the man base class armor = 0; // addition to armor of referenced hitpoint passThrough = 0.5; // multiplier of base passThrough defined in referenced hitpoint }; class Arms //you won't need arms or neck unless the vest covers these areas i.e. shoulderpads { hitpointName = "HitArms"; armor = 0; passThrough = 0.5; }; class Chest { hitpointName = "HitChest"; armor = 24; passThrough = 0.1; }; class Diaphragm { hitpointName = "HitDiaphragm"; armor = 24; passThrough = 0.1; }; class Abdomen { hitpointName = "HitAbdomen"; armor = 10; passThrough = 0.1; }; class Body { hitpointName = "HitBody"; passThrough = 0.1; }; }; }; }; }; i hope that helps a bit, i also find it confusing getting the syntax right for configs as the they have been updated quite a lot and the tutorials are from various times during that process so its hard to know which is most accurate! if your config isn't too huge post the whole thing here in a spoiler box as it would be easier to see whats wrong if we could see the full config structure Edited January 8, 2020 by lordfrith 1 Share this post Link to post Share on other sites
Dedmen 2716 Posted January 8, 2020 2 hours ago, tenentecardoso said: It's odd, but inserting that line actually generates another error, saying that the value had already been defined yeah well you can't define the same class twice, if you already have cfgweapons, then you need to add your stuff into it, not add a second cfgweapons. 1 Share this post Link to post Share on other sites
tenentecardoso 16 Posted January 9, 2020 On 1/8/2020 at 1:47 PM, lordfrith said: i'm no expert but you only have hitpoints for chest, when i made vests i used "HitDiaphragm" and "HitAbdomen" too. this is a snippet from my vest code that i think works ok as i pretty much copied it from the game vanilla config values: Hide contents i hope that helps a bit, i also find it confusing getting the syntax right for configs as the they have been updated quite a lot and the tutorials are from various times during that process so its hard to know which is most accurate! if your config isn't too huge post the whole thing here in a spoiler box as it would be easier to see whats wrong if we could see the full config structure Here's the entire config.cpp I am going to test your script now. Spoiler class CfgPatches { class My_Mod_Config { units[] = {"Custom_Uniform_Mod";}; weapons[] = {}; requiredVersion = 0.1; requiredAddons[] = {"A3_Characters_F"}; }; }; //************************************************************************************************************************************************************************************************ //***** Factions ********************************************************************************************************************************************************* //************************************************************************************************************************************************************************************************ class cfgFactionClasses { class Custom_Faction { displayName = "Latvijas Valsts Policija"; priority = 2; // Position in list. side = 1; // Opfor = 0, Blufor = 1, Indep = 2. icon = ""; //Custom Icon }; }; class CfgUnitInsignia { class Custom_Insignia { displayName = "Pretterorisma Vieniba OMEGA"; // Name displayed in Arsenal author = "Ventspils1944"; // Author displayed in Arsenal texture = "\Custom_Uniform\UI\custom_patch_co.paa"; // Image path textureVehicle = ""; // Does nothing currently, reserved for future use }; }; class UniformSlotInfo { slotType = 0; linkProxy = "-"; }; class CfgVehicles { //************************************************************************************************************************************************************************************************ //***** Units ********************************************************************************************************************************************************* //************************************************************************************************************************************************************************************************ class B_Soldier_F; class Custom_Uniform: B_soldier_F { author = "Astartes"; _generalMacro = "B_soldier_F"; scope = 2; displayName = "Custom Soldier"; identityTypes[] = {"Head_NATO", "G_NATO_default"}; genericNames = "NATOMen"; faction = "Custom_Faction"; model = "\A3\characters_f_beta\INDEP\ia_soldier_01.p3d"; //Default NATO uniformClass = "Custom_Camo"; hiddenSelections[] = {"Camo","Insignia"}; hiddenSelectionsTextures[] = {"Custom_Uniform\Data\custom_camo_co.paa"}; hiddenSelectionsMaterials[] = {"Custom_Uniform\Data\custom_camo.rvmat"}; weapons[] = {"arifle_TRG20_ACO_Flash_F","Throw","Put"}; respawnWeapons[] = {"arifle_TRG20_ACO_Flash_F","Throw","Put"}; magazines[] = {"HandGrenade","HandGrenade","SmokeShell","SmokeShellGreen","Chemlight_green","Chemlight_green"}; respawnMagazines[] = {"HandGrenade","HandGrenade","SmokeShell","SmokeShellGreen","Chemlight_green","Chemlight_green"}; linkedItems[] = {"CUstom_Helmet1","Custom_Vest1","ItemMap","ItemCompass","ItemWatch","ItemRadio"}; respawnLinkedItems[] = {"CUstom_Helmet1","Custom_Vest1","ItemMap","ItemCompass","ItemWatch","ItemRadio"}; }; class Custom_Uniform_SS: B_soldier_F { author = "Astartes"; _generalMacro = "B_soldier_F"; scope = 2; displayName = "Custom Team Leader"; identityTypes[] = {"Head_NATO", "G_NATO_default"}; genericNames = "NATOMen"; faction = "Custom_Faction"; model = "\A3\characters_f_beta\INDEP\ia_soldier_02.p3d"; //NATO Rolled Up Sleeves uniformClass = "Custom_Camo_SS"; hiddenSelections[] = {"Camo","Insignia"}; hiddenSelectionsTextures[] = {"Custom_Uniform\Data\custom_camo_co.paa"}; hiddenSelectionsMaterials[] = {"Custom_Uniform\Data\custom_camo.rvmat"}; weapons[] = {"arifle_TRG20_ACO_Flash_F","Throw","Put"}; respawnWeapons[] = {"arifle_TRG20_ACO_Flash_F","Throw","Put"}; magazines[] = {"HandGrenade","HandGrenade","SmokeShell","SmokeShellGreen","Chemlight_green","Chemlight_green"}; respawnMagazines[] = {"HandGrenade","HandGrenade","SmokeShell","SmokeShellGreen","Chemlight_green","Chemlight_green"}; linkedItems[] = {"CUstom_Helmet1","Custom_Vest2","ItemMap","ItemCompass","ItemWatch","ItemRadio"}; respawnLinkedItems[] = {"CUstom_Helmet1","Custom_Vest2","ItemMap","ItemCompass","ItemWatch","ItemRadio"}; }; class Custom_Uniform_TShirt: B_soldier_F { author = "Astartes"; _generalMacro = "B_soldier_F"; scope = 2; displayName = "Custom Combat Life Saver"; identityTypes[] = {"Head_NATO", "G_NATO_default"}; genericNames = "NATOMen"; faction = "Custom_Faction"; model = "\A3\characters_f_gamma\Guerrilla\ig_guerrilla1_1.p3d"; //NATO Rolled Up Sleeves uniformClass = "Custom_Camo_TShirt"; backpack = "Custom_Backpack_Compact"; hiddenSelections[] = {"Camo1","Camo2"}; hiddenSelectionsTextures[] = {"Custom_Uniform\Data\tshirt_brown_co.paa","Custom_Uniform\Data\custom_camo_co.paa"}; hiddenSelectionsMaterials[] = {"a3\characters_F\civil\data\c_cloth1.rvmat","Custom_Uniform\Data\custom_camo.rvmat"}; weapons[] = {"arifle_TRG20_ACO_Flash_F","Throw","Put"}; respawnWeapons[] = {"arifle_TRG20_ACO_Flash_F","Throw","Put"}; magazines[] = {"HandGrenade","HandGrenade","SmokeShell","SmokeShellGreen","Chemlight_green","Chemlight_green"}; respawnMagazines[] = {"HandGrenade","HandGrenade","SmokeShell","SmokeShellGreen","Chemlight_green","Chemlight_green"}; linkedItems[] = {"CUstom_Helmet2","Custom_Vest3","ItemMap","ItemCompass","ItemWatch","ItemRadio"}; respawnLinkedItems[] = {"CUstom_Helmet2","Custom_Vest3","ItemMap","ItemCompass","ItemWatch","ItemRadio"}; }; class B_AssaultPack_Base; class Custom_Backpack_Compact: B_AssaultPack_Base { scope = 2; displayName = "Custom Backpack Compact"; picture = ""; hiddenSelectionsTextures[] = {"Custom_Uniform\Data\pack_compact_co.paa"}; }; class LandVehicle; class B_G_Offroad_01_F; class B_G_Offroad_01_armed_F; class B_MRAP_01_F; class B_MRAP_01_HMG_F; class B_Heli_Light_01_F; class Custom_Offroad_F: B_G_Offroad_01_F { crew = "Custom_Uniform_TShirt"; side = 1; scope = 2; faction = "Custom_Faction"; displayName = "Custom Offroad 4x4"; hiddenSelections[] = {"Camo"}; hiddenSelectionsTextures[] = {"Custom_Uniform\Data\offroad_base_co.paa"}; class EventHandlers { init = "(_this select 0) setVariable [""BIS_enableRandomization"", false];"; }; }; class Custom_Offroad_HMG_F: B_G_Offroad_01_armed_F { side = 1; scope = 2; crew = "Custom_Uniform_TShirt"; faction = "Custom_Faction"; displayName = "Custom Offroad 4x4 (HMG)"; hiddenSelections[] = {"Camo"}; hiddenSelectionsTextures[] = {"Custom_Uniform\Data\offroad_base_co.paa"}; class EventHandlers { init = "(_this select 0) setVariable [""BIS_enableRandomization"", false];"; }; }; class Custom_Hunter_F: B_MRAP_01_F { side = 1; scope = 2; crew = "Custom_Uniform_TShirt"; faction = "Custom_Faction"; displayName = "Custom M-ATV MRAP"; hiddenSelections[] = {"Camo1","Camo2"}; hiddenSelectionsTextures[] = {"Custom_Uniform\Data\hunter_base_co.paa","Custom_Uniform\Data\hunter_adds_co.paa"}; }; class Custom_Hunter_HMG_F: B_MRAP_01_HMG_F { side = 1; scope = 2; crew = "Custom_Uniform_TShirt"; faction = "Custom_Faction"; displayName = "Custom M-ATV MRAP (HMG)"; hiddenSelections[] = {"Camo1","Camo2"}; hiddenSelectionsTextures[] = {"Custom_Uniform\Data\hunter_base_co.paa","Custom_Uniform\Data\hunter_adds_co.paa"}; }; class Custom_MH6: B_Heli_Light_01_F { side = 1; scope = 2; crew = "Custom_Uniform_TShirt"; faction = "Custom_Faction"; displayName = "Custom MH-6 Hummingbird"; hiddenSelections[] = {"Camo1"}; hiddenSelectionsTextures[] = {"Custom_Uniform\Data\hummingbird_base_co.paa"}; }; }; class cfgWeapons { //******************************************************************************************************************************************************************************************** //***** Uniforms ***************************************************************************************************************************************************** //******************************************************************************************************************************************************************************************** class ItemCore; class UniformItem; class Uniform_Base: ItemCore { class ItemInfo; }; class Custom_Camo: Uniform_Base { scope = 2; displayName = "Custom Camo"; picture = "-"; model = "\A3\characters_f_beta\INDEP\ia_soldier_01.p3d"; class ItemInfo : UniformItem { uniformClass = "Custom_Uniform"; containerClass = "Supply50"; mass = 50; }; }; class Custom_Camo_SS: Uniform_Base { scope = 2; displayName = "Custom Camo (Rolled Sleeves)"; picture = "-"; model = "\A3\characters_f_beta\INDEP\ia_soldier_02.p3d"; class ItemInfo : UniformItem { uniformClass = "Custom_Uniform_SS"; containerClass = "Supply50"; mass = 50; }; }; //************************************************************************************************************************************************************************************************ //***** Vests ********************************************************************************************************************************************************* //************************************************************************************************************************************************************************************************ //class ItemCore; class Vest_Camo_Base: ItemCore { class ItemInfo; }; class Custom_Vest1: Vest_Camo_Base { author = "Ventspils1944"; scope = 2; displayName = "OMEGA Platecarrier Heavy"; picture = "-"; model = "A3\Characters_F\BLUFOR\equip_b_Vest01.p3d"; hiddenSelectionsTextures[] = {"Custom_Uniform\Data\custom_vest_co.paa"}; hiddenSelectionsMaterials[] = {"Custom_Uniform\Data\custom_vest.rvmat"}; class ItemInfo: ItemInfo { uniformModel = "A3\Characters_F\BLUFOR\equip_b_Vest01.p3d"; containerClass = Supply140; mass = 70; class HitpointsProtectionInfo //more info at: https://community.bistudio.com/wiki/Arma_3_Soldier_Protection { class Chest { hitPointName = "HitChest"; armor = 30; passThrough = 0.3; }; }; }; }; }; //class cfgWeapons //************************************************************************************************************************************************************************************************ //***** Headgear ********************************************************************************************************************************************************* //************************************************************************************************************************************************************************************************ { class H_HelmetB; class HeadgearItem; class Custom_Helmet1: H_HelmetB { author = "Ventspils1944"; scope= 2; weaponPoolAvailable = 1; scopeCurator=2 displayName= "OMEGA ECH"; picture = "-"; model = "\A3\Characters_F\BLUFOR\headgear_b_helmet_ballistic.p3d"; hiddenSelections[] = {"Camo"}; hiddenSelectionsTextures[] = {"\Custom_Uniform\Data\custom_helmet_co.paa"}; hiddenSelectionsMaterials[] = {"Custom_Uniform\Data\custom_helmet.rvmat"}; //editorCategory="EdCat_Equipment"; //editorSubcategory="EdSubcat_Hats"; class ItemInfo: HeadgearItem { mass = 50; uniformModel = "\A3\Characters_F\BLUFOR\headgear_b_helmet_ballistic.p3d"; //hiddenSelections[] = {"Camo"}; //hiddenSelectionsTextures[] = {"\Custom_Uniform\Data\custom_helmet_co.paa"}; //hiddenSelectionsMaterials[] = {"Custom_Uniform\Data\custom_helmet.rvmat"}; class HitpointsProtectionInfo // more info at: https://community.bistudio.com/wiki/Arma_3_Soldier_Protection { class Head { hitPointName = "HitHead"; armor = 8; passThrough = 0.5; }; }; }; }; }; Share this post Link to post Share on other sites
tenentecardoso 16 Posted January 9, 2020 It didn't work. The entire code looks like this now. I've inserted a comment at the lines of classes that I am not using, since you said I had to call them all. If that's not what you meant with having to call them all, sorry. I really have no programming experience. Spoiler class CfgPatches { class My_Mod_Config { units[] = {"Custom_Uniform_Mod";}; weapons[] = {}; requiredVersion = 0.1; requiredAddons[] = {"A3_Characters_F"}; }; }; //************************************************************************************************************************************************************************************************ //***** Factions ********************************************************************************************************************************************************* //************************************************************************************************************************************************************************************************ class cfgFactionClasses { class Custom_Faction { displayName = "Latvijas Valsts Policija"; priority = 2; // Position in list. side = 1; // Opfor = 0, Blufor = 1, Indep = 2. icon = ""; //Custom Icon }; }; class CfgUnitInsignia { class Custom_Insignia { displayName = "Pretterorisma Vieniba OMEGA"; // Name displayed in Arsenal author = "Ventspils1944"; // Author displayed in Arsenal texture = "\Custom_Uniform\UI\custom_patch_co.paa"; // Image path textureVehicle = ""; // Does nothing currently, reserved for future use }; }; class UniformSlotInfo { slotType = 0; linkProxy = "-"; }; class CfgVehicles { //************************************************************************************************************************************************************************************************ //***** Units ********************************************************************************************************************************************************* //************************************************************************************************************************************************************************************************ class B_Soldier_F; class Custom_Uniform: B_soldier_F { author = "Astartes"; _generalMacro = "B_soldier_F"; scope = 2; displayName = "Custom Soldier"; identityTypes[] = {"Head_NATO", "G_NATO_default"}; genericNames = "NATOMen"; faction = "Custom_Faction"; model = "\A3\characters_f_beta\INDEP\ia_soldier_01.p3d"; //Default NATO uniformClass = "Custom_Camo"; hiddenSelections[] = {"Camo","Insignia"}; hiddenSelectionsTextures[] = {"Custom_Uniform\Data\custom_camo_co.paa"}; hiddenSelectionsMaterials[] = {"Custom_Uniform\Data\custom_camo.rvmat"}; weapons[] = {"arifle_TRG20_ACO_Flash_F","Throw","Put"}; respawnWeapons[] = {"arifle_TRG20_ACO_Flash_F","Throw","Put"}; magazines[] = {"HandGrenade","HandGrenade","SmokeShell","SmokeShellGreen","Chemlight_green","Chemlight_green"}; respawnMagazines[] = {"HandGrenade","HandGrenade","SmokeShell","SmokeShellGreen","Chemlight_green","Chemlight_green"}; linkedItems[] = {"CUstom_Helmet1","Custom_Vest1","ItemMap","ItemCompass","ItemWatch","ItemRadio"}; respawnLinkedItems[] = {"CUstom_Helmet1","Custom_Vest1","ItemMap","ItemCompass","ItemWatch","ItemRadio"}; }; //class Custom_Uniform_SS: B_soldier_F { author = "Astartes"; _generalMacro = "B_soldier_F"; scope = 2; displayName = "Custom Team Leader"; identityTypes[] = {"Head_NATO", "G_NATO_default"}; genericNames = "NATOMen"; faction = "Custom_Faction"; model = "\A3\characters_f_beta\INDEP\ia_soldier_02.p3d"; //NATO Rolled Up Sleeves uniformClass = "Custom_Camo_SS"; hiddenSelections[] = {"Camo","Insignia"}; hiddenSelectionsTextures[] = {"Custom_Uniform\Data\custom_camo_co.paa"}; hiddenSelectionsMaterials[] = {"Custom_Uniform\Data\custom_camo.rvmat"}; weapons[] = {"arifle_TRG20_ACO_Flash_F","Throw","Put"}; respawnWeapons[] = {"arifle_TRG20_ACO_Flash_F","Throw","Put"}; magazines[] = {"HandGrenade","HandGrenade","SmokeShell","SmokeShellGreen","Chemlight_green","Chemlight_green"}; respawnMagazines[] = {"HandGrenade","HandGrenade","SmokeShell","SmokeShellGreen","Chemlight_green","Chemlight_green"}; linkedItems[] = {"CUstom_Helmet1","Custom_Vest2","ItemMap","ItemCompass","ItemWatch","ItemRadio"}; respawnLinkedItems[] = {"CUstom_Helmet1","Custom_Vest2","ItemMap","ItemCompass","ItemWatch","ItemRadio"}; }; //class Custom_Uniform_TShirt: B_soldier_F { author = "Astartes"; _generalMacro = "B_soldier_F"; scope = 2; displayName = "Custom Combat Life Saver"; identityTypes[] = {"Head_NATO", "G_NATO_default"}; genericNames = "NATOMen"; faction = "Custom_Faction"; model = "\A3\characters_f_gamma\Guerrilla\ig_guerrilla1_1.p3d"; //NATO Rolled Up Sleeves uniformClass = "Custom_Camo_TShirt"; backpack = "Custom_Backpack_Compact"; hiddenSelections[] = {"Camo1","Camo2"}; hiddenSelectionsTextures[] = {"Custom_Uniform\Data\tshirt_brown_co.paa","Custom_Uniform\Data\custom_camo_co.paa"}; hiddenSelectionsMaterials[] = {"a3\characters_F\civil\data\c_cloth1.rvmat","Custom_Uniform\Data\custom_camo.rvmat"}; weapons[] = {"arifle_TRG20_ACO_Flash_F","Throw","Put"}; respawnWeapons[] = {"arifle_TRG20_ACO_Flash_F","Throw","Put"}; magazines[] = {"HandGrenade","HandGrenade","SmokeShell","SmokeShellGreen","Chemlight_green","Chemlight_green"}; respawnMagazines[] = {"HandGrenade","HandGrenade","SmokeShell","SmokeShellGreen","Chemlight_green","Chemlight_green"}; linkedItems[] = {"CUstom_Helmet2","Custom_Vest3","ItemMap","ItemCompass","ItemWatch","ItemRadio"}; respawnLinkedItems[] = {"CUstom_Helmet2","Custom_Vest3","ItemMap","ItemCompass","ItemWatch","ItemRadio"}; }; //class B_AssaultPack_Base; //class Custom_Backpack_Compact: B_AssaultPack_Base { scope = 2; displayName = "Custom Backpack Compact"; picture = ""; hiddenSelectionsTextures[] = {"Custom_Uniform\Data\pack_compact_co.paa"}; }; //class LandVehicle; //class B_G_Offroad_01_F; //class B_G_Offroad_01_armed_F; //class B_MRAP_01_F; //class B_MRAP_01_HMG_F; //class B_Heli_Light_01_F; //class Custom_Offroad_F: B_G_Offroad_01_F { crew = "Custom_Uniform_TShirt"; side = 1; scope = 2; faction = "Custom_Faction"; displayName = "Custom Offroad 4x4"; hiddenSelections[] = {"Camo"}; hiddenSelectionsTextures[] = {"Custom_Uniform\Data\offroad_base_co.paa"}; class EventHandlers { init = "(_this select 0) setVariable [""BIS_enableRandomization"", false];"; }; }; //class Custom_Offroad_HMG_F: B_G_Offroad_01_armed_F { side = 1; scope = 2; crew = "Custom_Uniform_TShirt"; faction = "Custom_Faction"; displayName = "Custom Offroad 4x4 (HMG)"; hiddenSelections[] = {"Camo"}; hiddenSelectionsTextures[] = {"Custom_Uniform\Data\offroad_base_co.paa"}; class EventHandlers { init = "(_this select 0) setVariable [""BIS_enableRandomization"", false];"; }; }; //class Custom_Hunter_F: B_MRAP_01_F { side = 1; scope = 2; crew = "Custom_Uniform_TShirt"; faction = "Custom_Faction"; displayName = "Custom M-ATV MRAP"; hiddenSelections[] = {"Camo1","Camo2"}; hiddenSelectionsTextures[] = {"Custom_Uniform\Data\hunter_base_co.paa","Custom_Uniform\Data\hunter_adds_co.paa"}; }; //class Custom_Hunter_HMG_F: B_MRAP_01_HMG_F { side = 1; scope = 2; crew = "Custom_Uniform_TShirt"; faction = "Custom_Faction"; displayName = "Custom M-ATV MRAP (HMG)"; hiddenSelections[] = {"Camo1","Camo2"}; hiddenSelectionsTextures[] = {"Custom_Uniform\Data\hunter_base_co.paa","Custom_Uniform\Data\hunter_adds_co.paa"}; }; //class Custom_MH6: B_Heli_Light_01_F { side = 1; scope = 2; crew = "Custom_Uniform_TShirt"; faction = "Custom_Faction"; displayName = "Custom MH-6 Hummingbird"; hiddenSelections[] = {"Camo1"}; hiddenSelectionsTextures[] = {"Custom_Uniform\Data\hummingbird_base_co.paa"}; }; }; class cfgWeapons { //******************************************************************************************************************************************************************************************** //***** Uniforms ***************************************************************************************************************************************************** //******************************************************************************************************************************************************************************************** class ItemCore; class UniformItem; class Uniform_Base: ItemCore { class ItemInfo; }; class Custom_Camo: Uniform_Base { scope = 2; displayName = "Custom Camo"; picture = "-"; model = "\A3\characters_f_beta\INDEP\ia_soldier_01.p3d"; class ItemInfo : UniformItem { uniformClass = "Custom_Uniform"; containerClass = "Supply50"; mass = 50; }; }; class Custom_Camo_SS: Uniform_Base { scope = 2; displayName = "Custom Camo (Rolled Sleeves)"; picture = "-"; model = "\A3\characters_f_beta\INDEP\ia_soldier_02.p3d"; class ItemInfo : UniformItem { uniformClass = "Custom_Uniform_SS"; containerClass = "Supply50"; mass = 50; }; }; //************************************************************************************************************************************************************************************************ //***** Vests ********************************************************************************************************************************************************* //************************************************************************************************************************************************************************************************ { class ItemCore; class Vest_NoCamo_Base; class VestItem; class UniformItem; class Uniform_Base: ItemCore { class ItemInfo; };//make sure you've called all the baseclasses you need, not sure you need all of these as my config was for uniforms too class Custom_Uniform: Vest_NoCamo_Base { scope=2; displayName="OMEGA Light Platecarrier"; picture = "-"; model = "A3\Characters_F\BLUFOR\equip_b_Vest01.p3d"; author= "Ventspils1944"; hiddenSelections[] = {"camo"}; hiddenSelectionsTextures[] = {"Custom_Uniform\Data\custom_vest_co.paa"}; hiddenSelectionsMaterials[] = {"Custom_Uniform\Data\custom_vest.rvmat"}; class ItemInfo: VestItem //this should be called from vestItem rather than itemInfo? { uniformModel = "A3\Characters_F\BLUFOR\equip_b_Vest01.p3d"; containerClass="Supply100"; mass=40; hiddenSelections[] = {"camo"}; class HitpointsProtectionInfo { class Neck { hitpointName = "HitNeck"; // reference to the hit point class defined in the man base class armor = 0; // addition to armor of referenced hitpoint passThrough = 0.5; // multiplier of base passThrough defined in referenced hitpoint }; class Arms //you won't need arms or neck unless the vest covers these areas i.e. shoulderpads { hitpointName = "HitArms"; armor = 0; passThrough = 0.5; }; class Chest { hitpointName = "HitChest"; armor = 24; passThrough = 0.1; }; class Diaphragm { hitpointName = "HitDiaphragm"; armor = 24; passThrough = 0.1; }; class Abdomen { hitpointName = "HitAbdomen"; armor = 10; passThrough = 0.1; }; class Body { hitpointName = "HitBody"; passThrough = 0.1; }; }; }; }; }; //************************************************************************************************************************************************************************************************ //***** Headgear ********************************************************************************************************************************************************* //************************************************************************************************************************************************************************************************ //{ class H_HelmetB; class HeadgearItem; class Custom_Helmet1: H_HelmetB { author = "Ventspils1944"; scope= 2; weaponPoolAvailable = 1; scopeCurator=2 displayName= "OMEGA ECH"; picture = "-"; model = "\A3\Characters_F\BLUFOR\headgear_b_helmet_ballistic.p3d"; hiddenSelections[] = {"Camo"}; hiddenSelectionsTextures[] = {"\Custom_Uniform\Data\custom_helmet_co.paa"}; hiddenSelectionsMaterials[] = {"Custom_Uniform\Data\custom_helmet.rvmat"}; //editorCategory="EdCat_Equipment"; //editorSubcategory="EdSubcat_Hats"; class ItemInfo: HeadgearItem { mass = 50; uniformModel = "\A3\Characters_F\BLUFOR\headgear_b_helmet_ballistic.p3d"; //hiddenSelections[] = {"Camo"}; //hiddenSelectionsTextures[] = {"\Custom_Uniform\Data\custom_helmet_co.paa"}; //hiddenSelectionsMaterials[] = {"Custom_Uniform\Data\custom_helmet.rvmat"}; class HitpointsProtectionInfo // more info at: https://community.bistudio.com/wiki/Arma_3_Soldier_Protection { class Head { hitPointName = "HitHead"; armor = 8; passThrough = 0.5; }; }; }; }; }; Share this post Link to post Share on other sites
Dedmen 2716 Posted January 9, 2020 2 hours ago, tenentecardoso said: //class Custom_Uniform_SS: B_soldier_F { again, you are commenting out essential parts of the config. why? I suggest you start from scratch 1 Share this post Link to post Share on other sites
EO 11277 Posted January 9, 2020 I agree with Dedmen, make a fresh start before you disappear down the rabbit-hole. 😅 Your welcome to take a look at my vest config, I should be fairly easy to follow as an example... Spoiler class CfgPatches { class eo_vests { units[]={}; weapons[]= { "" }; requiredVersion=0.1; requiredAddons[]={}; }; }; class CfgWeapons { class ItemCore; class Vest_Camo_Base: ItemCore { class ItemInfo; }; class eo_platecarrier_1: Vest_Camo_Base { author="EO"; scope=2; displayName="EO PlateCarrier (BLK)"; picture="\A3\characters_f\Data\UI\icon_V_plate_carrier_1_CA.paa"; model="\A3\Characters_F\BLUFOR\equip_b_vest02"; hiddenSelectionsTextures[]= { "eo_vests\data\eo_platecarrier_1.paa" }; descriptionShort="$STR_A3_SP_AL_III"; class ItemInfo: ItemInfo { uniformModel="\A3\Characters_F\BLUFOR\equip_b_vest02"; containerClass="Supply140"; mass=80; class HitpointsProtectionInfo { class Chest { HitpointName="HitChest"; armor=16; PassThrough=0.30000001; }; class Diaphragm { HitpointName="HitDiaphragm"; armor=16; PassThrough=0.30000001; }; class Abdomen { hitpointName="HitAbdomen"; armor=16; passThrough=0.30000001; }; class Body { hitpointName="HitBody"; passThrough=0.30000001; }; }; }; }; class eo_platecarrier_2: Vest_Camo_Base { author="EO"; scope=2; displayName="EO PlateCarrier Lite (GRY)"; picture="\A3\characters_f_Beta\Data\UI\icon_V_I_Vest_01_ca.paa"; model="A3\Characters_F_Beta\INDEP\equip_ia_vest01"; hiddenSelectionsTextures[]= { "eo_vests\data\eo_platecarrier_2.paa" }; descriptionShort="$STR_A3_SP_AL_III"; class ItemInfo: ItemInfo { uniformModel="A3\Characters_F_Beta\INDEP\equip_ia_vest01"; containerClass="Supply120"; mass=80; class HitpointsProtectionInfo { class Chest { hitpointName="HitChest"; armor=16; passThrough=0.30000001; }; class Diaphragm { hitpointName="HitDiaphragm"; armor=16; passThrough=0.30000001; }; class Abdomen { hitpointName="HitAbdomen"; armor=16; passThrough=0.30000001; }; class Body { hitpointName="HitBody"; passThrough=0.30000001; }; }; }; }; class eo_platecarrier_3: Vest_Camo_Base { author="EO"; scope=2; displayName="EO PlateCarrier Rig (GRY)"; picture="\A3\characters_f_Beta\Data\UI\icon_V_I_Vest_02_ca.paa"; model="A3\Characters_F_Beta\INDEP\equip_ia_vest02"; hiddenSelectionsTextures[]= { "eo_vests\data\eo_platecarrier_2.paa" }; descriptionShort="$STR_A3_SP_AL_III"; class ItemInfo: ItemInfo { uniformModel="A3\Characters_F_Beta\INDEP\equip_ia_vest02"; containerClass="Supply120"; mass=80; class HitpointsProtectionInfo { class Chest { hitpointName="HitChest"; armor=16; passThrough=0.30000001; }; class Diaphragm { hitpointName="HitDiaphragm"; armor=16; passThrough=0.30000001; }; class Abdomen { hitpointName="HitAbdomen"; armor=16; passThrough=0.30000001; }; class Pelvis { hitpointName="HitPelvis"; armor=16; passThrough=0.30000001; }; class Body { hitpointName="HitBody"; passThrough=0.30000001; }; }; }; }; class eo_platecarrier_4: Vest_Camo_Base { author="EO"; scope=2; displayName="EO PlateCarrier Lite (DIGI)"; picture="\A3\characters_f_Beta\Data\UI\icon_V_I_Vest_01_ca.paa"; model="A3\Characters_F_Beta\INDEP\equip_ia_vest01"; hiddenSelectionsTextures[]= { "eo_vests\data\eo_platecarrier_3.paa" }; descriptionShort="$STR_A3_SP_AL_III"; class ItemInfo: ItemInfo { uniformModel="A3\Characters_F_Beta\INDEP\equip_ia_vest01"; containerClass="Supply120"; mass=80; class HitpointsProtectionInfo { class Chest { hitpointName="HitChest"; armor=16; passThrough=0.30000001; }; class Diaphragm { hitpointName="HitDiaphragm"; armor=16; passThrough=0.30000001; }; class Abdomen { hitpointName="HitAbdomen"; armor=16; passThrough=0.30000001; }; class Body { hitpointName="HitBody"; passThrough=0.30000001; }; }; }; }; class eo_platecarrier_5: Vest_Camo_Base { author="EO"; scope=2; displayName="EO PlateCarrier Rig (DIGI)"; picture="\A3\characters_f_Beta\Data\UI\icon_V_I_Vest_02_ca.paa"; model="A3\Characters_F_Beta\INDEP\equip_ia_vest02"; hiddenSelectionsTextures[]= { "eo_vests\data\eo_platecarrier_3.paa" }; descriptionShort="$STR_A3_SP_AL_III"; class ItemInfo: ItemInfo { uniformModel="A3\Characters_F_Beta\INDEP\equip_ia_vest02"; containerClass="Supply120"; mass=80; class HitpointsProtectionInfo { class Chest { hitpointName="HitChest"; armor=16; passThrough=0.30000001; }; class Diaphragm { hitpointName="HitDiaphragm"; armor=16; passThrough=0.30000001; }; class Abdomen { hitpointName="HitAbdomen"; armor=16; passThrough=0.30000001; }; class Pelvis { hitpointName="HitPelvis"; armor=16; passThrough=0.30000001; }; class Body { hitpointName="HitBody"; passThrough=0.30000001; }; }; }; }; class eo_eodvest_1: Vest_Camo_Base { author="EO"; scope=2; displayName="EO EOD Vest (IDAP)"; model="\A3\Characters_F_Orange\Vests\V_EOD_vest_F.p3d"; hiddenSelections[]= { "Camo", "Camo2" }; hiddenSelectionsTextures[]= { "eo_vests\data\eo_eodvest_1.paa", "eo_vests\data\eo_eodprotection_1.paa" }; descriptionShort="$STR_A3_SP_ER"; class ItemInfo: ItemInfo { uniformModel="\A3\Characters_F_Orange\Vests\V_EOD_vest_F.p3d"; containerClass="Supply30"; mass=65; hiddenSelections[]= { "Camo", "Camo2" }; class HitpointsProtectionInfo { class Neck { hitpointName="HitNeck"; armor=8; passThrough=0.5; }; class Arms { hitpointName="HitArms"; armor=8; passThrough=0.5; }; class Chest { hitpointName="HitChest"; armor=78; passThrough=0.60000002; }; class Diaphragm { hitpointName="HitDiaphragm"; armor=78; passThrough=0.60000002; }; class Abdomen { hitpointName="HitAbdomen"; armor=16; passThrough=0.30000001; }; class Pelvis { hitpointName="HitPelvis"; armor=16; passThrough=0.30000001; }; class Body { hitpointName="HitBody"; passThrough=0.60000002; }; }; }; }; class eo_eodvest_2: Vest_Camo_Base { author="EO"; scope=2; displayName="EO EOD Vest (BRN)"; model="\A3\Characters_F_Orange\Vests\V_EOD_vest_F.p3d"; hiddenSelections[]= { "Camo", "Camo2" }; hiddenSelectionsTextures[]= { "eo_vests\data\eo_eodvest_2.paa", "eo_vests\data\eo_eodprotection_2.paa" }; descriptionShort="$STR_A3_SP_ER"; class ItemInfo: ItemInfo { uniformModel="\A3\Characters_F_Orange\Vests\V_EOD_vest_F.p3d"; containerClass="Supply30"; mass=65; hiddenSelections[]= { "Camo", "Camo2" }; class HitpointsProtectionInfo { class Neck { hitpointName="HitNeck"; armor=8; passThrough=0.5; }; class Arms { hitpointName="HitArms"; armor=8; passThrough=0.5; }; class Chest { hitpointName="HitChest"; armor=78; passThrough=0.60000002; }; class Diaphragm { hitpointName="HitDiaphragm"; armor=78; passThrough=0.60000002; }; class Abdomen { hitpointName="HitAbdomen"; armor=16; passThrough=0.30000001; }; class Pelvis { hitpointName="HitPelvis"; armor=16; passThrough=0.30000001; }; class Body { hitpointName="HitBody"; passThrough=0.60000002; }; }; }; }; class eo_eodvest_3: Vest_Camo_Base { author="EO"; scope=2; displayName="EO EOD Vest (BLK)"; model="\A3\Characters_F_Orange\Vests\V_EOD_vest_F.p3d"; hiddenSelections[]= { "Camo", "Camo2" }; hiddenSelectionsTextures[]= { "eo_vests\data\eo_eodvest_3.paa", "eo_vests\data\eo_eodprotection_3.paa" }; descriptionShort="$STR_A3_SP_ER"; class ItemInfo: ItemInfo { uniformModel="\A3\Characters_F_Orange\Vests\V_EOD_vest_F.p3d"; containerClass="Supply30"; mass=65; hiddenSelections[]= { "Camo", "Camo2" }; class HitpointsProtectionInfo { class Neck { hitpointName="HitNeck"; armor=8; passThrough=0.5; }; class Arms { hitpointName="HitArms"; armor=8; passThrough=0.5; }; class Chest { hitpointName="HitChest"; armor=78; passThrough=0.60000002; }; class Diaphragm { hitpointName="HitDiaphragm"; armor=78; passThrough=0.60000002; }; class Abdomen { hitpointName="HitAbdomen"; armor=16; passThrough=0.30000001; }; class Pelvis { hitpointName="HitPelvis"; armor=16; passThrough=0.30000001; }; class Body { hitpointName="HitBody"; passThrough=0.60000002; }; }; }; }; class eo_legstrapbag_1: Vest_Camo_Base { author="EO"; scope=2; displayName="EO Leg Strap Bag (BLK) "; model="A3\Characters_F_Orange\Vests\V_LegStrapBag_f.p3d"; hiddenSelections[]= { "Camo" }; hiddenSelectionsTextures[]= { "eo_vests\data\eo_legstrapbag_1.paa" }; class ItemInfo: ItemInfo { uniformModel="A3\Characters_F_Orange\Vests\V_LegStrapBag_f.p3d"; containerClass="Supply80"; mass=15; class HitpointsProtectionInfo { class Legs { hitpointName="HitLegs"; armor=0; passThrough=0.1; }; }; }; }; class eo_legstrapbag_2: Vest_Camo_Base { author="EO"; scope=2; displayName="EO Leg Strap Bag (BRN)"; model="A3\Characters_F_Orange\Vests\V_LegStrapBag_f.p3d"; hiddenSelections[]= { "Camo" }; hiddenSelectionsTextures[]= { "eo_vests\data\eo_legstrapbag_2.paa" }; class ItemInfo: ItemInfo { uniformModel="A3\Characters_F_Orange\Vests\V_LegStrapBag_f.p3d"; containerClass="Supply80"; mass=15; class HitpointsProtectionInfo { class Legs { hitpointName="HitLegs"; armor=0; passThrough=0.1; }; }; }; }; class eo_legstrapbag_3: Vest_Camo_Base { author="EO"; scope=2; displayName="EO Leg Strap Bag (GRY)"; model="A3\Characters_F_Orange\Vests\V_LegStrapBag_f.p3d"; hiddenSelections[]= { "Camo" }; hiddenSelectionsTextures[]= { "eo_vests\data\eo_legstrapbag_3.paa" }; class ItemInfo: ItemInfo { uniformModel="A3\Characters_F_Orange\Vests\V_LegStrapBag_f.p3d"; containerClass="Supply80"; mass=15; class HitpointsProtectionInfo { class Legs { hitpointName="HitLegs"; armor=0; passThrough=0.1; }; }; }; }; class eo_legstrapbag_4: Vest_Camo_Base { author="EO"; scope=2; displayName="EO Leg Strap Bag (GRN)"; model="A3\Characters_F_Orange\Vests\V_LegStrapBag_f.p3d"; hiddenSelections[]= { "Camo" }; hiddenSelectionsTextures[]= { "eo_vests\data\eo_legstrapbag_4.paa" }; class ItemInfo: ItemInfo { uniformModel="A3\Characters_F_Orange\Vests\V_LegStrapBag_f.p3d"; containerClass="Supply80"; mass=15; class HitpointsProtectionInfo { class Legs { hitpointName="HitLegs"; armor=0; passThrough=0.1; }; }; }; }; class eo_multipocket_1: Vest_Camo_Base { author="EO"; scope=2; displayName="EO Multi-Pocket Vest (Black)"; model="\A3\Characters_F_Orange\Vests\V_Pocketed_cloth_F.p3d"; hiddenSelections[]= { "Camo" }; hiddenSelectionsTextures[]= { "eo_vests\data\eo_multipocket_1.paa" }; class ItemInfo: ItemInfo { uniformModel="\A3\Characters_F_Orange\Vests\V_Pocketed_cloth_F.p3d"; containerClass="Supply70"; mass=15; class HitpointsProtectionInfo { class Chest { hitpointName="HitChest"; armor=2; passThrough=0.89999998; }; class Diaphragm { hitpointName="HitDiaphragm"; armor=2; passThrough=0.89999998; }; class Abdomen { hitpointName="HitAbdomen"; armor=2; passThrough=0.89999998; }; class Body { hitpointName="HitBody"; passThrough=0.89999998; }; }; }; }; class eo_multipocket_2: Vest_Camo_Base { author="EO"; scope=2; displayName="EO Multi-Pocket Vest (Coyote)"; model="\A3\Characters_F_Orange\Vests\V_Pocketed_cloth_F.p3d"; hiddenSelections[]= { "Camo" }; hiddenSelectionsTextures[]= { "eo_vests\data\eo_multipocket_2.paa" }; class ItemInfo: ItemInfo { uniformModel="\A3\Characters_F_Orange\Vests\V_Pocketed_cloth_F.p3d"; containerClass="Supply70"; mass=15; class HitpointsProtectionInfo { class Chest { hitpointName="HitChest"; armor=2; passThrough=0.89999998; }; class Diaphragm { hitpointName="HitDiaphragm"; armor=2; passThrough=0.89999998; }; class Abdomen { hitpointName="HitAbdomen"; armor=2; passThrough=0.89999998; }; class Body { hitpointName="HitBody"; passThrough=0.89999998; }; }; }; }; class eo_multipocket_3: Vest_Camo_Base { author="EO"; scope=2; displayName="EO Multi-Pocket Vest (Olive)"; model="\A3\Characters_F_Orange\Vests\V_Pocketed_cloth_F.p3d"; hiddenSelections[]= { "Camo" }; hiddenSelectionsTextures[]= { "eo_vests\data\eo_multipocket_3.paa" }; class ItemInfo: ItemInfo { uniformModel="\A3\Characters_F_Orange\Vests\V_Pocketed_cloth_F.p3d"; containerClass="Supply70"; mass=15; class HitpointsProtectionInfo { class Chest { hitpointName="HitChest"; armor=2; passThrough=0.89999998; }; class Diaphragm { hitpointName="HitDiaphragm"; armor=2; passThrough=0.89999998; }; class Abdomen { hitpointName="HitAbdomen"; armor=2; passThrough=0.89999998; }; class Body { hitpointName="HitBody"; passThrough=0.89999998; }; }; }; }; class eo_multipocket_4: Vest_Camo_Base { author="EO"; scope=2; displayName="EO Multi-Pocket Vest (Tiger)"; model="\A3\Characters_F_Orange\Vests\V_Pocketed_cloth_F.p3d"; hiddenSelections[]= { "Camo" }; hiddenSelectionsTextures[]= { "eo_vests\data\eo_multipocket_4.paa" }; class ItemInfo: ItemInfo { uniformModel="\A3\Characters_F_Orange\Vests\V_Pocketed_cloth_F.p3d"; containerClass="Supply70"; mass=15; class HitpointsProtectionInfo { class Chest { hitpointName="HitChest"; armor=2; passThrough=0.89999998; }; class Diaphragm { hitpointName="HitDiaphragm"; armor=2; passThrough=0.89999998; }; class Abdomen { hitpointName="HitAbdomen"; armor=2; passThrough=0.89999998; }; class Body { hitpointName="HitBody"; passThrough=0.89999998; }; }; }; }; class eo_multipocket_5: Vest_Camo_Base { author="EO"; scope=2; displayName="EO Multi-Pocket Vest (Smog)"; model="\A3\Characters_F_Orange\Vests\V_Pocketed_cloth_F.p3d"; hiddenSelections[]= { "Camo" }; hiddenSelectionsTextures[]= { "eo_vests\data\eo_multipocket_5.paa" }; class ItemInfo: ItemInfo { uniformModel="\A3\Characters_F_Orange\Vests\V_Pocketed_cloth_F.p3d"; containerClass="Supply70"; mass=15; class HitpointsProtectionInfo { class Chest { hitpointName="HitChest"; armor=2; passThrough=0.89999998; }; class Diaphragm { hitpointName="HitDiaphragm"; armor=2; passThrough=0.89999998; }; class Abdomen { hitpointName="HitAbdomen"; armor=2; passThrough=0.89999998; }; class Body { hitpointName="HitBody"; passThrough=0.89999998; }; }; }; }; class eo_bandolier_1: Vest_Camo_Base { author="EO"; scope=2; displayName="EO Bandolier (BLK)"; model="\A3\Characters_F\BLUFOR\equip_b_bandolier"; hiddenSelectionsTextures[]= { "eo_vests\data\eo_bandolier_1.paa" }; class ItemInfo: ItemInfo { uniformModel="\A3\Characters_F\BLUFOR\equip_b_bandolier.p3d"; containerClass="Supply80"; mass=15; class HitpointsProtectionInfo { class Chest { hitpointName="HitChest"; armor=2; passThrough=0.29999998; }; }; }; }; class eo_bandolier_2: Vest_Camo_Base { author="EO"; scope=2; displayName="EO Bandolier (OLI)"; model="\A3\Characters_F\BLUFOR\equip_b_bandolier"; hiddenSelectionsTextures[]= { "eo_vests\data\eo_bandolier_2.paa" }; class ItemInfo: ItemInfo { uniformModel="\A3\Characters_F\BLUFOR\equip_b_bandolier.p3d"; containerClass="Supply80"; mass=15; class HitpointsProtectionInfo { class Chest { hitpointName="HitChest"; armor=2; passThrough=0.29999998; }; }; }; }; class eo_bandolier_3: Vest_Camo_Base { author="EO"; scope=2; displayName="EO Bandolier (GRN)"; model="\A3\Characters_F\BLUFOR\equip_b_bandolier"; hiddenSelectionsTextures[]= { "eo_vests\data\eo_bandolier_3.paa" }; class ItemInfo: ItemInfo { uniformModel="\A3\Characters_F\BLUFOR\equip_b_bandolier.p3d"; containerClass="Supply80"; mass=15; class HitpointsProtectionInfo { class Chest { hitpointName="HitChest"; armor=2; passThrough=0.29999998; }; }; }; }; class eo_bandolier_4: Vest_Camo_Base { author="EO"; scope=2; displayName="EO Bandolier (KHK)"; model="\A3\Characters_F\BLUFOR\equip_b_bandolier"; hiddenSelectionsTextures[]= { "eo_vests\data\eo_bandolier_4.paa" }; class ItemInfo: ItemInfo { uniformModel="\A3\Characters_F\BLUFOR\equip_b_bandolier.p3d"; containerClass="Supply80"; mass=15; class HitpointsProtectionInfo { class Chest { hitpointName="HitChest"; armor=2; passThrough=0.29999998; }; }; }; }; class eo_rangemaster_1: Vest_Camo_Base { author="EO"; scope=2; displayName="EO RangeMaster Belt (BLK)"; picture="\A3\Characters_F\data\ui\icon_V_Belt_CA.paa"; model="\A3\Characters_F\BLUFOR\equip_b_belt"; hiddenSelectionsTextures[]= { "eo_vests\data\eo_bandolier_1.paa" }; class ItemInfo: ItemInfo { uniformModel="\A3\Characters_F\BLUFOR\equip_b_belt.p3d"; containerClass="Supply50"; mass=5; }; }; class eo_rangemaster_2: Vest_Camo_Base { author="EO"; scope=2; displayName="EO RangeMaster Belt (OLI)"; picture="\A3\Characters_F\data\ui\icon_V_Belt_CA.paa"; model="\A3\Characters_F\BLUFOR\equip_b_belt"; hiddenSelectionsTextures[]= { "eo_vests\data\eo_bandolier_2.paa" }; class ItemInfo: ItemInfo { uniformModel="\A3\Characters_F\BLUFOR\equip_b_belt.p3d"; containerClass="Supply50"; mass=5; }; }; class eo_rangemaster_3: Vest_Camo_Base { author="EO"; scope=2; displayName="EO RangeMaster Belt (GRN)"; picture="\A3\Characters_F\data\ui\icon_V_Belt_CA.paa"; model="\A3\Characters_F\BLUFOR\equip_b_belt"; hiddenSelectionsTextures[]= { "eo_vests\data\eo_bandolier_3.paa" }; class ItemInfo: ItemInfo { uniformModel="\A3\Characters_F\BLUFOR\equip_b_belt.p3d"; containerClass="Supply50"; mass=5; }; }; class eo_rangemaster_4: Vest_Camo_Base { author="EO"; scope=2; displayName="EO RangeMaster Belt (KHK)"; picture="\A3\Characters_F\data\ui\icon_V_Belt_CA.paa"; model="\A3\Characters_F\BLUFOR\equip_b_belt"; hiddenSelectionsTextures[]= { "eo_vests\data\eo_bandolier_4.paa" }; class ItemInfo: ItemInfo { uniformModel="\A3\Characters_F\BLUFOR\equip_b_belt.p3d"; containerClass="Supply50"; mass=5; }; }; class eo_deckvest_1: Vest_Camo_Base { author="EO"; scope=2; displayName="EO Deck Crew Vest (BRN)"; picture="\A3\Characters_F_Jets\Vests\Data\UI\icon_V_DeckCrew_green_ca.paa"; uniformModel="\A3\Characters_F_Jets\Vests\V_DeckCrew_F"; hiddenSelectionsTextures[]= { "eo_vests\data\eo_deckvest_1.paa" }; descriptionShort="$STR_A3_SP_AL_II"; class ItemInfo: ItemInfo { uniformModel="\A3\Characters_F_Jets\Vests\V_DeckCrew_F.p3d"; containerClass="Supply50"; mass=100; class HitpointsProtectionInfo { class Chest { hitpointName="HitChest"; armor=12; passThrough=0.40000001; }; class Diaphragm { hitpointName="HitDiaphragm"; armor=12; passThrough=0.40000001; }; class Abdomen { hitpointName="HitAbdomen"; armor=12; passThrough=0.40000001; }; class Body { hitpointName="HitBody"; passThrough=0.40000001; }; }; }; }; class eo_deckvest_2: Vest_Camo_Base { author="EO"; scope=2; displayName="EO Deck Crew Vest (GRN)"; picture="\A3\Characters_F_Jets\Vests\Data\UI\icon_V_DeckCrew_green_ca.paa"; uniformModel="\A3\Characters_F_Jets\Vests\V_DeckCrew_F"; hiddenSelectionsTextures[]= { "eo_vests\data\eo_deckvest_2.paa" }; descriptionShort="$STR_A3_SP_AL_II"; class ItemInfo: ItemInfo { uniformModel="\A3\Characters_F_Jets\Vests\V_DeckCrew_F.p3d"; containerClass="Supply50"; mass=100; class HitpointsProtectionInfo { class Chest { hitpointName="HitChest"; armor=12; passThrough=0.40000001; }; class Diaphragm { hitpointName="HitDiaphragm"; armor=12; passThrough=0.40000001; }; class Abdomen { hitpointName="HitAbdomen"; armor=12; passThrough=0.40000001; }; class Body { hitpointName="HitBody"; passThrough=0.40000001; }; }; }; }; class eo_tacvest_1: Vest_Camo_Base { author="EO"; scope=2; displayName="EO Tactical Vest (Police)"; picture="\A3\characters_f\Data\UI\icon_V_TacVest_blk_CA.paa"; model="A3\Characters_F\Common\equip_tacticalvest"; hiddenSelectionsTextures[]= { "eo_vests\data\eo_tacvest_1.paa" }; descriptionShort="$STR_A3_SP_AL_I"; class ItemInfo: ItemInfo { uniformModel="A3\Characters_F\Common\equip_tacticalvest"; containerClass="Supply120"; mass=50; class HitpointsProtectionInfo { class Chest { hitpointName="HitChest"; armor=12; passThrough=0.40000001; }; class Diaphragm { hitpointName="HitDiaphragm"; armor=12; passThrough=0.40000001; }; class Abdomen { hitpointName="HitAbdomen"; armor=12; passThrough=0.40000001; }; class Body { hitpointName="HitBody"; passThrough=0.40000001; }; }; }; }; class eo_tacvest_2: Vest_Camo_Base { author="EO"; scope=2; displayName="EO Tactical Vest (Dark Camo)"; picture="\A3\Characters_F\data\ui\icon_V_TacVest_camo_CA.paa"; model="A3\Characters_F\Common\equip_tacticalvest"; hiddenSelectionsTextures[]= { "eo_vests\data\eo_tacvest_2.paa" }; descriptionShort="$STR_A3_SP_AL_I"; class ItemInfo: ItemInfo { uniformModel="A3\Characters_F\Common\equip_tacticalvest"; containerClass="Supply100"; mass=40; class HitpointsProtectionInfo { class Chest { hitpointName="HitChest"; armor=8; passThrough=0.5; }; class Diaphragm { hitpointName="HitDiaphragm"; armor=8; passThrough=0.5; }; class Abdomen { hitpointName="HitAbdomen"; armor=8; passThrough=0.5; }; class Body { hitpointName="HitBody"; passThrough=0.5; }; }; }; }; class eo_tacvest_3: Vest_Camo_Base { author="EO"; scope=2; displayName="EO Tactical Vest (RVG)"; picture="\A3\characters_f\Data\UI\icon_V_TacVest_blk_CA.paa"; model="A3\Characters_F\Common\equip_tacticalvest"; hiddenSelectionsTextures[]= { "eo_vests\data\eo_tacvest_3.paa" }; descriptionShort="$STR_A3_SP_AL_I"; class ItemInfo: ItemInfo { uniformModel="A3\Characters_F\Common\equip_tacticalvest"; containerClass="Supply140"; mass=50; class HitpointsProtectionInfo { class Chest { hitpointName="HitChest"; armor=14; passThrough=0.30000001; }; class Diaphragm { hitpointName="HitDiaphragm"; armor=14; passThrough=0.30000001; }; class Abdomen { hitpointName="HitAbdomen"; armor=14; passThrough=0.30000001; }; class Body { hitpointName="HitBody"; passThrough=0.30000001; }; }; }; }; class eo_tacvest_4: Vest_Camo_Base { author="EO"; scope=2; displayName="EO Tactical Vest (Camo)"; picture="\A3\Characters_F\data\ui\icon_V_TacVest_camo_CA.paa"; model="A3\Characters_F\Common\equip_tacticalvest"; hiddenSelectionsTextures[]= { "eo_vests\data\eo_tacvest_4.paa" }; descriptionShort="$STR_A3_SP_AL_I"; class ItemInfo: ItemInfo { uniformModel="A3\Characters_F\Common\equip_tacticalvest"; containerClass="Supply100"; mass=40; class HitpointsProtectionInfo { class Chest { hitpointName="HitChest"; armor=8; passThrough=0.5; }; class Diaphragm { hitpointName="HitDiaphragm"; armor=8; passThrough=0.5; }; class Abdomen { hitpointName="HitAbdomen"; armor=8; passThrough=0.5; }; class Body { hitpointName="HitBody"; passThrough=0.5; }; }; }; }; class eo_ravenvest_1: Vest_Camo_Base { author="EO"; scope=2; displayName="EO Raven Vest (BLK)"; picture="\A3\characters_f\Data\UI\icon_V_TacVestIR_blk_CA.paa"; model="\A3\Characters_F_Beta\INDEP\equip_ir_vest01"; descriptionShort="$STR_A3_SP_AL_I"; hiddenSelections[]= { "camo1", "camo2" }; hiddenSelectionsTextures[]= { "eo_vests\data\eo_raven_1.paa", "eo_vests\data\eo_raven_2.paa" }; class ItemInfo: ItemInfo { uniformModel="\A3\Characters_F_Beta\INDEP\equip_ir_vest01"; containerClass="Supply140"; mass=50; hiddenSelections[]= { "camo1", "camo2" }; class HitpointsProtectionInfo { class Chest { hitpointName="HitChest"; armor=8; passThrough=0.5; }; class Diaphragm { hitpointName="HitDiaphragm"; armor=8; passThrough=0.5; }; class Abdomen { hitpointName="HitAbdomen"; armor=8; passThrough=0.5; }; class Body { hitpointName="HitBody"; passThrough=0.5; }; }; }; }; class eo_chestrig: Vest_Camo_Base { author="EO"; scope=2; displayName="EO Chest Rig"; picture="\A3\Characters_F_Exp\Data\UI\icon_V_TacChestrig_cbr_ca.paa"; model="\A3\Characters_F_Exp\Common\equip_TacChestrig.p3d"; hiddenSelectionsTextures[]= { "eo_vests\data\eo_chestrig.paa" }; descriptionShort="$STR_A3_SP_AL_I"; class ItemInfo: ItemInfo { uniformModel="\A3\Characters_F_Exp\Common\equip_TacChestrig.p3d"; hiddenSelections[]= { "camo" }; containerClass="Supply140"; mass=20; }; class HitpointsProtectionInfo { class Chest { hitpointName="HitChest"; armor=8; passThrough=0.5; }; class Diaphragm { hitpointName="HitDiaphragm"; armor=8; passThrough=0.5; }; class Abdomen { hitpointName="HitAbdomen"; armor=8; passThrough=0.5; }; class Body { hitpointName="HitBody"; passThrough=0.5; }; }; }; }; Edit: When I put together one of my packs I found it a much easier process to make separate pbo's for each piece of gear, i think it helps keep the configs tidier and easier to work with. 1 Share this post Link to post Share on other sites
lordfrith 401 Posted January 10, 2020 4 hours ago, tenentecardoso said: I've inserted a comment at the lines of classes that I am not using, since you said I had to call them all. If that's not what you meant with having to call them all, sorry. I really have no programming experience. the snippet i posted was to show you that you could have hitpoints for areas other than just the chest on a vest so that might have been why your addon vest didn't seem to have much protection. by copying that snippet over you've actually added some more errors! the comment about calling your base classes was a bit confusing but you don't want huge sections of commented out stuff that isn't needed in the config anyway, you just want the classes from the vanilla game (like you call B_Soldier_F to make your soldier)and your new entries. See EO's example is good for that when you comment with // its only removing that line, so when it reads next line that will cause an error too! for example to delete "Custom_Uniform_SS" from your config you'd have to remove class Custom_Uniform_SS: B_soldier_F { author = "Astartes"; _generalMacro = "B_soldier_F"; scope = 2; displayName = "Custom Team Leader"; identityTypes[] = {"Head_NATO", "G_NATO_default"}; genericNames = "NATOMen"; faction = "Custom_Faction"; model = "\A3\characters_f_beta\INDEP\ia_soldier_02.p3d"; //NATO Rolled Up Sleeves uniformClass = "Custom_Camo_SS"; hiddenSelections[] = {"Camo","Insignia"}; hiddenSelectionsTextures[] = {"Custom_Uniform\Data\custom_camo_co.paa"}; hiddenSelectionsMaterials[] = {"Custom_Uniform\Data\custom_camo.rvmat"}; weapons[] = {"arifle_TRG20_ACO_Flash_F","Throw","Put"}; respawnWeapons[] = {"arifle_TRG20_ACO_Flash_F","Throw","Put"}; magazines[] = {"HandGrenade","HandGrenade","SmokeShell","SmokeShellGreen","Chemlight_green","Chemlight_green"}; respawnMagazines[] = {"HandGrenade","HandGrenade","SmokeShell","SmokeShellGreen","Chemlight_green","Chemlight_green"}; linkedItems[] = {"CUstom_Helmet1","Custom_Vest2","ItemMap","ItemCompass","ItemWatch","ItemRadio"}; respawnLinkedItems[] = {"CUstom_Helmet1","Custom_Vest2","ItemMap","ItemCompass","ItemWatch","ItemRadio"}; }; no programming experience here either other than messing about with arma so no worries mate, if it hasn't driven you crazy already feel free to post the next attempt 1 Share this post Link to post Share on other sites
tenentecardoso 16 Posted January 11, 2020 Thank you guys for the help. I decided to start from scratch, and this time it actually worked. Im also beginning to understand the logic of the config.cpp, so things are getting easier. Ill post a link for the mod when its ready. 2 Share this post Link to post Share on other sites
Ex3B 266 Posted January 14, 2020 Glad to hear that your start from scratch worked. However, what I see around line 268 is this: Spoiler //class cfgWeapons //************************************************************************************************************************************************************************************************ //***** Headgear ********************************************************************************************************************************************************* //************************************************************************************************************************************************************************************************{ class H_HelmetB; class HeadgearItem; class Custom_Helmet1: H_HelmetB { I think that " { " is the problem. You closed class cfgWeapons after your vests section. It seems you weapon to reopen it (defining it twice) for your headgear section. You then commented out the class cfgWeapons, but not the " { ". Delete the }; from the end of your vests config (this part:) Spoiler class Custom_Vest1: Vest_Camo_Base { author = "Ventspils1944"; scope = 2; displayName = "OMEGA Platecarrier Heavy"; picture = "-"; model = "A3\Characters_F\BLUFOR\equip_b_Vest01.p3d"; hiddenSelectionsTextures[] = {"Custom_Uniform\Data\custom_vest_co.paa"}; hiddenSelectionsMaterials[] = {"Custom_Uniform\Data\custom_vest.rvmat"}; class ItemInfo: ItemInfo { uniformModel = "A3\Characters_F\BLUFOR\equip_b_Vest01.p3d"; containerClass = Supply140; mass = 70; class HitpointsProtectionInfo //more info at: https://community.bistudio.com/wiki/Arma_3_Soldier_Protection { class Chest { hitPointName = "HitChest"; armor = 30; passThrough = 0.3; }; }; }; };}; and that } from the start of your headgear part, and that problem should be solved. 1 Share this post Link to post Share on other sites
tenentecardoso 16 Posted April 11, 2020 Hello, guys. The mod is actually live right now. Thank you all for the help! https://steamcommunity.com/sharedfiles/filedetails/?id=2056222211 Share this post Link to post Share on other sites