Jump to content

Recommended Posts

I have this config for adding new uniforms to my mod.

 

    class U_B_soldier_wdl: Uniform_Base
    {
        author = "Splendid Modder";
        scope = 2;
        displayName = "Combat Fatigues Woodland.";
        picture = "\A3\characters_f\data\ui\icon_U_B_CombatUniform_mcam_CA.paa";
        model = "\A3\Characters_F\Common\Suitpacks\suitpack_blufor_soldier.p3d";
        hiddenSelections[] = {"camo"};
        hiddenSelectionsTextures[] = {"\a3\characters_f\BLUFOR\Data\clothing_wdl_co.paa"};

        class ItemInfo: UniformItem
        {
            uniformModel = "-";
            uniformClass = B_soldier_new;
            containerClass = Supply40;
            mass = 40;
        };
    };

    class U_B_soldier_grey: Uniform_Base
    {
        author = "Splendid Modder";
        scope = 2;
        displayName = "Combat Fatigues Urban.";
        picture = "\A3\characters_f\data\ui\icon_U_B_CombatUniform_mcam_CA.paa";
        model = "\A3\Characters_F\Common\Suitpacks\suitpack_blufor_soldier.p3d";
        hiddenSelections[] = {"camo"};
        hiddenSelectionsTextures[] = {"\a3\characters_f\BLUFOR\Data\clothing_sage_co.paa"};

        class ItemInfo: UniformItem
        {
            uniformModel = "-";
            uniformClass = B_soldier_new;
            containerClass = Supply40;
            mass = 40;
        };
    };

The woodland camo is available even if I click the Sage uniform. Have I duplicated something somewhere? I have a unit in my config that I have added the uniforms to and it is available in the Virtual Arsenal, but I have a typo somewhere. Can someone peer review this and tell me where I went wrong? Thanks. I have already setup CfgPatches properly.

Share this post


Link to post
Share on other sites

because both are inheriting their uniforms from this

 

uniformClass = B_soldier_new;

They should be different for the different characters.
 

Share this post


Link to post
Share on other sites
class U_B_soldier_wdl: Uniform_Base
    {
        author = "Splendid Modder";
        scope = 2;
        displayName = "Combat Fatigues Woodland.";
        picture = "\A3\characters_f\data\ui\icon_U_B_CombatUniform_mcam_CA.paa";
        model = "\A3\Characters_F\Common\Suitpacks\suitpack_blufor_soldier.p3d";
        hiddenSelections[] = {"camo"};
        hiddenSelectionsTextures[] = {"\a3\characters_f\BLUFOR\Data\clothing_wdl_co.paa"};

        class ItemInfo: UniformItem
        {
            uniformModel = "-";
            uniformClass = B_soldier_new;
            containerClass = Supply40;
            mass = 40;
        };
    };

    class U_B_soldier_grey: Uniform_Base
    {
        author = "Splendid Modder";
        scope = 2;
        displayName = "Combat Fatigues Urban.";
        picture = "\A3\characters_f\data\ui\icon_U_B_CombatUniform_mcam_CA.paa";
        model = "\A3\Characters_F\Common\Suitpacks\suitpack_blufor_soldier.p3d";
        hiddenSelections[] = {"camo"};
        hiddenSelectionsTextures[] = {"\a3\characters_f\BLUFOR\Data\clothing_sage_co.paa"};

        class ItemInfo: UniformItem
        {
            uniformModel = "-";
            uniformClass = B_soldier_new_alpha;
            containerClass = Supply40;
            mass = 40;
        };
    };

You were using "B_soldier_new" in both uniforms in the config.  Check out the bottom uniformClass.  Should work now.

 

Scott out !

Share this post


Link to post
Share on other sites

I realize this is an old thread, but I have a very similar question...

I' trying to make an armored suit for NATO that would be similar in performance to the Viper suit+Helmet.

 

Here is my config:

Spoiler

class CfgPatches
{
    class A3_InfantryArmors
    {
        addonRootClass="A3_Armor_F_Beta";
        requiredAddons[]=
        {
            "A3_Characters_F_Exp",
            "A3_Characters_F"
        };
        requiredVersion=0.1;
        units[]=
        {
            "B_Soldier_Armor_F",
        };
        weapons[]=
        {
            "U_B_Soldier_Armor_F",
            "H_Helmet_Armor"
        };
    };
};
            //"O_T_Soldier_NoArmor_F",
            //"B_CTRG_Soldier_Armor_F",
            //"O_PilotCoveralls_NoArmor",
            //"O_T_FullGhillie_tna_NoArmor_F",
            //"O_FullGhillie_sard_NoArmor",

        //    "U_O_T_Soldier_NoArmor_F",
        //    "U_B_CTRG_Soldier_Armor_F",
        //    "U_O_PilotCoveralls_NoArmor",
        //    "U_O_T_FullGhillie_tna_NoArmor_F",
        //    "U_O_FullGhillie_sard_NoArmor",

class CfgMovesFatigue;
class CfgVehicles
{
    class Land;
    class Man;
    class B_Soldier_base_F;
    class B_Soldier_F;
    class B_Soldier_Armor_F: B_Soldier_F
    {
        displayName="Armored Soldier";
        uniformClass="U_B_Soldier_Armor_F";
        scope=2;
        hiddenSelectionsTextures[]=
        {
            "\a3\characters_f\BLUFOR\Data\clothing_wdl_co.paa"
        };
        role="Heavy Rifleman";
        class HitPoints
        {
            class HitFace
            {
                armor=1;
                material=-1;
                name="face_hub";
                passThrough=0.80000001;
                radius=0.079999998;
                explosionShielding=0.1;
                minimalHit=0.0099999998;
            };
            class HitNeck: HitFace
            {
                armor=6;
                material=-1;
                name="neck";
                passThrough=0.80000001;
                radius=0.1;
                explosionShielding=0.5;
                minimalHit=0.0099999998;
            };
            class HitHead: HitNeck
            {
                armor=1;
                material=-1;
                name="head";
                passThrough=0.80000001;
                radius=0.2;
                explosionShielding=0.5;
                minimalHit=0.0099999998;
                depends="HitFace max HitNeck";
            };
            class HitPelvis: HitHead
            {
                armor=8;
                material=-1;
                name="pelvis";
                passThrough=0.33000001;
                radius=0.23999999;
                explosionShielding=1;
                visual="injury_body";
                minimalHit=0.0099999998;
                depends="";
            };
            class HitAbdomen: HitPelvis
            {
                armor=8;
                material=-1;
                name="spine1";
                passThrough=0.33000001;
                radius=0.16;
                explosionShielding=1;
                visual="injury_body";
                minimalHit=0.0099999998;
            };
            class HitDiaphragm: HitAbdomen
            {
                armor=8;
                material=-1;
                name="spine2";
                passThrough=0.33000001;
                radius=0.18000001;
                explosionShielding=1.5;
                visual="injury_body";
                minimalHit=0.0099999998;
            };
            class HitChest: HitDiaphragm
            {
                armor=8;
                material=-1;
                name="spine3";
                passThrough=0.33000001;
                radius=0.18000001;
                explosionShielding=1.5;
                visual="injury_body";
                minimalHit=0.0099999998;
            };
            class HitBody: HitChest
            {
                armor=1000;
                material=-1;
                name="body";
                passThrough=1;
                radius=0;
                explosionShielding=1.5;
                visual="injury_body";
                minimalHit=0.0099999998;
                depends="HitPelvis max HitAbdomen max HitDiaphragm max HitChest";
            };
            class HitArms: HitBody
            {
                armor=8;
                material=-1;
                name="arms";
                passThrough=0.69999999;
                radius=0.1;
                explosionShielding=0.1;
                visual="injury_hands";
                minimalHit=0.0099999998;
                depends="";
            };
            class HitHands: HitArms
            {
                armor=8;
                material=-1;
                name="hands";
                passThrough=0.69999999;
                radius=0.1;
                explosionShielding=0.1;
                visual="injury_hands";
                minimalHit=0.0099999998;
                depends="HitArms";
            };
            class HitLegs: HitHands
            {
                armor=8;
                material=-1;
                name="legs";
                passThrough=0.69999999;
                radius=0.14;
                explosionShielding=0.1;
                visual="injury_legs";
                minimalHit=0.0099999998;
                depends="";
            };
            class Incapacitated: HitLegs
            {
                armor=1000;
                material=-1;
                name="body";
                passThrough=1;
                radius=0;
                explosionShielding=1;
                visual="";
                minimalHit=0;
                depends="(((Total - 0.25) max 0) + ((HitHead - 0.25) max 0) + ((HitBody - 0.25) max 0)) * 1.45";
            };
        };
        armor=2;
        armorStructural=4;
        explosionShielding=0.40000001;
    };
};
class CfgWeapons
{
    class InventoryItem_Base_F;
    class ItemCore;
    class U_BasicBody;
    class U_Uniform_Base;
    class U_B_CombatUniform_wdl;
    class U_B_CombatUniform_mcam;
    class U_B_Soldier_Armor_F: U_B_CombatUniform_mcam
    {
        displayName="Armored Combat Suit";
        scope=2;
        picture="\A3\characters_f\data\ui\icon_U_B_CombatUniform_mcam_ca.paa";
        model="\A3\Characters_F\Common\Suitpacks\suitpack_universal_F.p3d";
        hiddenSelections[]=
        {
            "camo"
        };
        hiddenSelectionsTextures[]=
        {
            "\A3\Characters_F\Common\Suitpacks\data\suitpack_soldier_blufor_co.paa"
        };
        class ItemInfo: UniformItem
        {
            uniformModel="-";
            uniformClass="B_Soldier_Armor_F";
            containerClass="Supply40";
            mass=50;
        };
    };
    class HeadgearItem;
    class ItemInfo;
    class H_HelmetB_TI_tna_F;
    class H_Helmet_Armor: H_HelmetB_TI_tna_F
    {
        displayName="Armored Combat Helmet";
        class HeadgearItem;
        class ItemInfo;
        class ItemInfo: HeadgearItem
        {
            mass=80;
            uniformModel="\A3\Characters_F_Exp\BLUFOR\H_HelmetB_TI_tna_F.p3d";
            hiddenSelections[]=
            {
                "camo"
            };
            modelSides[]={0,3};
            class HitpointsProtectionInfo
            {
                class Head
                {
                    hitpointName="HitHead";
                    armor=12;
                    passThrough=0.5;
                };
                class Face
                {
                    hitpointName="HitFace";
                    armor=8;
                    passThrough=0.5;
                };
            };
        };
    };
};

I can't get the helmet, the soldier, or the uniform to show up... can any one spot what is wrong with my config?

 

*edit, my genius-arsch had the file extension wrong (.cfg instead of .cpp)

Still, I get the following errors:

noentry 'bin\config.bin/CfgWeapons/ItemInfo.scope'

error: creating weapon UniformItem with scope=private

noentry 'bin\config.bin/CfgWeapons/UniformItem.displayName'

 

The helmet shows up, the soldier shows up with the uniform, but I can't assign the uniform to others, adn it doesn't show up in inventory

Share this post


Link to post
Share on other sites
On 5.1.2019 at 2:56 PM, Ex3B said:

    class HeadgearItem;
    class ItemInfo;
    class H_HelmetB_TI_tna_F;
    class H_Helmet_Armor: H_HelmetB_TI_tna_F
    {
        displayName="Armored Combat Helmet";
        class HeadgearItem;
        class ItemInfo;
        class ItemInfo: HeadgearItem

You have the forward declarations of HeadgearItem and itemInfo duplicated. Also you cannot have a forward declaration AND a definition in the same spot.

 

Share this post


Link to post
Share on other sites

Please sign in to comment

You will be able to leave a comment after signing in



Sign In Now

×