Jump to content
Sign in to follow this  
AlphaWolF

Headgear config is not functional

Recommended Posts

Im an experience modder and 3d artist who has a fair bit of experience with 3dsmax, Maya, motionbuilder, Zbrush, ect.

I tried modding this game about a year ago & I really had some cool stuff to add, but after nearly 3 months of researching, reading forums and generally trying to put the fragments I could find scatterd across the net together frustration finally got the better of me and I gave up.

I actually had made some progress and had and full model with all the accessories items it needed but the HUGE the cost in time to achieve so little, was to just to costly because I want to be creating stuff not endlessly researching the minimal scraps I could find.

Anyway Im trying again, and after 2 weeks Im reaching the limit of my resolve already & Ive already spent more time than any sane person should on this and NEED HELP because Im sick of seeing these errors

build failed result=1, Having headgear appear in the pelvis, Having items just plain NOT show up in the VR arsenal or no option even to select them in the list.

Im trying to add uniforms. Custom heads, Factions, headgear and have been using a combination of the standard arma3 samples and the mod configs hear http://http://www.armaholic.com/forums.php?m=posts&q=27420 But although the female heads mod shows all the optons in the VR arsenal list, Even they dont display any models :(.

Its making me really angry that with all my experiance ans 3D skill iI cant even achive the most simple task with these tools & these damn config files that I should be ably to pull of in minutes.

Below is a simple mask I made But i have much more complicated stuff ive been trying to do with multiple items using the samples setup.

Hockey mask mod

@Hockey_Mask\addons\pbo

model.cfg

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"
	};
	skeletonName = "OFP2_ManSkeleton";
};

class Hockey_Mask: ArmaMan{};

};

config.cpp

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

class cfgWeapons {
class ItemCore;	// External class reference
class InventoryItem_Base_F;	// External class reference
class HeadgearItem;

class CfgVehicleClasses
{
class Hockey_Mask
{
	displayName = "Hockey Mask";
};
};



class Hockey_mask : ItemCore {
scope = 2;
weaponPoolAvailable = 1;
displayName = "Hockey mask";
picture = "\A3\characters_f\Data\UI\icon_H_HelmetB_CA.pa a";
model = "\Hockey_Mask\HockeyMask";

class ItemInfo : HeadgearItem {
mass = 100;
uniformModel = "\Hockey_Mask\HockeyMask";
modelSides[] = {3, 1};
armor = 3*0.5;
passThrough = 0.8;
};
};
};

Headgear.cpp

class HeadgearItem: InventoryItem_Base_F
{
allowedSlots[] = {BACKPACK_SLOT, HEADGEAR_SLOT}; /// defines where can be the cap placed, it is small enough to fit in backpack
type = HEADGEAR_SLOT;		/// standard slot for the cap is on head
hiddenSelections[] = {};	/// default caps don't have any changeable selections
hitpointName = "HitHead";	/// what hitpoint is covered with the cap to have additional protection
};

class Hockey_Mask: ItemCore
{
scope = 2; /// scope needs to be 2 to have a visible class
displayName  = "Hockey Mask"; /// how would the stuff be displayed in inventory and on ground
picture = "\A3\characters_f\Data\UI\icon_H_Cap_blk_CA.paa"; /// this looks fairly similar
model   = "\Hockey_Mask\HockeyMask"; /// what model does the cap use
hiddenSelections[] = {"camo"}; /// what selection in model could have different textures
hiddenSelectionsTextures[] = {"\a3\characters_f\common\data\capb_police_co.paa"}; /// what texture is going to be used
class ItemInfo: HeadgearItem
{
	mass = 10; /// combined weight and volume of the cap, this equals to single magazine
	uniformModel = "\Hockey_Mask\HockeyMask";	/// what model is used for this cap
	allowedSlots[] = {UNIFORM_SLOT, BACKPACK_SLOT, VEST_SLOT, HEADGEAR_SLOT};	/// this cap is so small and flexible that it fits everywhere
	modelSides[] = {6}; /// available for all sides
	armor = 0;	/// this cap doesn't provide any protection
	passThrough = 1; /// this cap doesn't provide any protection
	hiddenSelections[] = {"camo"}; /// what selection in model could have different textures
};
};

One of the reasons im so intrestd in custom heads and uniforms working is because I want to create some authentic zombies for arma with realistic animations and a damage & dismemberment system and I think I figured out a way , but have been unable to get the models in game to try it :(

http://cloud-4.steamusercontent.com/ugc/536264712576042162/DA85EFDE12A3229D428D11FD316367D97E9C407B/1920x2048.resizedimage

Edited by AlphaWolF

Share this post


Link to post
Share on other sites

A2 samples have full head lod examples. Shows weighing, selections, etc. Pretty straightfoward. Your build fail will create a error log and attempt to tell you the problem. When you open A3 tools from steam hit ctr+L. When modding for arma be prepared for major headaches every step of the way

Share this post


Link to post
Share on other sites

Not sure if it could be the issue or it was just a copy paste error, but the "picture = ..." in the config.cpp has ".pa a" not ".paa"

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  

×