Jump to content
Vespa

Arma3 Characters Modding Tutorial

Recommended Posts

If your packing the TEST folder it should be ok, T1_Beret is your classname to use.

Are your model paths correct?

Share this post


Link to post
Share on other sites

Yup, all the model paths are correct.

Still not packing the texture into the .pbo, does it have anything todo with the hiddenSelectionsTextures[] path?

Thats the code I have at the moment.

enum {
 //  = 2,	// Error parsing: Empty enum name
DESTRUCTENGINE = 2,
DESTRUCTDEFAULT = 6,
DESTRUCTWRECK = 7,
DESTRUCTTREE = 3,
DESTRUCTTENT = 4,
STABILIZEDINAXISX = 1,
STABILIZEDINAXESXYZ = 4,
STABILIZEDINAXISY = 2,
STABILIZEDINAXESBOTH = 3,
DESTRUCTNO = 0,
STABILIZEDINAXESNONE = 0,
DESTRUCTMAN = 5,
DESTRUCTBUILDING = 1,
};

class CfgPatches {
class T1_Beret {
	units[] = {};
	weapons[] = {};
	requiredVersion = 0.1;
	requiredAddons[] = {};
};
};






class cfgWeapons {
class ItemCore;
class HeadgearItem;

class T1_Beret : ItemCore {
	scope = 2;
	weaponPoolAvailable = 1;
	displayName = "Team One Tactical Beret";
	picture = "\A3\characters_f_epb\BLUFOR\Data\UI\icon_h_beret02_ca.paa";
	model = "\A3\Characters_f_epb\BLUFOR\headgear_beret02";
	hiddenSelections[] = {"camo"};
	hiddenSelectionsTextures[] = {"T1T\data\headgear_beret02_co.paa"};

	class ItemInfo : HeadgearItem {
		mass = 100;
		uniformModel = "\A3\Characters_f_epb\BLUFOR\headgear_beret02";
		modelSides[] = {3, 1};
		armor = 0;
		passThrough = 0;
		hiddenSelections[] = {"camo"};
	};
};
};

And this is my hierarchy for the files.

6ZBoo.png

Edited by zurf3r

Share this post


Link to post
Share on other sites

I'm on the dev branch and I don't see this model "\A3\Characters_f_epb\BLUFOR\headgear_beret02". This is the only beret model I can find "\A3\Characters_F\Common\headgear_beret01"

hiddenSelectionsTextures[] path is fine if you are packing the T1T folder.

Does your texture load ok in Texview2?

Share this post


Link to post
Share on other sites

Thats wierd, beacuse its there for me

6ZGDw.png

The headgear_beret02 spawns perfectly fine for me with its normal classname, H_Beret_02

My texture loaded completly fine in Texview2.

Share this post


Link to post
Share on other sites

Found it, I didn't realise they had released a new characters pbo.

Are you sure you are loading your addon correctly, can you see your class in the in game config viewer?

Share this post


Link to post
Share on other sites

Nothing in the config viewer...

Still dont understand why the texture wont pack...

Thats the way its supposed too be placed right?

6ZIUk.jpg

Share this post


Link to post
Share on other sites

Aight, that worked perfectly, I can see the item if have it in my inventory or if its in a box.

Gives me the typical

Cannot load texture t1t\data\headgear_beret02_co.paa.

So the fact that the textures doesnt pack into the .pbo, is there anyway i can fix that?

Share this post


Link to post
Share on other sites

No problem, with Binarized ticked you may need to add this line to 'List of files to copy directly' in options to get the paa to pack.

*.pac;*.paa;*.rtm;*.sqf;*.sqs;*.bikb;*.fsm;*.wss;*.ogg;*.wav;*.fxy;*.csv;*.html;*.lip;*.txt;*.bisurf;*.shp;

Share this post


Link to post
Share on other sites

Hi, is there any new way of creating uniforms? Because in my old mod, the uniforms are removed from units, now I've created new kind of addon (creating uniforms as usualy) and the uniforms are removed again. Other mods works just fine, my basic uniform code is like this:

	class Cz_Wood_Uniform : Uniform_Base {
	scope = 2;
	displayName = "Czech SpecRes Woodland Uniform";
	model = "\A3\characters_F\BLUFOR\b_soldier_01.p3d";
	hiddenselectionstextures[] = {"CzchSpcRspns\Data\Wear\Cz_Wood_Uniform.paa"};

	class ItemInfo : UniformItem {
		uniformModel = "-";
		uniformClass = "SpecResWoodSoldier";
		containerClass = "Supply40";
		mass = 80;
	};
};

The uniforms works when I equip them from box (or adding adduniform in unit's init)...so, what am I doing wrong and the others not?

Share this post


Link to post
Share on other sites

Still the same.

class U_B_CombatUniform_mcam: Uniform_Base
{
	scope = 2;
	displayName = "$STR_A3_Combat_fatigues";
	picture = "\A3\characters_f\data\ui\icon_U_B_CombatUniform_mcam_ca.paa";
	model = "\A3\Characters_F\Common\Suitpacks\suitpack_blufor_diver";
	class ItemInfo: UniformItem
	{
		uniformModel = "-";
		uniformClass = "B_Soldier_F";
		containerClass = "Supply40";
		mass = 40;
	};
};

class Cz_Wood_Uniform : Uniform_Base
{
scope = 2;
displayName = "Czech SpecRes Woodland Uniform";
picture = "\A3\characters_f\data\ui\icon_U_B_CombatUniform_mcam_ca.paa";
model = "\A3\Characters_F\Common\Suitpacks\suitpack_blufor_diver";
class ItemInfo : UniformItem
{
	uniformModel = "-";
	uniformClass = "SpecResWoodSoldier";
	containerClass = "Supply40";
	mass = 40;
};
};

Share this post


Link to post
Share on other sites

I want to add three uniforms to my mod but when I use the editor there's only one, could anyone help me with the code?

How I can add other uniforms? This is the mod with only one uniform:

enum {
    //  = 2,    // Error parsing: Empty enum name
   DESTRUCTENGINE = 2,
   DESTRUCTDEFAULT = 6,
   DESTRUCTWRECK = 7,
   DESTRUCTTREE = 3,
   DESTRUCTTENT = 4,
   STABILIZEDINAXISX = 1,
   STABILIZEDINAXESXYZ = 4,
   STABILIZEDINAXISY = 2,
   STABILIZEDINAXESBOTH = 3,
   DESTRUCTNO = 0,
   STABILIZEDINAXESNONE = 0,
   DESTRUCTMAN = 5,
   DESTRUCTBUILDING = 1,
};

class CfgPatches {
   class example_retexture_config {
       units[] = {};
       weapons[] = {};
       requiredVersion = 0.1;
       requiredAddons[] = {"A3_Characters_F_BLUFOR"};
   };
};

class CfgVehicles {

   class B_Soldier_base_F;

   class Example_Soldier_F : B_Soldier_base_F {
       _generalMacro = "B_Soldier_F"; 
       scope = 2;
       displayName = "Uniforme Bosque";
       nakedUniform = "U_BasicBody"; 
       uniformClass = "Example_CombatUniform_mcam"; 
       hiddenSelections[] = {"Camo"};
       hiddenSelectionsTextures[] = {"Unif\data\Camiset.paa"};

       linkedItems[] = {"example_PlateCarrier1_rgr", "example_HelmetB", "NVGoggles", "ItemMap", "ItemCompass", "ItemWatch", "ItemRadio"};
       respawnLinkedItems[] = {"example_PlateCarrier1_rgr", "example_HelmetB", "NVGoggles", "ItemMap", "ItemCompass", "ItemWatch", "ItemRadio"};
   };

};

class cfgWeapons {
   class Uniform_Base;
   class UniformItem;

   class Example_CombatUniform_mcam : Uniform_Base {
       scope = 2;
       displayName = "Example Mcam uniform";
       picture = "\A3\characters_f\data\ui\icon_U_B_CombatUniform_mcam_ca.paa";
       model = "\A3\Characters_F\Common\Suitpacks\suitpack_blufor_diver";

       class ItemInfo : UniformItem {
           uniformModel = "-";
           uniformClass = "Example_Soldier_F"; 
           containerClass = "Supply20"; 
           mass = 80; //how much it weights
       };
   };

   class ItemCore;
   class HeadgearItem;

   class example_HelmetB : ItemCore {
       scope = 2;
       weaponPoolAvailable = 1;
       displayName = "Example helmet";
       picture = "\A3\characters_f\Data\UI\icon_H_HelmetB_CA.paa";
       model = "\A3\Characters_F\BLUFOR\headgear_b_helmet_ballistic";
       hiddenSelections[] = {"camo"};
       hiddenSelectionsTextures[] = {"Unif\data\Casc.paa"};

       class ItemInfo : HeadgearItem {
           mass = 100;
           uniformModel = "\A3\Characters_F\BLUFOR\headgear_b_helmet_ballistic";
           modelSides[] = {3, 1};
           armor = 3*0.5;
           passThrough = 0.8;
           hiddenSelections[] = {"camo"};
       };
   };

   class Vest_Camo_Base;
   class VestItem;

   class example_PlateCarrier1_rgr : Vest_Camo_Base {
       scope = 2;
       displayName = "Example Platecarrier";
       picture = "\A3\characters_f\Data\UI\icon_V_plate_carrier_1_CA.paa";
       model = "\A3\Characters_F\BLUFOR\equip_b_vest02";
       hiddenSelections[] = {"camo"};
       hiddenSelectionsTextures[] = {"Unif\data\Chalec.paa"};

       class ItemInfo : VestItem {
           uniformModel = "\A3\Characters_F\BLUFOR\equip_b_vest02";
           containerClass = "Supply100";
           mass = 50;
           armor = 5*0.5;
           passThrough = 0.7;
           hiddenSelections[] = {"camo"};
       };
   };
}; 

Share this post


Link to post
Share on other sites

For each uniform class you create you need a unit class that is wearing the uniform, so the game knows which model and textures to use.

class CfgPatches {
   class elminster1000_retexture_config {
       units[] = {};
       weapons[] = {};
       requiredVersion = 0.1;
       requiredAddons[] = {"A3_Characters_F", "A3_Characters_F_BLUFOR"};
   };
};

class CfgVehicles {

   class B_Soldier_base_F;

   class elminster1000_Soldier_F_01 : B_Soldier_base_F {
       _generalMacro = "B_Soldier_F"; 
       scope = 2;
       displayName = "Uniforme Bosque";
       nakedUniform = "U_BasicBody"; 
       uniformClass = "elminster1000_CombatUniform_mcam_01"; 
       hiddenSelections[] = {"Camo"};
       hiddenSelectionsTextures[] = {"Unif\data\Camiset.paa"};

       linkedItems[] = {"elminster1000_PlateCarrier1_rgr", "elminster1000_HelmetB", "NVGoggles", "ItemMap", "ItemCompass", "ItemWatch", "ItemRadio"};
       respawnLinkedItems[] = {"elminster1000_PlateCarrier1_rgr", "elminster1000_HelmetB", "NVGoggles", "ItemMap", "ItemCompass", "ItemWatch", "ItemRadio"};
   };
class elminster1000_Soldier_F_02 : B_Soldier_base_F {
       _generalMacro = "B_Soldier_F"; 
       scope = 2;
       displayName = "Uniforme Bosque";
       nakedUniform = "U_BasicBody"; 
       uniformClass = "elminster1000_CombatUniform_mcam_02"; 
       hiddenSelections[] = {"Camo"};
       hiddenSelectionsTextures[] = {"Unif\data\Camiset.paa"};

       linkedItems[] = {"elminster1000_PlateCarrier1_rgr", "elminster1000_HelmetB", "NVGoggles", "ItemMap", "ItemCompass", "ItemWatch", "ItemRadio"};
       respawnLinkedItems[] = {"elminster1000_PlateCarrier1_rgr", "elminster1000_HelmetB", "NVGoggles", "ItemMap", "ItemCompass", "ItemWatch", "ItemRadio"};
   };
class elminster1000_Soldier_F_03 : B_Soldier_base_F {
       _generalMacro = "B_Soldier_F"; 
       scope = 2;
       displayName = "Uniforme Bosque";
       nakedUniform = "U_BasicBody"; 
       uniformClass = "elminster1000_CombatUniform_mcam_03"; 
       hiddenSelections[] = {"Camo"};
       hiddenSelectionsTextures[] = {"Unif\data\Camiset.paa"};

       linkedItems[] = {"elminster1000_PlateCarrier1_rgr", "elminster1000_HelmetB", "NVGoggles", "ItemMap", "ItemCompass", "ItemWatch", "ItemRadio"};
       respawnLinkedItems[] = {"elminster1000_PlateCarrier1_rgr", "elminster1000_HelmetB", "NVGoggles", "ItemMap", "ItemCompass", "ItemWatch", "ItemRadio"};
   };

};

class cfgWeapons {
   class Uniform_Base;
   class UniformItem;

   class elminster1000_CombatUniform_mcam_01 : Uniform_Base {
       scope = 2;
       displayName = "Example Mcam uniform";
       picture = "\A3\characters_f\data\ui\icon_U_B_CombatUniform_mcam_ca.paa";
       model = "\A3\Characters_F\Common\Suitpacks\suitpack_blufor_diver";

       class ItemInfo : UniformItem {
           uniformModel = "-";
           uniformClass = "elminster1000_Soldier_F_01"; 
           containerClass = "Supply20"; 
           mass = 80; //how much it weights
       };
   };
class elminster1000_CombatUniform_mcam_02 : Uniform_Base {
       scope = 2;
       displayName = "Example Mcam uniform";
       picture = "\A3\characters_f\data\ui\icon_U_B_CombatUniform_mcam_ca.paa";
       model = "\A3\Characters_F\Common\Suitpacks\suitpack_blufor_diver";

       class ItemInfo : UniformItem {
           uniformModel = "-";
           uniformClass = "elminster1000_Soldier_F_02"; 
           containerClass = "Supply20"; 
           mass = 80; //how much it weights
       };
   };
class elminster1000_CombatUniform_mcam_03 : Uniform_Base {
       scope = 2;
       displayName = "Example Mcam uniform";
       picture = "\A3\characters_f\data\ui\icon_U_B_CombatUniform_mcam_ca.paa";
       model = "\A3\Characters_F\Common\Suitpacks\suitpack_blufor_diver";

       class ItemInfo : UniformItem {
           uniformModel = "-";
           uniformClass = "elminster1000_Soldier_F_03"; 
           containerClass = "Supply20"; 
           mass = 80; //how much it weights
       };
   };

   class ItemCore;
   class HeadgearItem;

   class elminster1000_HelmetB : ItemCore {
       scope = 2;
       weaponPoolAvailable = 1;
       displayName = "Example helmet";
       picture = "\A3\characters_f\Data\UI\icon_H_HelmetB_CA.paa";
       model = "\A3\Characters_F\BLUFOR\headgear_b_helmet_ballistic";
       hiddenSelections[] = {"camo"};
       hiddenSelectionsTextures[] = {"Unif\data\Casc.paa"};

       class ItemInfo : HeadgearItem {
           mass = 100;
           uniformModel = "\A3\Characters_F\BLUFOR\headgear_b_helmet_ballistic";
           modelSides[] = {3, 1};
           armor = 3*0.5;
           passThrough = 0.8;
           hiddenSelections[] = {"camo"};
       };
   };

   class Vest_Camo_Base;
   class VestItem;

   class elminster1000_PlateCarrier1_rgr : Vest_Camo_Base {
       scope = 2;
       displayName = "Example Platecarrier";
       picture = "\A3\characters_f\Data\UI\icon_V_plate_carrier_1_CA.paa";
       model = "\A3\Characters_F\BLUFOR\equip_b_vest02";
       hiddenSelections[] = {"camo"};
       hiddenSelectionsTextures[] = {"Unif\data\Chalec.paa"};

       class ItemInfo : VestItem {
           uniformModel = "\A3\Characters_F\BLUFOR\equip_b_vest02";
           containerClass = "Supply100";
           mass = 50;
           armor = 5*0.5;
           passThrough = 0.7;
           hiddenSelections[] = {"camo"};
       };
   };
};  

Share this post


Link to post
Share on other sites
For each uniform class you create you need a unit class that is wearing the uniform, so the game knows which model and textures to use.

Thank you surpher! Another question, what size do the icons have? I tried 16*16px, 32*32px and 64*64px but it didn't work

Edited by elminster1000

Share this post


Link to post
Share on other sites

Do you mean the icons that appear on the map in the editor or the images in the inventory.

Share this post


Link to post
Share on other sites
The images for the uniforms,vests and helmets are 256x256 pixels in size.

Thank you again!!

Edited by elminster1000

Share this post


Link to post
Share on other sites

Units have a icon = "iconMan"; setting, I don't know if there are other options or if you can use you own .paa.

Share this post


Link to post
Share on other sites

use filetype as in icon_h_beret02_black_ca.paa

Share this post


Link to post
Share on other sites

like

picture = "T1T\data\UI\icon_h_beret02_black_ca.paa";

?

Beacuse I tried the code above already, and that gives the same error.

Edited by zurf3r

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

×