Jump to content
Sign in to follow this  
Jackal326

SJB Weapons Pack

Recommended Posts

After tiring of the assault rifles I have so far introduced to the game, I've decided to branch out into sub-machineguns as a mini sub-project to take a break from M4A1 variants. First on my list was porting the ever-popular MP5 series from my ArmA1 'SMG Pack' (don't worry, every other weapon from that pack will find its way into ArmA3 too eventually). I have a few nifty features planned (ones I can hopefully have the patience to implement), and I'll hopefully have some ingame screenshots to show off later today.
Shall I imagine (hope, rather) that these other weapon families from that pack will be in separate Arma 3 weapons packs? (Admittedly I was one of those miffed to see the Mk 14 EBR pack in RH's Mk 18 pack for Arma 2: OA/CO -- more clutter for the weapons list, thanks to how attachments weren't modular in that.)

Share this post


Link to post
Share on other sites

I had considered doing separate packs, but due to textures/rvmats being used between different weapon types, not to mention the attachments mainly using the M4 textures, I'd either need to duplicate the required files to avoid one pbo requiring another, or have each pbo require the rest. As you can imagine, that would negate the entire point of having separate pbos. As it stands they are in one pbo, with the config probably ending up in a separate pbo so as to easily update/fix config errors.

Also, those MP5A4 screenshots are still to come ;)

Share this post


Link to post
Share on other sites

Everything looks really nice. Thanks to yourself and the other modders bringing current weapons systems into Arma 3 and keeping alive the spirit and efforts that continue to make this title truly unique.

As far as a cluttered weapons list, our group uses custom ammo boxes for all our maps to save the frustration and time of too many choices :) Another reason is you would be amazed how many players think its cool to take a MP5 into a long range battle...........lol.

Share this post


Link to post
Share on other sites

Indeed. The group I used to play with used custom crates, so I don't think a "cluttered" list is reason enough to adjust my plans. Besides, I'm creating crates that are separated by weapon type anyway (e.g. assault rifles in one crate, smg's in another etc).

Meanwhile, on Proving Ground: http://www.armedassault.info/_hosted/sjb/arma_weaponsproject/arma3/images/2013-04-18_00003.jpg

The flashlight foregrip is an attachment that 'replaces' the normal foregrip when its equipped. I also have plans to do an IR laser version too.

Share this post


Link to post
Share on other sites

It's a personal gripe of mine, but admittedly the attachments modularity takes a lot of the sting out and you have a nice solution.

As for the MP5A4, I'm going to hope that the ACO and Holosight positions and the left hand position are WIP? In contrast, the lower right picture's optic position and the hand position look better, except that you're not using the left-shoulder transition position. Finally, it looks like you've got a custom suppressor model ( whether yours or someone else's) instead of reusing the BI one, but I was under the impression that only the MP5N and the MP5K-PDW can accept "normal" (non-MP5SD) detachable suppressors?

Share this post


Link to post
Share on other sites
It's a personal gripe of mine, but admittedly the attachments modularity takes a lot of the sting out and you have a nice solution.

As for the MP5A4, I'm going to hope that the ACO and Holosight positions and the left hand position are WIP? In contrast, the lower right picture's optic position and the hand position look better, except that you're not using the left-shoulder transition position. Finally, it looks like you've got a custom suppressor model ( whether yours or someone else's) instead of reusing the BI one, but I was under the impression that only the MP5N and the MP5K-PDW can accept "normal" (non-MP5SD) detachable suppressors?

Yeah, the proxy location needs shifting forward slightly. I used the custom aimpoint model as a proxy for its placement, and my aimpoint model must be slightly forward as the aimpoint is correctly aligned, but everything else sits too far back and obstructs the iron sights. This will be fixed.

For the sake of not having people moaning at me that the MP5A4 can't take a suppressor, I've just used the MP5-N barrel (with the threaded muzzle) so as to allow a suppressor. If this is too game breaking I can always remove it and concentrate on being 100% accurate :)

The hand placement is down to me using BI's MP5 animations from ArmA2 - a place-holder until I can be bothered to experiment in making animations of my own (a bad place holder considering the scale of BI's MP5s were way out, but better than using anything else). Alwarren has linked to a good tutorial as well as kindly agreeing for me to use his M4 animations for the M4s in my pack, so hopefully new animations wont be too far off.

Share this post


Link to post
Share on other sites

Thanks for your explanations! Ironically the "perfect" look of the Aimpoint's positioning is what made the other two seem so off, though the Holosight also ought to be lower and "on" the rail. Likewise, had it not been for the fixed stock and the trigger group I would have just assumed MP5N and not thought anything wrong of the suppressor compatibility, but then again I'm not minding, go ahead and keep it with the MP5N barrel explanation. ;)

Share this post


Link to post
Share on other sites

@DaSquade: Thanks, its good to be back, even if I technically never left :)

While I seem to have almost sorted out the proxy locations and other small aesthetic issues, I have somehow caused another to appear. I think its to do with the model.cfg, and its an issue I have had in the past with previous weapon packs (namely the SMG pack for ArmA1), but it must be old age setting in as I cannot for the life of me remember how I fixed it before. Basically, any model part that has a "hide" animation type, doesn't actually hide, it just shrinks in towards the centre axis of the weapon model. So all weapon magazines that hide during reload animations etc, simply shrink when the animation is triggered, instead of disappearing.

Here is my model.cfg, maybe someone who hasn't been inactive for 2 years knows what the problem is :P (Parts are deliberately commented out where I have been experimenting with different code ideas and features)

class CfgSkeletons
{
class SJB_RifleBase
{
	isDiscrete=0;
	skeletonInherit="";
	skeletonBones[]=
	{
		"zbran", "",
		"magazine", "",
		"556shells", "magazine",
		"bullet", "magazine",
		"bulletchain", "magazine",
		"bolt", "",
		"trigger", "",
		"railcover_side", "",
		"carrying_handle", "",
		"zasleh", "zbran",
		"selector_switch", ""
	};
};

class SJB_SMGBase
{
	isDiscrete=0;
	skeletonInherit="";
	skeletonBones[]=
	{
		"zbran", "",
		"trigger", "",
		"charging_rod", "",
		"charging_handle", "charging_rod",
		"bolt", "",
		"magazine", "",
		"bullet", "magazine",
		"threadcover", "",
		"foregrip", ""
	};
};

};

class CfgModels
{
class Default;
class Weapon; //was class Weapon: Default {};

class SJB_M4A1_proxy: Weapon 	
{
	skeletonName="SJB_RifleBase";
	class Animations
	{

           		//class FireModeSwitch 
		//{
               	//	type="rotationZ";
               	//	source="weaponMode";
               	//	memory=1;
               	//	selection="selector_switch";
               	//	animPeriod=0;
               	//	axis="selector_axis";
              		//	minValue=0.0;
              		//	maxValue=1.0;
               	//	minPhase=0.0;
               	//	maxPhase=1.0;
               	//	angle1="rad 360";
               	//	angle0=0.0;
           		//};

		class reload_magazine_hide
		{
			type="hide";
			source="reloadMagazine";
			selection="magazine";
			minValue=-0.40000001;
			maxValue=0.40000001;
			minPhase=-0.40000001;
			maxPhase=0.40000001;
			hideValue=0.75;
			sourceAddress="mirror";
		};

		class unloaded_magazine_hide 
		{
			type = "hide";
			source = "hasMagazine";
			selection = "magazine";
			hideValue = 0.1;
		};

			//class MuzzleFlashROT
			//{
			//	type="rotationX";
			//	source="ammoRandom";      //use ammo count as phase for animation
			//	sourceAddress="loop";     //loop when phase out of bounds
			//	selection="zasleh";       //selection we want to rotate
			//	axis="zasleh_axis";                  //no own axis - center of rotation is computed from selection
			//	minValue=0;
			//	maxValue=4;               //rotation angle will be 360/4 = 90 degrees
			//	angle0="rad 0";
			//	angle1="rad 360";
			//};

		class muzzleflash_hide
		{
   				type="hide";
   				source="hasSuppressor";
   				selection="zasleh";
   				minValue = 0.0;
   				maxvalue = 0.25;
   				hideValue = 0.01;
		};

			class carryhandle_hide
			{
				type = "hide";
				source = "hasOptics";
				selection = "carrying_handle";
				minValue = 0.000000;
				maxValue = 1.00000;
			};

			class railcover_hide
			{
				type = "hide";
				source = "hasAccessory";
				selection = "railcover_side";
				minValue = 0.000000;
				maxValue = 1.00000;
			};

		class bolt
		{
			type="translationX"; 	//The type of animation.
			source="reload";   	//The controller that provides input.
			selection="bolt"; 	//The name of the skeleton bone used.
			axis="bolt_axis";       //The name of the axis in the model.
			minValue=0; 		//The minimum value of the motion range. i.e. The controller input when animation phase is 0.
			maxValue=".1"; 		//The maximum value of the motion range. i.e. The controller input when animation phase is 1.
			angle0="0";   		//The starting angle of this animation, where the animation phase is 0.
			angle1="-.1"; 		//The ending angle of this animation, where the animation phase is 1.
		};

		class trigger 
		{
			type="rotationZ"; 
			source="reload"; 
			selection="trigger"; 
			axis="trigger_axis"; 
			minValue=0; 
			maxValue="1"; 
			angle0="0"; 
			angle1="-0.5"; 
		};

		class bullet_hide2
		{
			type="hide";
			source="isempty";
			selection="556shells";
			hidevalue=0.5;
		};
	};
	sections[]={"zasleh"};
	sectionsInherit="";
};

class SJB_MP5A4_proxy: Weapon 	
{
	skeletonName="SJB_SMGBase";
	class Animations
	{
		class bullet_hide
		{
			type="hide";
			source="isempty";
			selection="bullet";
			hidevalue=.5;
		};

		//class hide_magazine
		//{
		//	type="hide";
		//	source="reloadMagazine"; 
		//	selection="magazine";
		//	hidevalue=0.45;
		//};

		class reload_magazine_hide
		{
			type="hide";
			source="reloadMagazine";
			selection="magazine";
			minValue=-0.40000001;
			maxValue=0.40000001;
			minPhase=-0.40000001;
			maxPhase=0.40000001;
			hideValue=0.75;
			sourceAddress="mirror";
		};

		class unloaded_magazine_hide 
		{
			type = "hide";
			source = "hasMagazine";
			selection = "magazine";
			hideValue = 0.1;
		};

		class charginghandle_moveback
		{
			type="translation";
			source="reloadMagazine";
			selection="charging_rod";
			begin="rod_front";
			end="rod_back";
			minValue=.03;
			maxValue=".065";
			offset0="0";
			offset1="1";
		};

		class charging_bolt_moveback
		{
			type="translation";
			source="reloadMagazine";
			selection="bolt";
			begin="bolt_front";
			end="bolt_back";
			minValue=.03;
			maxValue=".065";
			offset0="0";
			offset1="1";
		};
// BETA SHIT
		class charginghandle_Lock
		{
			type="rotationX";
			source="reloadMagazine";
			selection="charging_handle";
			axis="charging_axis";
			minValue=.065;
			maxValue=".085";
			angle0="0";
			angle1="rad -30";
		};

		class charginghandle_Unlock
		{
			type="rotationX";
			source="reloadMagazine";
			selection="charging_handle";
			axis="charging_axis";
			minValue=.75;
			maxValue=".78";
			angle0="0";
			angle1="rad 30";
		};
//END OF BETA SHIT
		class charginghandle_movefront
		{
			type="translation";
			source="reloadMagazine";
			selection="charging_rod";
			begin="rod_back";
			end="rod_front";
			minValue=.78;
			maxValue=".8";
			offset0="0";
			offset1="1";
		};

		class charging_bolt_movefront
		{
			type="translation";
			source="reloadMagazine";
			selection="bolt";
			begin="bolt_back";
			end="bolt_front";
			minValue=.78;
			maxValue=".8";
			offset0="0";
			offset1="1";
		};

		class bolt_moveback: charging_bolt_moveback
		{
			source="reload";
			minValue=.0;
			maxValue=".7";
		};

		class bolt_movefront: charging_bolt_movefront
		{
			source="reload";
			minValue=.7;
			maxValue="1";
		};

		class trigger 
		{
			type="rotationZ"; 
			source="reload"; 
			selection="trigger"; 
			axis="trigger_axis"; 
			minValue=0; 
			maxValue="1"; 
			angle0="0"; 
			angle1="-0.5"; 
		};

		class muzzleflash_hide
		{
   				type="hide";
   				source="hasSuppressor";
   				selection="zasleh";
   				minValue = 0.0;
   				maxvalue = 0.25;
   				hideValue = 0.01;
		};

		class threadcover_hide
		{
   				type="hide";
   				source="hasSuppressor";
   				selection="threadcover";
   				minValue = 0.0;
   				maxvalue = 0.25;
   				hideValue = 0.01;
		};

			class foregrip_hide
			{
				type = "hide";
				source = "hasAccessory";
				selection = "foregrip";
				minValue = 0.000000;
				maxValue = 1.00000;
			};
	};
	sections[]={"zasleh"};
	sectionsInherit="";
};

class SJB_HK416_proxy: SJB_M4A1_proxy {};

class SJB_MP5A2_proxy: SJB_MP5A4_proxy {};
class SJB_MP5A3_proxy: SJB_MP5A4_proxy {};
class SJB_MP5A5_proxy: SJB_MP5A4_proxy {};
class SJB_MP5SD6_proxy: SJB_MP5A4_proxy {};
};

Share this post


Link to post
Share on other sites
Basically, any model part that has a "hide" animation type, doesn't actually hide, it just shrinks in towards the centre axis of the weapon model. So all weapon magazines that hide during reload animations etc, simply shrink when the animation is triggered, instead of disappearing.

Weird, the model.cfg looks very similar to mine, and this works for me. Do you have any unusual named properties on the LOD's? I do remember that not having "autocenter" set to 0 would cause trouble with rotations, although I am not really aware of anything that would interfere with hiding.

Share this post


Link to post
Share on other sites
Weird, the model.cfg looks very similar to mine, and this works for me. Do you have any unusual named properties on the LOD's? I do remember that not having "autocenter" set to 0 would cause trouble with rotations, although I am not really aware of anything that would interfere with hiding.

The only named properties I have are "autocenter = 0" (in every LOD) and "lodnoshadow = 1" (in everything except the shadow LODs of course). I've been racking my brain all day trying to think how I fixed it with the SMG pack but to no avail :mad:

Share this post


Link to post
Share on other sites
The only named properties I have are "autocenter = 0" (in every LOD) and "lodnoshadow = 1" (in everything except the shadow LODs of course). I've been racking my brain all day trying to think how I fixed it with the SMG pack but to no avail :mad:

I have compared it with my model.cfg from my M4, and the only real difference I spotted was the isDiscrete = 0 in the skeleton, I do have isDiscrete = 1, according to this Biki article ("currently unknown, set to 1"). Might be worth a shot

Share this post


Link to post
Share on other sites
Can't wait to try these out Sam, looking good brosef

That's a damn lie and you know it!

Share this post


Link to post
Share on other sites
I have compared it with my model.cfg from my M4, and the only real difference I spotted was the isDiscrete = 0 in the skeleton, I do have isDiscrete = 1, according to this Biki article ("currently unknown, set to 1"). Might be worth a shot

Once again you are my saviour Alwarren, as setting "isDiscrete" to a value of 1 seems to have fixed the hiding issue. The reload animations now work flawlessly, as do the hiding of rail covers and iron-sights etc when optics are attached.

Share this post


Link to post
Share on other sites
Once again you are my saviour Alwarren, as setting "isDiscrete" to a value of 1 seems to have fixed the hiding issue. The reload animations now work flawlessly, as do the hiding of rail covers and iron-sights etc when optics are attached.

Glad to help :)

Share this post


Link to post
Share on other sites
That's a damn lie and you know it!

Get working on A3 GRU bru.

Share this post


Link to post
Share on other sites

The SMGs are progressing well, just a few animation hiccups that need resolving and they should be well on their way.

I felt the handguns ingame were a little lacking, so...

I sorted this out

Original textures (and model) by Racer445.

Notice with functioning slide catch for when the slide lcosk back when empty :D

Share this post


Link to post
Share on other sites

Thanks for the update. Mind letting us know which particular smgs you are going to release?

Share this post


Link to post
Share on other sites
Thanks for the update. Mind letting us know which particular smgs you are going to release?

MP5A2/A3/A4/A5/Navy are in, coded and done (bar a couple of animation glitches I need to tweak), and a couple of HK53 variants (its 5.56 but classed as an SMG). If I get the hang of making holding animations I plan to do some MP5-K variants too.

MP5SD3/4/5/6 are planned, as are MP7A1, MP9, UMP45 (maybe a UMP9 too), as well as P90s and TMP variants.

As said before, I'll more than likely release the first version of the pack before all weapons are included (otherwise I'll be here until the end of time coding/modelling). Given that I plan to include assault rifles, machineguns, sniper-rifles, SMGs, handguns and maybe (just maybe) even AT weapons too, the scope of the pack is huge, so weapon inclusion will be done on an incremental basis.

Share this post


Link to post
Share on other sites

Great. I don't think ive ever seen a mp9 in an arma game. I look forward to all of these. Any plans for custom sights/optics?

Share this post


Link to post
Share on other sites

I plan a few custom optics, though nothing too extravagant - Aimpoints, CCOs, ACOGs, EOTechs and depending on the range of sniper-rifles I include probably some custom sniper optics of some description, though that is very much to be determined.

Share this post


Link to post
Share on other sites

After a short break from the pack, I picked up the weapons pack and decided to attempt some camo textures for the M4A1. HERE is the result of a 30 second fumble with a few blending features in Photoshop.

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  

×