Jump to content

Recommended Posts

I've just begun modding in Arma 3, after someone approached me and asked me to help him with modding in a beret that didn't exist anywhere on the workshop yet, I did everything as he asked me to and followed closely Arma 3's limitations (10k triangles at most, no smooth shading, all triangles, taken from https://community.bistudio.com/wiki/Arma_3_Modding_Characters).

 

I used Blender to model the beret and managed to export it into a P3D file, then I exported its texture in a PAA file, then I created its icon and saved it as a PAA file, too. The problems began with the config file. I used a tutorial for a steel tube (https://www.youtube.com/watch?v=hxiwU94zwjg&) first, and actually spawned  it in the game, it appeared in my inventory, but it didn't exist once I dropped it onto the ground, I thought that's just because I didn't add a line to the config, I don't think it's important so I ignored it

 

Then I found an actual config file for a headgear (from https://community.bistudio.com/wiki/Arma_3_Characters_And_Gear_Encoding_Guide#Headgear_configuration) and I thought if I just changed up some things it'd work good enough. After I was done modifying that config file and got the mod working the game wouldn't let me spawn the beret in. I didn't get any debug messages, nothing. The beret just wouldn't spawn in my inventory, as if it didn't exist in the first place.

 

Now I know this is a long post, but I feel like I needed explained my whole "adventure", so that maybe someone gets an idea of what the problem might be.

 

 

Here's the mod file if you want to check it out

https://github.com/Kalimedes/Mod

Share this post


Link to post
Share on other sites

Does it show up in the Virtual Arsenal?

Share this post


Link to post
Share on other sites

Thanks for the suggestion, it actually shows the beret in my virtual arsenal, and I can wear it as a headgear, but the model doesn't actually appear

unknown.png

Share this post


Link to post
Share on other sites

to add a new model into the game you need a "model.cfg" file where you refference the beret model i think

Share this post


Link to post
Share on other sites
20 hours ago, Loggieman said:

to add a new model into the game you need a "model.cfg" file where you refference the beret model i think

Correct.Here is an example. Change 'YOURMODELNAME' (right at the bottom) to whatever your model is called (without spaces and minus the .p3d extension).

Spoiler



class CfgSkeletons
{
	class Default
	{
		isDiscrete = 1;
		skeletonInherit = "";
		skeletonBones[] = {};
	};
	class OFP2_ManSkeleton
	{
		isDiscrete = 0;
		skeletonInherit = "";
		skeletonBones[] =
		{
			"Pelvis","",
			"Spine","Pelvis",
			"Spine1","Spine",
			"Spine2","Spine1",
			"Spine3","Spine2",
			"Camera","Pelvis",
			"weapon","Spine1",
			"launcher","Spine1",
			//Head skeleton in hierarchy
			"neck","Spine3",
			"neck1","neck",
			"head","neck1",
			//New facial features
			"Face_Hub","head",
			"Face_Jawbone","Face_Hub",
			"Face_Jowl","Face_Jawbone",
			"Face_chopRight","Face_Jawbone",
			"Face_chopLeft","Face_Jawbone",
			"Face_LipLowerMiddle","Face_Jawbone",
			"Face_LipLowerLeft","Face_Jawbone",
			"Face_LipLowerRight","Face_Jawbone",
			"Face_Chin","Face_Jawbone",
			"Face_Tongue","Face_Jawbone",
			"Face_CornerRight","Face_Hub",
			"Face_CheekSideRight","Face_CornerRight",
			"Face_CornerLeft","Face_Hub",
			"Face_CheekSideLeft","Face_CornerLeft",
			"Face_CheekFrontRight","Face_Hub",
			"Face_CheekFrontLeft","Face_Hub",
			"Face_CheekUpperRight","Face_Hub",
			"Face_CheekUpperLeft","Face_Hub",
			"Face_LipUpperMiddle","Face_Hub",
			"Face_LipUpperRight","Face_Hub",
			"Face_LipUpperLeft","Face_Hub",
			"Face_NostrilRight","Face_Hub",
			"Face_NostrilLeft","Face_Hub",
			"Face_Forehead","Face_Hub",
			"Face_BrowFrontRight","Face_Forehead",
			"Face_BrowFrontLeft","Face_Forehead",
			"Face_BrowMiddle","Face_Forehead",
			"Face_BrowSideRight","Face_Forehead",
			"Face_BrowSideLeft","Face_Forehead",
			"Face_Eyelids","Face_Hub",
			"Face_EyelidUpperRight","Face_Hub",
			"Face_EyelidUpperLeft","Face_Hub",
			"Face_EyelidLowerRight","Face_Hub",
			"Face_EyelidLowerLeft","Face_Hub",
			"EyeLeft","Face_Hub",
			"EyeRight","Face_Hub",			
			//Left upper side
			"LeftShoulder","Spine3",
			"LeftArm","LeftShoulder",
			"LeftArmRoll","LeftArm",
			"LeftForeArm","LeftArmRoll",
			"LeftForeArmRoll","LeftForeArm",
			"LeftHand","LeftForeArmRoll",
			"LeftHandRing","LeftHand",
			"LeftHandRing1","LeftHandRing",
			"LeftHandRing2","LeftHandRing1",
			"LeftHandRing3","LeftHandRing2",
			"LeftHandPinky1","LeftHandRing",
			"LeftHandPinky2","LeftHandPinky1",
			"LeftHandPinky3","LeftHandPinky2",
			"LeftHandMiddle1","LeftHand",
			"LeftHandMiddle2","LeftHandMiddle1",
			"LeftHandMiddle3","LeftHandMiddle2",
			"LeftHandIndex1","LeftHand",
			"LeftHandIndex2","LeftHandIndex1",
			"LeftHandIndex3","LeftHandIndex2",
			"LeftHandThumb1","LeftHand",
			"LeftHandThumb2","LeftHandThumb1",
			"LeftHandThumb3","LeftHandThumb2",
			//Right upper side
			"RightShoulder","Spine3",
			"RightArm","RightShoulder",
			"RightArmRoll","RightArm",
			"RightForeArm","RightArmRoll",
			"RightForeArmRoll","RightForeArm",
			"RightHand","RightForeArmRoll",
			"RightHandRing","RightHand",
			"RightHandRing1","RightHandRing",
			"RightHandRing2","RightHandRing1",
			"RightHandRing3","RightHandRing2",
			"RightHandPinky1","RightHandRing",
			"RightHandPinky2","RightHandPinky1",
			"RightHandPinky3","RightHandPinky2",
			"RightHandMiddle1","RightHand",
			"RightHandMiddle2","RightHandMiddle1",
			"RightHandMiddle3","RightHandMiddle2",
			"RightHandIndex1","RightHand",
			"RightHandIndex2","RightHandIndex1",
			"RightHandIndex3","RightHandIndex2",
			"RightHandThumb1","RightHand",
			"RightHandThumb2","RightHandThumb1",
			"RightHandThumb3","RightHandThumb2",
			//Left lower side
			"LeftUpLeg","Pelvis",
			"LeftUpLegRoll","LeftUpLeg",
			"LeftLeg","LeftUpLegRoll",
			"LeftLegRoll","LeftLeg",
			"LeftFoot","LeftLegRoll",
			"LeftToeBase","LeftFoot",
			//Right lower side
			"RightUpLeg","Pelvis",
			"RightUpLegRoll","RightUpLeg",
			"RightLeg","RightUpLegRoll",
			"RightLegRoll","RightLeg",
			"RightFoot","RightLegRoll",
			"RightToeBase","RightFoot"
		};
		// location of pivot points (local axes) for hierarchical animation
		pivotsModel="A3\anims_f\data\skeleton\SkeletonPivots.p3d";
	};
};

class CfgModels
{
	class Default
	{
		sectionsInherit="";
		sections[] = {};
		skeletonName = "";
	};
	class ArmaMan : Default
	{
		htMin = 60;		// Minimum half-cooling time (in seconds)
		htMax = 1800;		// Maximum half-cooling time (in seconds)
		afMax = 30;		// Maximum temperature in case the model is alive (in celsius)
		mfMax = 0;		// Maximum temperature when the model is moving (in celsius)
		mFact = 1;		// Metabolism factor - number from interval <0, 1> (0 - metabolism has no influence, 1 - metabolism has full influence (no other temperature source will be considered)).
		tBody = 37;		// Metabolism temperature of the model (in celsius)

		sections[] =
		{
			"osobnost","Head_Injury","Body_Injury","l_leg_injury","l_arm_injury","r_arm_injury","r_leg_injury","injury_body","injury_legs","injury_hands",
			"clan","clan_sign","Camo","CamoB","Camo1","Camo2","personality","hl","injury_head","insignia"
		};
		sectionsInherit="";
		skeletonName = "OFP2_ManSkeleton";
	};
	class YOURMODELNAME: ArmaMan{};
};


 

Just copy all that code into a new notepad file and save it as model.cfg in the exact same directory as your model.

You'll also need to correctly name the selections (usually for headgear it'll just be 'head').

 

EDIT: 

On 1/11/2020 at 9:18 PM, Yeet0 said:

Thanks for the suggestion, it actually shows the beret in my virtual arsenal, and I can wear it as a headgear, but the model doesn't actually appear

 

FYI it probably does show up, it'll just be around the characters butt because of incorrectly configured model/model.cfg

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

×