Forum Jump :

Author Message


Posts: 612
Rank:


Level: Member

Country: au
Location: Perth
Occupation: Arma Addict
Age: 20
In-game name: BroBeans

 
#1 Posted at 2015-03-15 05:02        
     
So recently I've seen a lot of the same question being asked and I'll be creating a detailed step-by-step guide on how to create your own units.
You're free to use this in your mods etc it is open source.
*This does not include the files to retexture*
this is availible to download here or you can copy parts out from this post


everything should be renamed to suit you're faction as this is just a template

the Config.cpp needs to be placed within a folder such as "Test/config.cpp"
among the config.cpp should be a folder called Data and placed in there should be all your textures/retextures
PLEASE NOTE: if you don't want to rexture units just remove from the config wherever it shows
hiddenSelections[] = {"camo"};
		hiddenSelectionsTextures[] = {"TEST\data\TEST_Gun_co.paa"}; // Path to your texture.

If you have any further questions post here, dont make a new thread as it is pointless, there are already too many out there.

Note: This is not a guide to compile a .pbo, this is only the config side of things.
Tools
PBO Manager v1.4 - Quick and simple but has less functions than A3 Tools
Arma 3 Tools - Can't go wrong. Has everything you need.

Updated as of 25/4/2017
Please comment if you run into any errors which are my fault

This post was edited by BroBeans (2017-04-26 08:26, 175 days ago)


Author Message


Posts: 1589
Rank:


Level: Member

Country: pf
Location: Tahiti
Occupation: too many Arma
Age: 57
In-game name: Kobayashi Maru

 
#2 Posted at 2015-05-13 04:02        
     
Thank you guy for this post.
How does it works in MP? I understand you can create a faction, some textures, and make an add_on or a mission to download.
But how it is in MP/server/client ? something to do for broadcasting these factions/ textures?

btw, i think side number is same as in config viewer. So 0 for Opfor, 1 for Blufor, 2 for independent (resistance), 3 for civilian.

PLEASE CONTACT ME ON BI FORUMS FOR ANY SCRIPT / MOD QUESTION. TKS

Advertisement


Author Message


Posts: 612
Rank:


Level: Member

Country: au
Location: Perth
Occupation: Arma Addict
Age: 20
In-game name: BroBeans

 
#3 Posted at 2015-05-14 09:16        
     
You're essentially creating your own mod. So for use on a server you just sign it (BI tool) and add it to the list of permitted mods


Author Message


Posts: 16
Rank:


Level: Member

Country: dk
Location:
Occupation:
Age:
In-game name:

 
#4 Posted at 2015-06-14 14:55        
     
What folder should you put the files in???

Added 1 second later:

What folder should you put the files in???


Author Message


Posts: 612
Rank:


Level: Member

Country: au
Location: Perth
Occupation: Arma Addict
Age: 20
In-game name: BroBeans

 
#5 Posted at 2015-06-17 05:24        
     
# theodor : What folder should you put the files in???

Added 1 second later:

What folder should you put the files in???

you add this to a notepad file. save it as config.cpp, have this file in a folder (with the mod name, which has to be the same throughout the config) and then have a folder named 'Data' which contains your textures/models etc (if you made your own)


Author Message


Posts: 1
Rank:


Level: Hidden

Country: 00
Location:
Occupation:
Age:
In-game name:

 
#6 Posted at 2015-07-09 09:30        
     
So how do I make this mod 'usable'?
So you've shown how to configure the addon, but I really need to know how to turn it into a playable mod. Do I need to create an @ file or something? Put an 'addons' folder in it? Oh, and do you know if there are any in-depth guides out there? Like creating the Pbo file, texture templates... etc. I'm having a go at creating New Zealand Army Units.


Author Message


Posts: 612
Rank:


Level: Member

Country: au
Location: Perth
Occupation: Arma Addict
Age: 20
In-game name: BroBeans

 
#7 Posted at 2015-07-11 11:46        
     
# asfdhfasdsdaffb : So how do I make this mod 'usable'?
So you've shown how to configure the addon, but I really need to know how to turn it into a playable mod. Do I need to create an @ file or something? Put an 'addons' folder in it? Oh, and do you know if there are any in-depth guides out there? Like creating the Pbo file, texture templates... etc. I'm having a go at creating New Zealand Army Units.

Using the code i provided you add this to a folder (in your case name it something like NZUnits) and have another folder within it called 'Data' this is where your textures will go (search for texture templates etc, they're out there) and now use a program to convert the 'NZUnits' folder into a .pbo (i use Mikey's Eliteness) and now place that within an '@' folder (@NZUnits) now place this where your other mods are and use Arma 3 Launcher to select that mod. The units will now be shown in game

This post was edited by Foxhound (2017-03-09 20:50, 223 days ago)


Author Message


Posts: 1589
Rank:


Level: Member

Country: pf
Location: Tahiti
Occupation: too many Arma
Age: 57
In-game name: Kobayashi Maru

 
#8 Posted at 2015-07-13 09:27        
     
I'm missing something. Looking for a simple new king of grenade based on SmokeShell, I created a config.cpp:
/* Pierre MGI - Custom grenades - July 2015
________________________________________*/

class CfgPatches
{
    class MGI_grenades 
    {
        units[] = {};
        weapons[] = {};
        requiredVersion = 0.1;
        requiredAddons[] = {a3_characters_F, a3_characters_f_beta, a3_characters_f_gamma};
    };
    author[]={"Pierre_MGI"};   
};

class CfgMagazines
{
    class CA_Magazine;
        class MGI_Lacrymo: CA_Magazine
            {
            scope = 2;
            author = "pierre MGI";
            descriptionShort = "Type: Smoke Grenade - Lacrymo<br />Rounds: 1<br />Used in: Hand";
            count = 1;
            //type = "(256 * 3)";
            displayName = "Smoke Grenade (Lacrymo)";
            displayNameShort = "Lacrymogene";
            initSpeed = 22;
            mass = 4;
                maxLeadSpeed = 7;
                maxThrowHoldTime = 2;
                maxThrowIntensityCoef = 1.4;
                minThrowIntensityCoef = 0.3;
            modelSpecial = "";
            nameSound = "smokeshell";
            nameSoundWeapon = "smokeshell";
            quickReload = 0;
            reloadAction = "";
            selectionFireAnim = "zasleh";
            simulation = "ProxyMagazines";
            type = 256;
            useAction = 0;
            useActionTitle = "";
            value = 2;
            weaponpoolavailable = 1;
            weight = 0;
            model = "\A3\Weapons_f\ammo\smokegrenade_white";
            picture = "\A3\Weapons_f\data\ui\gear_smokegrenade_white_ca.paa";
            //descriptionShort = "grenade lacrymogène";
            };
};
The first aim is to have other name and display name in inventory to make something different;
I created addon (it's not my first) with this config.cpp) then enabled it through launcher.
But nothing appears...
I can see my addon loaded in rpt file and no error. Not sure to understand what's wrong. thanks

Added 16 hours 24 minutes later:

So, I've got my grenade in inventory; It's OK for loading in equipment, but I can't throw it...
How can I use my grenade?

Here is the code:
class CfgPatches
{
    class MGI_grenades 
    {
        units[] = {};
        weapons[] = {"MGI_grenades_throw"};
        requiredVersion = 0.1;
        requiredAddons[] = {"a3_characters_F", "A3_Data_F"};
    };
    author[]={"Pierre_MGI"};   
};

class CfgAmmo 
{
    class Default;  // External class reference
    class Grenade : Default {};
    class GrenadeHand : Grenade {};
    class MGI_Lacrymo_ammo  : GrenadeHand 
    {
        scope = 1;
        hit = 0.001;
        indirectHit = 0.001;
        indirectHitRange = 0.01;
        model = "\A3\Weapons_f\ammo\smokegrenade_white";
        visibleFire = 0.5;
        audibleFire = 0.05;
        visibleFireTime = 1;
        fuseDistance = 5;
    };
};

class CfgMagazines
{
    class CA_Magazine;
        //class Default;  // External class reference
    //class CA_Magazine : Default {};
    class HandGrenade : CA_Magazine {};
    class MGI_Lacrymo :  HandGrenade
            {
            scope = 2;
            author = "pierre MGI";
            descriptionShort = "Type: Smoke Grenade - Lacrymo<br />Rounds: 1<br />Used in: Hand";
            count = 1;
            displayName = "Smoke Grenade (Lacrymo)";
            displayNameShort = "Lacrymogene";
             model = "\A3\Weapons_f\ammo\smokegrenade_white";
            picture = "\A3\Weapons_f\data\ui\gear_smokegrenade_white_ca.paa";
            class Library
             {
             libTextDesc = "These grenades alter the vision of player and inflict progressive damages to Ai units";
             };
            };
};

This post was edited by Pierre MGI (2015-07-14 01:52, 828 days ago)

PLEASE CONTACT ME ON BI FORUMS FOR ANY SCRIPT / MOD QUESTION. TKS

Author Message


Posts: 612
Rank:


Level: Member

Country: au
Location: Perth
Occupation: Arma Addict
Age: 20
In-game name: BroBeans

 
#9 Posted at 2015-07-14 15:38        
     
I'm not familiar with grenade coding, but maybe try using the smokegrenade as the class you're receiving info from

class CfgPatches
{
    class MGI_grenades 
    {
        units[] = {};
        weapons[] = {"MGI_grenades_throw"};
        requiredVersion = 0.1;
        requiredAddons[] = {"a3_characters_F", "A3_Data_F"};
    };
    author[]={"Pierre_MGI"};   
};

class CfgAmmo 
{
    class Default;  // External class reference
    class Grenade : Default {};
    class GrenadeHand : Grenade {};
    class MGI_Lacrymo_ammo  : [color=#EF2929]GrenadeHand[/color] //Try this as smokegrenade classname 
    {
        scope = 1;
        hit = 0.001;
        indirectHit = 0.001;
        indirectHitRange = 0.01;
        model = "\A3\Weapons_f\ammo\smokegrenade_white";
        visibleFire = 0.5;
        audibleFire = 0.05;
        visibleFireTime = 1;
        fuseDistance = 5;
    };
};


Author Message


Posts: 1589
Rank:


Level: Member

Country: pf
Location: Tahiti
Occupation: too many Arma
Age: 57
In-game name: Kobayashi Maru

 
#10 Posted at 2015-07-16 03:25        
     
After hours spent trying to make an addon grenade, I can say this works if you add a weapon (throw, throwmuzzle) for throwing it.

What I can't find is the generic launcher for some "1Rnd_blabla_grenade" (fired with EGLM and GL_3GL_F) mounted on GL weapons. I have magazine and ammo but weapon (muzzle) seems to be a sub_class of each GL weapon... If I have no generic weapon/muzzle, there is no cinematic. Magazine can be added in inventory but there is nothing to do with.

Please help!

PLEASE CONTACT ME ON BI FORUMS FOR ANY SCRIPT / MOD QUESTION. TKS

Author Message


Posts: 5
Rank:


Level: Member

Country: uk
Location:
Occupation:
Age:
In-game name:

 
#11 Posted at 2015-08-02 20:24        
     
I'm trying to make units obviously with custom loadouts however I cannot manage to put attachments on the weapon. I tried using "linkedItems" in the unit class but didn't work so I'm trying to make a "new weapon" that includes the attachments. I''ve had a go at looking at various other mods doing this (massi, RHS etc) but they've been no help.

I'm using EricJ Weapons, RHS, Joint Rails and TRYK (unimportant for weapons) and this is my code so far:
//NATO Special Operators Pack
//by DirtyNorf

class CfgPatches
{
	class ddrf_nsop
	{
		units[]={};
		weapons[]=
		{
				"ej_scarstandard",
				"rhsusf_acc_anpeq15",
				"rhsusf_acc_eotech_552",
				"HarrisDLC"
			
		};
		requiredVersion=0.1;
		requiredAddons[]=
		{
			"A3_Characters_F",
			"rhsusf_weapons",
			"rhsusf_c_weapons",
			"rhsusf_weapons2",
			"essgoggles",
			"hrp",
			"kio_balaclava",
			"shemagh",
			"tryk_backpack",
			"tryk_uniforms",
			"tryk_unit",
			"zabb",
			"zabb2",
			"zara",
			"asdg_jointrails"
		};
	};
};

class CfgFactionClasses
{
	class ddrf_nsop
	{
			displayName = "NATO Special Operations"
			priority = 1;
			side = 1;
	};
};

class CfgVehicleClasses
{
	class ddrf_nsop_green_scar
	{
		displayName="Green (SCAR)";
		priority = 2;
	};
	
	class ddrf_nsop_green_m4
	{
		displayName="Green (M4)";
		priority = 3;
	};
	
};
class CfgVehicles
{
	class B_Soldier_F;
	class ddrf_green_scar_operator: B_Soldier_F
	{
		side = 1;
		faction = "ddrf_nsop";
		vehicleClass = "ddrf_nsop_green_scar";
		scope=2;
		displayName="Operator (Green)";
		uniformAccessories[]={};
		nakedUniform="U_BasicBody";
		uniformClass="TRYK_U_B_OD_BLK_2";
		model="\A3\Characters_F\BLUFOR\b_soldier_01.p3d";
		weapons[]=
		{
			"scarl_EO_AN15_HA",
			"hgun_P07_F",
			"Throw",
			"Put",
			"Binocular"
		};
		respawnWeapons[]=
		{
			"scarl_EO_AN15_HA",
			"hgun_P07_F",
			"Throw",
			"Put",
			"Binocular"
		};
		linkedItems[]=
		{
			"FirstAidKit",
			"FirstAidKit",
			"FirstAidKit",
			"FirstAidKit",
			"rhsusf_acc_anpeq15",
			"rhsusf_acc_eotech_552",
			"HarrisDLC"
		};
		RespawnItems[]=
		{
			"FirstAidKit",
			"FirstAidKit",
			"FirstAidKit",
			"FirstAidKit",
			"rhsusf_acc_anpeq15",
			"rhsusf_acc_eotech_552",
			"HarrisDLC"
		};
		magazines[]=
		{
			"M4318_mag",
			"M4318_mag",
			"M4318_mag",
			"M4318_mag",
			"M4318_mag",
			"M4318_mag",
			"M4318_mag",
			"M4318_mag",
			"M4318_mag",
			"M4318_mag",
			"M4318_mag",
			"M4318_mag",
			"16Rnd_9x21_Mag",
			"16Rnd_9x21_Mag",
			"SmokeShell",
			"SmokeShell",
			"HandGrenade",
			"HandGrenade"
		};
		respawnMagazines[]=
		{
			"M4318_mag",
			"M4318_mag",
			"M4318_mag",
			"M4318_mag",
			"M4318_mag",
			"M4318_mag",
			"M4318_mag",
			"M4318_mag",
			"M4318_mag",
			"M4318_mag",
			"M4318_mag",
			"M4318_mag",
			"16Rnd_9x21_Mag",
			"16Rnd_9x21_Mag",
			"SmokeShell",
			"SmokeShell",
			"HandGrenade",
			"HandGrenade"
		};
	};
};

class CfgWeapons
{
	class rhsusf_acc_anpeq15;
	class rhsusf_acc_eotech_552;
	class HarrisDLC;
	class ej_scarstandard;
	class scarl_EO_AN15_HA: ej_scarstandard
    {
        scope = 2;
        displayName = "SCAR L (EOTECH)";
        class LinkedItems
        {
			class LinkedItemsOptic
			{
				slot = "CowsSlot";
				item = "rhsusf_acc_eotech_552";
			};
			class LinkedItemsUnder
			{
				slot = "UnderBarrelSlot";
				item = "HarrisDLC";
			};
	 
			class LinkedItemsAcc
			{
				slot = "PointerSlot";
				item = "rhsusf_acc_anpeq15";
			};
        };
		
		class WeaponSlotsInfo
		{
			class SlotInfo;
			class asdg_OpticRail1913;
			class asdg_FrontSideRail;
			class asdg_FrontSideRail_IAR;
			class asdg_UnderSlot;
			allowedslots[]={901};
			mass=60;
			class MuzzleSlot: SlotInfo
			{
				access=1;
				compatibleitems[]=
				{
					"muzzle_snds_M",
					"SF556_ej",
					"SF556blk_ej",
					"SFLMGMini_ej",
					"SFLMGTMini_ej",
					"ej_mzls_M",
					"SFSOCOM_ej",
					"SFSOCOMT_ej"
				};
				displayname="Muzzle Slot";
				linkproxy="\A3\data_f\proxies\weapon_slots\MUZZLE";
				scope=0;
			};
			class asdg_OpticRail1913_long: asdg_OpticRail1913
			{
				compatibleitems[]={"rhsusf_acc_eotech_552"};
			};
			class asdg_FrontSideRail_IAR: asdg_FrontSideRail
			{
				compatibleitems[]={"rhsusf_acc_anpeq15"};
			};
			class UnderBarrelSlot: asdg_UnderSlot
			{
				compatibleitems[]={"HarrisDLC"};
			};
		};
    };
};
Any help?


Author Message


Posts: 612
Rank:


Level: Member

Country: au
Location: Perth
Occupation: Arma Addict
Age: 20
In-game name: BroBeans

 
#12 Posted at 2015-08-03 15:13        
     
are you receiving errors?

if you look at my original config.cpp, with the attentions my code is different. Mine reads as linkeditems not compatible items.


Author Message


Posts: 5
Rank:


Level: Member

Country: uk
Location:
Occupation:
Age:
In-game name:

 
#13 Posted at 2015-08-04 10:20        
     
# Delta 1 Actual : are you receiving errors?

if you look at my original config.cpp, with the attentions my code is different. Mine reads as linkeditems not compatible items.

No errors it just doesn't work. I mean it is a Joint Rails weapon using accessories from another mod with Joint Rails. Is there a special way to do that? I spawn with the rest of the gear but no attachments.


Author Message


Posts: 612
Rank:


Level: Member

Country: au
Location: Perth
Occupation: Arma Addict
Age: 20
In-game name: BroBeans

 
#14 Posted at 2015-08-04 11:08        
     
    class TEST_Gun: arifle_MXC_Black_F
    {
        scope = 2;
        displayName = "MX Camo";
        hiddenSelections[] = {"camo"};
        hiddenSelectionsTextures[] = {"TEST\data\TEST_Gun_co.paa"}; // Path to your texture.
        class LinkedItems
        {
            class LinkedItemsOptic //Attachment: Optics
         {
            slot = "CowsSlot";
            item = "optic_aco";
         };
            class LinkedItemsMuzzle //Attachment: Barrel
         {
            slot = "MuzzleSlot";
            item = "muzzle_snds_B";
         };
 
            class LinkedItemsAcc //Attachment: Accessory 
         {
            slot = "PointerSlot";
            item = "acc_flashlight";
         };
        };
    };
use that template. and add in your classnames and tell me how that goes
remove the texture part if you arent using custom textures


Author Message


Posts: 5
Rank:


Level: Member

Country: uk
Location:
Occupation:
Age:
In-game name:

 
#15 Posted at 2015-08-04 11:59        
     
# Delta 1 Actual :
    class TEST_Gun: arifle_MXC_Black_F
    {
        scope = 2;
        displayName = "MX Camo";
        hiddenSelections[] = {"camo"};
        hiddenSelectionsTextures[] = {"TEST\data\TEST_Gun_co.paa"}; // Path to your texture.
        class LinkedItems
        {
            class LinkedItemsOptic //Attachment: Optics
         {
            slot = "CowsSlot";
            item = "optic_aco";
         };
            class LinkedItemsMuzzle //Attachment: Barrel
         {
            slot = "MuzzleSlot";
            item = "muzzle_snds_B";
         };
 
            class LinkedItemsAcc //Attachment: Accessory 
         {
            slot = "PointerSlot";
            item = "acc_flashlight";
         };
        };
    };
use that template. and add in your classnames and tell me how that goes
remove the texture part if you arent using custom textures

Nope, that didn't work either.