Jump to content
Sign in to follow this  
ch27

Independent Uniform Config

Recommended Posts

I am making a retexture of the Indep uniform. could someone please post the config.cpp of the Indep uniform so i can edit it. Sorry, but i don't know where to get it and I could not find it anywhere.

Share this post


Link to post
Share on other sites

Independant faction can be found here: characters_f_beta.pbo.

Good luck.

Abs

Share this post


Link to post
Share on other sites

I'm talking about the code for the independent uniform. I don't really know any of these terms so sorry if I used the wrong wording or was unclear. I need the config for it that I can edit to create a retextured soldier.

Share this post


Link to post
Share on other sites
I'm talking about the code for the independent uniform. I don't really know any of these terms so sorry if I used the wrong wording or was unclear. I need the config for it that I can edit to create a retextured soldier.

Yeah so is he. He's referring to a PBO file that lives in your "Addons" folder in the root (top) directory of Arma. These files can be opened with PBO Manager. You will need BI-TOOLS (search this site) in order to look inside and pack your own file (PBO'S)

Just a quick rundown of how all this works.....

Within characters_f_beta.pbo. you will find a few different types of files. The Config is only one. There are textures (you will need to look at theses) and model files (3D Character models etc) ....these are all related.

For instance, Textures. Have a look around the directory structure of characters_f_beta.pbo. PAA files (texture files) need to be opened with TextView2. This can then save out as TGA file so you can load it up in Photoshop or similar. These are basically templates for models (they wrap around all entities in Arma) There are templates for vehicles, animals, people, dragonflies etc)

The most difficulties you will experience will be with config files. They will be your biggest hurdle. But you need to learn the syntax and how it applies to what you want to do. Have a good look around this forum as you will find plenty of example configs. You can rip em to pieces and make them your own. There is no easy way around this. You need at least a basic understanding of how it all fits together.

,,,,,there is much more to tell you but this is the basic principal of how you might go about porting custom stuff into the engine. This forum is the most valuable asset you will find. Search it and you find the iinfo required.

Zeo

Share this post


Link to post
Share on other sites

enum {
 = 2,
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 My_Mod_Config
   {
       units[] = {"UNIT_THAT_WEARS_THE_UNIFORM_CLASSNAME";};
       weapons[] = {};
       requiredVersion = 0.1;
       requiredAddons[] = {"A3_Characters_F"};
   };
};

class cfgWeapons
//////////////////////////////////////////////////////////////////////////////////////////////////
{
   class Uniform_Base;
class UniformItem;
   class ItemInfo;

class U_I_CombatUniform;

class Retextured_Indep_Uniform : U_I_CombatUniform
   {
               scope = 2;
               displayName = "Name that shows up in-game";
	author = "My Name";
	picture = "";

       class ItemInfo : UniformItem {
           uniformModel = "-";
           uniformClass = "UNIT_THAT_WEARS_THE_UNIFORM_CLASSNAME";
           containerClass = "Supply30";
           mass = 70;
       };
};
}	

//////////////////////////////////////////////////////////////////////////////////////////////////
class CfgVehicles
{	
class I_Soldier_base_F;
class I_soldier_F;
//////////////////////////////////////////////////////////////	

class UNIT_THAT_WEARS_THE_UNIFORM_CLASSNAME : I_soldier_F
   {
               scope = 2;
               displayName = "name of unit in editor";
	author = "my name";
	nakedUniform = "U_BasicBody";
               uniformClass = "Retextured_Indep_Uniform";
               hiddenSelections[] = {"Camo"};
               hiddenSelectionsTextures[] = {"my pbo name\data\Retextured_Indep_Uniform.paa"};

	identityTypes[] = {"Head_NATO", "G_NATO_default"}; // to prevent the unit from getting old man greek face.. can be left out
	side = 1; // making the unit a blufor.. leave out if you want unit to stay on the independent side

	backpack = "B_Parachute";
              linkedItems[] = {"ItemMap","ItemCompass","ItemWatch","ItemRadio","FirstAidKit"}; // add helmet & vest classname to this list
               respawnLinkedItems[] = {"G_Combat","ItemMap","ItemCompass","ItemWatch","ItemRadio","FirstAidKit"}; // add helmet & vest classname to this list
	Weapons[] = {"Throw","Put"}; // only add rifle & / pistol classname, leave throw and put they are used for explosives and grenades
	respawnWeapons[] = {"Throw","Put"}; // only add rifle & / pistol classname, leave throw and put they are used for explosives and grenades
	Magazines[] = {}; // add the rifles/ pistols magazine here
	respawnMagazines[] = {}; // add the rifles/ pistols magazine here
   };

};

Haven't tested it, but should work. :)

save as config.cpp

Share this post


Link to post
Share on other sites

Ok, thanks guys.

---------- Post added at 09:07 PM ---------- Previous post was at 08:22 PM ----------

So I edited the config that Thomas posted. I can't get the addon to work though. After I packed everything into a pbo and put that in arma 3>@(mod name)>addons, I unpacked it using eliteness. From what I can tell, everything looks fine except the config.cpp is nowhere in the pbo. Is this normal? Also, does anyone have other ideas on what I could have done wrong? Maybe some common mistakes? Thanks

Share this post


Link to post
Share on other sites

Are you using eliteness to pack into a .pbo? If so use Binpbo.

Share this post


Link to post
Share on other sites

I am using Binpbo, I just unpacked it with Elitness to check if it worked.

Share this post


Link to post
Share on other sites

I restarted on everything and used ItsThomas's code. I cannot get it to work. There are no errors in the game when I try to load it, nothing is there. The unit is not in the game at all. I'm assuming this has something to do with the code. Could someone maybe test Thomas's code to see if it does work? It is probably something on my end though. Also, could someone please tell me how to put in a code box? I'd like to post my code on here but I forgot how to do it.

Share this post


Link to post
Share on other sites

Ok, thanks surpher. Here is my code:

enum {
 = 2,
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 My_Mod_Config
   {
       units[] = {"Irish_Peacekeeper";};
       weapons[] = {};
       requiredVersion = 0.1;
       requiredAddons[] = {"A3_Characters_F"};
   };
};

class cfgWeapons
//////////////////////////////////////////////////////////////////////////////////////////////////
{
   class Uniform_Base;
class UniformItem;
   class ItemInfo;

class U_I_CombatUniform;

class Retextured_Indep_Uniform : U_I_CombatUniform
   {
               scope = 2;
               displayName = "Irish_Uniform";
	author = "Chase";
	picture = "";

       class ItemInfo : UniformItem {
           uniformModel = "-";
           uniformClass = "Irish_Peacekeepers";
           containerClass = "Supply30";
           mass = 70;
       };
};
}	

//////////////////////////////////////////////////////////////////////////////////////////////////
class CfgVehicles
{	
class I_Soldier_base_F;
class I_soldier_F;
//////////////////////////////////////////////////////////////	

class Irish_Peacekeeper : I_soldier_F
   {
               scope = 2;
               displayName = "Irish_Peacekeeper";
	author = "my name";
	nakedUniform = "U_BasicBody";
               uniformClass = "Irish_Uniform";
               hiddenSelections[] = {"Camo"};
               hiddenSelectionsTextures[] = {"idf1.pbo\data\idf1.paa"};

	identityTypes[] = {"Head_NATO", "G_NATO_default"}; 
	side = 1;

	backpack = "B_Parachute";
              linkedItems[] = {"ItemMap","ItemCompass","ItemWatch","ItemRadio","FirstAidKit"}; 
               respawnLinkedItems[] = {"G_Combat","ItemMap","ItemCompass","ItemWatch","ItemRadio","FirstAidKit"}; 
	Weapons[] = {"Throw","Put"}; // only add rifle & / pistol classname, leave throw and put they are used for explosives and grenades
	respawnWeapons[] = {"Throw","Put"}; 
	Magazines[] = {}; 
	respawnMagazines[] = {}; 
   };

};

Share this post


Link to post
Share on other sites

I have marked the lines I have edited.

enum {
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 My_Mod_Config
   {
       units[] = {"Irish_Peacekeeper";};
       weapons[] = {};
       requiredVersion = 0.1;
       requiredAddons[] = {"A3_Characters_F"};
   };
};

class cfgWeapons
//////////////////////////////////////////////////////////////////////////////////////////////////
{
   class Uniform_Base;
   class UniformItem;
   class ItemInfo;

   class U_I_CombatUniform;

   class Irish_Uniform: U_I_CombatUniform //Edited
   {
	scope = 2;
	displayName = "Irish_Uniform";
       author = "Chase";
       picture = "";

       class ItemInfo : UniformItem {
           uniformModel = "-";
           uniformClass = "Irish_Peacekeeper"; //Edited
           containerClass = "Supply30";
           mass = 70;
       };
   };
}    

//////////////////////////////////////////////////////////////////////////////////////////////////
class CfgVehicles
{    
   class I_Soldier_base_F;
   class I_soldier_F;
//////////////////////////////////////////////////////////////    

   class Irish_Peacekeeper : I_soldier_F
   {
	scope = 2;
	displayName = "Irish_Peacekeeper";
       author = "my name";
       nakedUniform = "U_BasicBody";
	uniformClass = "Irish_Uniform";
	hiddenSelections[] = {"Camo"};
	hiddenSelectionsTextures[] = {"idf1\data\idf1_co.paa"}; //Edited
	//hiddenSelectionsTextures[] = {"#(rgb,8,8,3)color(0.93,0,0.55,1)"}; //Texture for testing

       identityTypes[] = {"Head_NATO", "G_NATO_default"}; 
       side = 1;

       backpack = "B_Parachute";
	linkedItems[] = {"ItemMap","ItemCompass","ItemWatch","ItemRadio","FirstAidKit"}; 
	respawnLinkedItems[] = {"G_Combat","ItemMap","ItemCompass","ItemWatch","ItemRadio","FirstAidKit"}; 
       Weapons[] = {"Throw","Put"}; // only add rifle & / pistol classname, leave throw and put they are used for explosives and grenades
       respawnWeapons[] = {"Throw","Put"}; 
       Magazines[] = {}; 
       respawnMagazines[] = {}; 
   };
};  

Drop the .pbo extension from your texture path and re-save your paa with the _co suffix.

Share this post


Link to post
Share on other sites

Great thank you surpher. I will try it when I get home.

Share this post


Link to post
Share on other sites

Well, I tried that and it still did not work. Any ideas? If it did work, where would it show up? It would create its own indep faction and then it would have "Irish Peacekeeper" as the unit right?

Share this post


Link to post
Share on other sites

When I first insert a unit onto the map in the editor your unit shows first (Blufor|AAF|Men|Irish_Peacekeeper).

Try this ch27_indep.zip (contains a working pbo and a work folder).

Share this post


Link to post
Share on other sites

Ok, so I tried your .pbo and i got the unit with the pink jumpsuit. I unpacked it with elitness and there is no .paa. How did you do that? Also, the config.cpp had the same texture path, so how did it become a man with a pink suit?

Thanks

Edited by ch27

Share this post


Link to post
Share on other sites

It is a procedural texture for testing.

Remove this line, or comment it out by adding // to the beginning of the line.

hiddenSelectionsTextures[] = {"#(rgb,8,8,3)color(0.93,0,0.55,1)"};

Uncomment this line by removing the // from the beginning of the line so the unit uses your texture.

//hiddenSelectionsTextures[] = {"idf1\data\idf1_co.paa"};

Share this post


Link to post
Share on other sites

It worked! Thank you Surpher. I am editing the config to add weapons, mags, and a new backpack. Can you please tell me what I would add to give the unit a vest and headgear?

And also, how would I make the unit on the Indep side instead of Blufor? It is a UN peacekeeper so it's supposed to be neutral.

Share this post


Link to post
Share on other sites

Example config including vest and headgear, not tested.

enum {
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 My_Mod_Config
   {
       units[] = {"Irish_Peacekeeper";};
       weapons[] = {};
       requiredVersion = 0.1;
       requiredAddons[] = {"A3_Characters_F"};
   };
};

class cfgWeapons
//////////////////////////////////////////////////////////////////////////////////////////////////
{
   class Uniform_Base;
   class UniformItem;
   class ItemInfo;

   class U_I_CombatUniform;

   class Irish_Uniform: U_I_CombatUniform //Edited
   {
	scope = 2;
	displayName = "Irish_Uniform";
       author = "Chase";
       picture = "";

       class ItemInfo : UniformItem {
           uniformModel = "-";
           uniformClass = "Irish_Peacekeeper"; //Edited
           containerClass = "Supply30";
           mass = 70;
       };
   };

class VestItem;
class Vest_Camo_Base: ItemCore
{
	class ItemInfo;
};

class yourTag_V_PlateCarrierIA1_dgtl: Vest_Camo_Base
{
	scope = 2;
	displayName = "$STR_A3_V_PlateCarrierIA1_dgtl0";
	picture = "\A3\characters_f_Beta\Data\UI\icon_V_I_Vest_01_ca.paa";
	model = "A3\Characters_F_Beta\INDEP\equip_ia_vest01";
	hiddenSelections[] = {"camo"};
	hiddenSelectionsTextures[] = {"#(rgb,8,8,3)color(0.93,0,0.55,1)"};
	class ItemInfo: VestItem
	{
		uniformModel = "A3\Characters_F_Beta\INDEP\equip_ia_vest01";
		containerClass = "Supply120";
		mass = 60;
		armor = "5*0.8";
		passThrough = 0.4;
		hiddenSelections[] = {"camo"};
	};
};

class H_HelmetB: ItemCore
{
	class ItemInfo;
};

class yourTag_H_HelmetIA: H_HelmetB
{
	displayName = "$STR_A3_H_HelmetIA0";
	picture = "\A3\characters_F_Beta\Data\UI\icon_H_I_Helmet_canvas_ca.paa";
	model = "\A3\Characters_F_Beta\INDEP\headgear_helmet_canvas";
	hiddenSelectionsTextures[] = {"\A3\Characters_F_Beta\INDEP\Data\headgear_helmet_canvas_co.paa"};
	class ItemInfo: ItemInfo
	{
		mass = 40;
		allowedSlots[] = {901,605};
		uniformModel = "\A3\Characters_F_Beta\INDEP\headgear_helmet_canvas.p3d";
		modelSides[] = {2,3};
		armor = "3*0.4";
		passThrough = 0.6;
	};
};
}    

//////////////////////////////////////////////////////////////////////////////////////////////////
class CfgVehicles
{    
   class I_Soldier_base_F;
   class I_soldier_F;
//////////////////////////////////////////////////////////////    

   class Irish_Peacekeeper : I_soldier_F
   {
	scope = 2;
	displayName = "Irish_Peacekeeper";
       author = "my name";
       nakedUniform = "U_BasicBody";
	uniformClass = "Irish_Uniform";
	hiddenSelections[] = {"Camo"};
	hiddenSelectionsTextures[] = {"idf1\data\idf1_co.paa"}; //Edited
	//hiddenSelectionsTextures[] = {"#(rgb,8,8,3)color(0.93,0,0.55,1)"}; //Texture for testing

       identityTypes[] = {"Head_NATO", "G_NATO_default"}; 
       //side = 1;

       backpack = "B_Parachute";
	linkedItems[] = {"yourTag_V_PlateCarrierIA1_dgtl","yourTag_H_HelmetIA","ItemMap","ItemCompass","ItemWatch","ItemRadio","NVGoggles_INDEP"};
	respawnLinkedItems[] = {"yourTag_V_PlateCarrierIA1_dgtl","yourTag_H_HelmetIA","ItemMap","ItemCompass","ItemWatch","ItemRadio","NVGoggles_INDEP"};
       Weapons[] = {"Throw","Put"}; // only add rifle & / pistol classname, leave throw and put they are used for explosives and grenades
       respawnWeapons[] = {"Throw","Put"}; 
       Magazines[] = {}; 
       respawnMagazines[] = {}; 
   };
};  

To change side remove side = 1; and your unit will inherit side = 2; from the I_soldier_F class.

Share this post


Link to post
Share on other sites

Thank you again. Could you maybe just make the .pbo and the whole mod file if I gave you the .paa file? I'm still a little bit confused because I have two .pbos in two different mod folders now. I have the .pbo that you gave me which seems to activate the original idf1_co.pbo. I don't really know what I am doing. If you would please use the config that you posted and the .paa which I could give you to pack it all together, I could then unpack it and use it as my example for future work. I understand if you don't want to but it would be a huge help to me because I am very confused with what I am doing haha.

Also, before when I unpacked .pbos, the config would be a .cpp so I could edit it. Now, whenever I unpack them, the configs are .bins. I downloaded a progam which makes them readable, but when I edit them and try to use them, the configs don't work and there is an error. Do you know how I can get them to be .cpps?

Edited by ch27

Share this post


Link to post
Share on other sites

Hey

In multiplayer, everyone can see the uniform clientside, but none of us can see each others uniform.

Edited by blacki999

Share this post


Link to post
Share on other sites

Hello again, I also have some questions (but take your time ofcourse)

When we pack our vest into the pbo (binpbo) we get the following error: error in config (pathname to config file)

this is our config:

enum {
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 NFP { 
       units[] = {}; 
       weapons[] = {}; 
       requiredVersion = 0.1; 
       requiredAddons[] = {"A3_Data_F","A3_Weapons_F","A3_Characters_F","A3_Characters_F_BLUFOR"}; 
   }; 
}; 

class CfgVehicles { 
   class I_Soldier_base_F; 

   class nfp_Soldier_F : I_Soldier_base_F { 
       _generalMacro = "B_Soldier_F"; //unsure what this does 
       scope = 2; 
       displayName = "nfp Green"; 
       uniformClass = "nfp_green"; //e.g. "Example_Soldier_F" 
       hiddenSelections[] = {"Camo"}; 
       hiddenSelectionsTextures[] = {"NFP\data\nfp_green_co.paa"}; // You need a texture or you will not see anything. You can use a procedural texture for testing "#(rgb,8,8,3)color(0.93,0,0.55,1)" 
}; 
 class nfp_Tan_F : I_Soldier_base_F { 
       _generalMacro = "B_Soldier_F"; //unsure what this does 
       scope = 2; 
       displayName = "nfp tan"; 
       uniformClass = "nfp_tan"; //e.g. "Example_Soldier_F" 
       hiddenSelections[] = {"Camo"}; 
       hiddenSelectionsTextures[] = {"NFP\data\nfp_tan_co.paa"}; // You need a texture or you will not see anything. You can use a procedural texture for testing "#(rgb,8,8,3)color(0.93,0,0.55,1)" 

}; 
}; 

class cfgWeapons { 
   class Uniform_Base; 
   class UniformItem;
class ItemInfo;


   class nfp_green : Uniform_Base { 
       scope = 2; 
       displayName = "nfp green"; 
       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 = "nfp_soldier_F"; //would be same as our made soldier class 
           containerClass = "Supply20"; //how much it can carry 
           mass = 80; //how much it weights 
     }; 
  }; 
  class nfp_tan : Uniform_Base { 
       scope = 2; 
       displayName = "nfp tan"; 
       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 = "nfp_tan_F"; //would be same as our made soldier class 
           containerClass = "Supply20"; //how much it can carry 
           mass = 80; //how much it weights 

       }; 
   }; 

class VestItem; 
   class Vest_Camo_Base: ItemCore 
   { 
       class ItemInfo; 
   }; 

class NFP_Plate_Carrier: Vest_Camo_Base {
 scope = 2;
 displayName = "NFP Carrier Green";
 picture = "\A3\characters_f\Data\UI\icon_V_plate_carrier_1_CA.paa";
 model = "\A3\characters_f_beta\indep\equip_ia_vest02.p3d";
 hiddenSelections[] = {"camo"};
 hiddenSelectionsTextures[] = {"NFP\data\od_carrier_co.paa"};

 class ItemInfo : VestItem {
  uniformModel = "\A3\characters_f_beta\indep\equip_ia_vest02.p3d";
  containerClass = "Supply100";
  mass = 50;
  armor = 5*0.5;
  passThrough = 0.7;
  hiddenSelections[] = {"camo"};
 };
};


};

can you tell us what we did wrong? :)

thank you for all your help! our gorka's worked and when we release the retexture mod we will add you to the credits.

Vilevirtus and Amendus

Share this post


Link to post
Share on other sites

I'm not sure, but you may be doing it right. Nothing I pack into a pbo works. Even if I unpack then immediately repack without any changes. addon builder is binpbo that you are using. Maybe someone can tell us exactly what all the addon builder options should say. Newer people to modding get lost a lot with the terms. I wish someone could make a tutorial on how to set it up correctly and which boxes need checked, etc. I used to just right click on my folder, click "create pbo" and it worked. I have had zero success in packing a pbo in arma 3. I was thinking maybe it had to do withthat pboprefix.txt.

As a work around, for you to check your textures in game, just put the textures in the mission folder then in the init of the soldier use the; this setObjectTexture [0,"yourpicturename"]; this setObjectTexture [1,"yourpicturename"]; that way you can see them ingame until you get the pbo working.

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
Sign in to follow this  

×