Jump to content

Recommended Posts

Hello gentlemen:

I want to get some custom helmets and such going, anyone have any clue how to do this yet? I see no sample models for this, so I'm not entirely sure. I've made some vehicles and buildings for Arma 2, but I don't see how any of that knowledge would transpire into building custom helmets, or even tactical vests/plate carriers.

I sort of know how I would write the config for a new helmet, but as for the Model.CFG, I honestly have no idea if there would even be one, or what bones etc.

Thanks,

Richards

Share this post


Link to post
Share on other sites

Helmets were pretty simple, make a p3d with only the helmet with "head" selection as if it was on a regular soldier model.

then use regular arma 2 character model.cfg it will work, make the config, pack and it should be working ingame.

for positioning alot of trial and error to get it in the right spot in the p3d. :)

combathelmet90.jpg

Share this post


Link to post
Share on other sites
Helmets were pretty simple, make a p3d with only the helmet with "head" selection as if it was on a regular soldier model.

then use regular arma 2 character model.cfg it will work, make the config, pack and it should be working ingame.

for positioning alot of trial and error to get it in the right spot in the p3d. :)

Someone is busy at work based on that picture :>

Looks nice.

Share this post


Link to post
Share on other sites

Stiltman is that SAM in arma3? :O

Helmets were pretty simple, make a p3d with only the helmet with "head" selection as if it was on a regular soldier model.

then use regular arma 2 character model.cfg it will work, make the config, pack and it should be working ingame.

for positioning alot of trial and error to get it in the right spot in the p3d. :)

https://dl.dropbox.com/u/5064514/combathelmet90.jpg

Share this post


Link to post
Share on other sites
Stiltman is that SAM in arma3? :O

Looks like it, plenty of mod makers are already working on getting things into Arma3. Like myself :)

With regards to the helmet, could write a small tutorial?

Share this post


Link to post
Share on other sites
Helmets were pretty simple, make a p3d with only the helmet with "head" selection as if it was on a regular soldier model.

then use regular arma 2 character model.cfg it will work, make the config, pack and it should be working ingame.

for positioning alot of trial and error to get it in the right spot in the p3d. :)

https://dl.dropbox.com/u/5064514/combathelmet90.jpg

Heya.. nice work! When you say "head" selection.. do you also mean all the LODS, View -Pilot, ShadowVolume, Geometry, Memory, LandContact, Hit-points, Fire Geometry attached the "head" as well? Or strictly LOD 0 "head" named selection?

thanks..

Share this post


Link to post
Share on other sites

Ok, so quick and basic tutorial of how i did it.

First of set up your addon, if you use your own layout or whatever

setup.jpg

setup the config file to your needs, and the model config as taken from the arma 2 sample soldier model for instance.

Config.cpp (download)

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_Helmet {

units[] = {};

weapons[] = {};

requiredVersion = 0.1;

requiredAddons[] = {};

};

};

class cfgWeapons {

class ItemCore; // External class reference

class InventoryItem_Base_F; // External class reference

class HeadgearItem;

class My_new_helmet : ItemCore {

scope = 2;

weaponPoolAvailable = 1;

displayName = "Superawesome Helmet";

picture = "\A3\characters_f\Data\UI\icon_H_HelmetB_CA.paa";

model = "\my_helmet\headgear_b_myhelmet";

class ItemInfo : HeadgearItem {

mass = 100;

uniformModel = "\my_helmet\headgear_b_myhelmet";

modelSides[] = {3, 1};

armor = 3*0.5;

passThrough = 0.8;

};

};

};

model.cfg updated with arma 3 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"

};

skeletonName = "OFP2_ManSkeleton";

};

class headgear_b_myhelmet : ArmaMan {};

};

Then setup the model in O2, pretty simple i only use one LOD for now, viewpilot one is empty.

might need a firegeometry to if you want to setup any kind of bullet resistance, and shadowlod for shadow obviously.

i have no mlod example yet since i need to make one with a sample model helmet and not our own :)

o2.jpg

Pack it all up and it should be working.

Edited by Stiltman

Share this post


Link to post
Share on other sites

Nice!

That's also the way I have figured it out to get it working too.

But it looks like that the helmets need a bit adjustments in a3, this which fits on a a2 model needs a little rotation on the front to the up?

Have you also make experience with vests? I got hem working but I can't define selections to left and right shoulder because this causes strange stretching

Share this post


Link to post
Share on other sites

stiltman, worked like a charm.. thanks A TON!

I'd still be curious if you learn anything more about shadowlods, or LODS 1-5 or whatever as you go on. And whatever other tidbits you learn. I'm wondering if at some point we'll have to use a new arma3 model.cfg for like the final releases? Or will that be irrelevant because as long as it's working it doesn't matter?

just a note for anyone else... don't forget to change the end of the model.cfg that stiltman provided to point to your modelname.. because at first it wasn't working for me because his example is pointing to "class headgear_b_myhelmet" but my own .p3d was named something else.

Share this post


Link to post
Share on other sites

Just a little confused on one aspect: are you including a proxy of a head as well as the physical Helmet in that LOD?

Share this post


Link to post
Share on other sites
Just a little confused on one aspect: are you including a proxy of a head as well as the physical Helmet in that LOD?

No, you just select whole helmet, ctrl+a rightclick in the selection box and create new selection name it head.

Share this post


Link to post
Share on other sites

..Alright, I cannot seem to get my addon to work. The addon name is: dar_us_mich, but unfortunately I get an error when I attempt to load these from a gear box.

The error is:

No Entry Config.bin/CfgWeapons

CONFIG.CPP

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 us_MICH {
units[] = {};
weapons[] = {};
requiredVersion = 0.1;
requiredAddons[] = {};
};
};

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

class us_acu_MICH : ItemCore {
scope = 2;
weaponPoolAvailable = 1;
displayName = "MICH - ACU";
picture = "\A3\characters_f\Data\UI\icon_H_HelmetB_CA.paa";
model = "\dar_usmich\dar_mich_acu01.p3d";

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

MODEL.CFG

class CfgSkeletons {
class Default {
isDiscrete = 1;
skeletonInherit = "";
skeletonBones[] = {};
};

class Vehicle : Default {};

class Car : Vehicle {
skeletonBones[] = {"drivewheel", "", "wheel_1_1_damper_land", "", "wheel_1_2_damper_land", "", "wheel_1_3_damper_land", "", "wheel_1_4_damper_land", "", "wheel_2_1_damper_land", "", "wheel_2_2_damper_land", "", "wheel_2_3_damper_land", "", "wheel_2_4_damper_land", "", "wheel_1_1_damper", "wheel_1_1_damper_land", "wheel_1_2_damper", "wheel_1_2_damper_land", "wheel_1_3_damper", "wheel_1_3_damper_land", "wheel_1_4_damper", "wheel_1_4_damper_land", "wheel_2_1_damper", "wheel_2_1_damper_land", "wheel_2_2_damper", "wheel_2_2_damper_land", "wheel_2_3_damper", "wheel_2_3_damper_land", "wheel_2_4_damper", "wheel_2_4_damper_land", "wheel_1_1_steering", "wheel_1_1_damper", "wheel_1_2_steering", "wheel_1_2_damper", "wheel_1_3_steering", "wheel_1_3_damper", "wheel_1_4_steering", "wheel_1_4_damper", "wheel_2_1_steering", "wheel_2_1_damper", "wheel_2_2_steering", "wheel_2_2_damper", "wheel_2_3_steering", "wheel_2_3_damper", "wheel_2_4_steering", "wheel_2_4_damper", "wheel_1_1", "wheel_1_1_steering", "wheel_1_2", "wheel_1_	 2_steering", "wheel_1_3", "wheel_1_3_steering", "wheel_1_4", "wheel_1_4_steering", "wheel_2_1", "wheel_2_1_steering", "wheel_2_2", "wheel_2_2_steering", "wheel_2_3", "wheel_2_3_steering", "wheel_2_4", "wheel_2_4_steering", "wheel_1_1_unhide", "wheel_1_1", "wheel_1_2_unhide", "wheel_1_2", "wheel_1_3_unhide", "wheel_1_3", "wheel_1_4_unhide", "wheel_1_4", "wheel_2_1_unhide", "wheel_2_1", "wheel_2_2_unhide", "wheel_2_2", "wheel_2_3_unhide", "wheel_2_3", "wheel_2_4_unhide", "wheel_2_4", "wheel_1_1_hide", "wheel_1_1", "wheel_1_2_hide", "wheel_1_2", "wheel_1_3_hide", "wheel_1_3", "wheel_1_4_hide", "wheel_1_4", "wheel_2_1_hide", "wheel_2_1", "wheel_2_2_hide", "wheel_2_2", "wheel_2_3_hide", "wheel_2_3", "wheel_2_4_hide", "wheel_2_4", "OtocVez", "", "OtocHlaven", "OtocVez", "damageHide", "", "damageVez", "OtocVez", "damageHlaven", "OtocHlaven", "ukaz_rychlo", "", "ukaz_rychlo2", "", "ukaz_rpm", "", "mph", "", "rpm", "", "fuel", "", "fuel_1", "", "fuel_01", "", "fuel_2", "", "fuel_3", "", "prop_01", "", "prop_02", "", "prop_2", "", "prop_1", "", "glass1", "damageHide", "glass2", "damageHide", "glass3", "damageHide", "glass4", "damageHide"};
};

class Flag : Default {};

class FlagCarrier : Default {
skeletonInherit = "Default";
skeletonBones[] = {"stozar", "", "vlajka", ""};
};

class Head {
isDiscrete = 0;
skeletonInherit = "";
skeletonBones[] = {"neck", "", "neck1", "neck", "head", "neck1", "jaw", "head", "chin", "head", "jaw_rf", "head", "jaw_rm", "head", "jaw_rs", "head", "jaw_lf", "head", "jaw_lm", "head", "jaw_ls", "head", "ear_r", "head", "ear_l", "head", "lip_lc", "head", "lip_lwlb", "head", "lip_lwlf", "head", "lip_lwm", "head", "lip_lwrf", "head", "lip_lwrb", "head", "lip_rc", "head", "lip_uprb", "head", "lip_uprf", "head", "lip_upm", "head", "lip_uplf", "head", "lip_uplb", "head", "nose_tip", "head", "nose_r", "head", "nose_l", "head", "zig_lt", "head", "zig_lm", "head", "zig_lb", "head", "zig_rt", "head", "zig_rm", "head", "zig_rb", "head", "cheek_r", "head", "cheek_l", "head", "eyebrow_lb", "head", "eyebrow_lm", "head", "eyebrow_lf", "head", "corr", "head", "eyebrow_rf", "head", "eyebrow_rm", "head", "eyebrow_rb", "head", "eye_upr", "head", "eye_lwr", "head", "eye_upl", "head", "eye_lwl", "head", "cheek_rf", "head", "cheek_rm", "head", "cheek_rb", "head", "cheek_lf", "head", "cheek_lm", "head", "cheek_lb", "head", "forehead_l", "head", "forehead_m", "head", "forehead_r", "head", "l_eye", "head", "r_eye", "head", "l_pupila", "head", "r_pupila", "head", "neck_t", "head", "neck_b", "head", "neck_r", "head", "neck_l", "head", "tongue_b", "head", "tongue_m", "head", "tongue_f", "head"};
};

class OFP2_ManSkeleton {
isDiscrete = 0;
skeletonInherit = "";
skeletonBones[] = {"Pelvis", "", "Spine", "Pelvis", "Spine1", "Spine", "Spine2", "Spine1", "Spine3", "Spine2", "Camera", "Pelvis", "weapon", "Spine1", "launcher", "Spine1", "neck", "Spine3", "neck1", "neck", "head", "neck1", "HeadCutScene", "head", "jaw", "head", "chin", "head", "jaw_rf", "head", "jaw_rm", "head", "jaw_rs", "head", "jaw_lf", "head", "jaw_lm", "head", "jaw_ls", "head", "ear_r", "head", "ear_l", "head", "lip_lc", "head", "lip_lwlb", "head", "lip_lwlf", "head", "lip_lwm", "head", "lip_lwrf", "head", "lip_lwrb", "head", "lip_rc", "head", "lip_uprb", "head", "lip_uprf", "head", "lip_upm", "head", "lip_uplf", "head", "lip_uplb", "head", "nose_tip", "head", "nose_r", "head", "nose_l", "head", "zig_lt", "head", "zig_lm", "head", "zig_lb", "head", "zig_rt", "head", "zig_rm", "head", "zig_rb", "head", "cheek_r", "head", "cheek_l", "head", "eyebrow_lb", "head", "eyebrow_lm", "head", "eyebrow_lf", "head", "corr", "head", "eyebrow_rf", "head", "eyebrow_rm", "head", "eyebrow_rb", "head", "eye_upr", "head", "eye_lwr", "head", "eye_upl", "head", "eye_lwl", "head", "cheek_rf", "head", "cheek_rm", "head", "cheek_rb", "head", "cheek_lf", "head", "cheek_lm", "head", "cheek_lb", "head", "forehead_l", "head", "forehead_m", "head", "forehead_r", "head", "l_eye", "head", "r_eye", "head", "l_pupila", "head", "r_pupila", "head", "neck_t", "head", "neck_b", "head", "neck_r", "head", "neck_l", "head", "tongue_b", "head", "tongue_m", "head", "tongue_f", "head", "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", "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", "LeftUpLeg", "Pelvis", "LeftUpLegRoll", "LeftUpLeg", "LeftLeg", "LeftUpLegRoll", "LeftLegRoll", "LeftLeg", "LeftFoot", "LeftLegRoll", "LeftToeBase", "LeftFoot", "RightUpLeg", "Pelvis", "RightUpLegRoll", "RightUpLeg", "RightLeg", "RightUpLegRoll", "RightLegRoll", "RightLeg", "RightFoot", "RightLegRoll", "RightToeBase", "RightFoot"};
pivotsModel = "";
};

class WomanSkeleton {
isDiscrete = 0;
skeletonInherit = "";
skeletonBones[] = {"Pelvis", "", "Spine", "Pelvis", "Spine1", "Spine", "Spine2", "Spine1", "Spine3", "Spine2", "Camera", "Pelvis", "neck", "Spine3", "neck1", "neck", "head", "neck1", "jaw", "head", "chin", "head", "jaw_rm", "head", "jaw_lm", "head", "lip_lc", "head", "lip_lwlb", "head", "lip_lwlf", "head", "lip_lwm", "head", "lip_lwrf", "head", "lip_lwrb", "head", "lip_rc", "head", "lip_uprf", "head", "lip_upm", "head", "lip_uplf", "head", "nose_r", "head", "nose_l", "head", "zig_lt", "head", "zig_rt", "head", "cheek_r", "head", "cheek_l", "head", "eyebrow_lm", "head", "corr", "head", "eyebrow_rm", "head", "eye_upr", "head", "eye_lwr", "head", "eye_upl", "head", "eye_lwl", "head", "cheek_rf", "head", "cheek_lf", "head", "forehead_m", "head", "l_eye", "head", "r_eye", "head", "LeftShoulder", "Spine3", "LeftArm", "LeftShoulder", "LeftArmRoll", "LeftArm", "LeftForeArm", "LeftArmRoll", "LeftForeArmRoll", "LeftForeArm", "LeftHand", "LeftForeArmRoll", "LeftInHandRing", "LeftHand", "LeftHandRing1", "LeftInHandRing", "LeftHandRing2", "LeftHandRing1", "LeftHandRing3", "LeftHandRing2", "LeftHandPinky1", "LeftInHandRing", "LeftHandPinky2", "LeftHandPinky1", "LeftHandPinky3", "LeftHandPinky2", "LeftHandMiddle1", "LeftHand", "LeftHandMiddle2", "LeftHandMiddle1", "LeftHandMiddle3", "LeftHandMiddle2", "LeftHandIndex1", "LeftHand", "LeftHandIndex2", "LeftHandIndex1", "LeftHandIndex3", "LeftHandIndex2", "LeftHandThumb1", "LeftHand", "LeftHandThumb2", "LeftHandThumb1", "LeftHandThumb3", "LeftHandThumb2", "RightShoulder", "Spine3", "RightArm", "RightShoulder", "RightArmRoll", "RightArm", "RightForeArm", "RightArmRoll", "RightForeArmRoll", "RightForeArm", "RightHand", "RightForeArmRoll", "RightInHandRing", "RightHand", "RightHandRing1", "RightInHandRing", "RightHandRing2", "RightHandRing1", "RightHandRing3", "RightHandRing2", "RightHandPinky1", "RightInHandRing", "RightHandPinky2", "RightHandPinky1", "RightHandPinky3", "RightHandPinky2", "RightHandMiddle1", "RightHand", "RightHandMiddle2", "RightHandMiddle1", "RightHandMiddle3", "RightHandMiddle2", "RightHandIndex1", "RightHand", "RightHandIndex2", "RightHandIndex1", "RightHandIndex3", "RightHandIndex2", "RightHandThumb1", "RightHand", "RightHandThumb2", "RightHandThumb1", "RightHandThumb3", "RightHandThumb2", "LeftUpLeg", "Pelvis", "LeftUpLegRoll", "LeftUpLeg", "LeftLeg", "LeftUpLegRoll", "LeftLegRoll", "LeftLeg", "LeftFoot", "LeftLegRoll", "LeftToeBase", "LeftFoot", "RightUpLeg", "Pelvis", "RightUpLegRoll", "RightUpLeg", "RightLeg", "RightUpLegRoll", "RightLegRoll", "RightLeg", "RightFoot", "RightLegRoll", "RightToeBase", "RightFoot"};
pivotsModel = "";
};
};

class CfgModels {
class Default {
sectionsInherit = "";
sections[] = {};
skeletonName = "";
};

class Head : Default {
sections[] = {"osobnost", "brejle"};
skeletonName = "Head";
};

class ArmaMan : Default {
sections[] = {"osobnost", "Head_Injury", "Body_Injury", "l_leg_injury", "l_arm_injury", "r_arm_injury", "r_leg_injury", "clan", "clan_sign", "Camo", "CamoB", "helmet_m90k", "crew_helmet", "bowman_headset", "peltor_headset"};
skeletonName = "OFP2_ManSkeleton";
};

class ArmaWoman : Default {
sections[] = {"osobnost", "Head_Injury", "Body_Injury", "l_leg_injury", "l_arm_injury", "r_arm_injury", "r_leg_injury", "clan", "clan_sign", "Camo", "CamoB"};
skeletonName = "WomanSkeleton";
};

class Vehicle : Default {
sections[] = {"cislo", "grupa", "side", "sektor", "clan", "clan_sign", "podsvit pristroju", "poskozeni", "L svetlo", "P svetlo", "zasleh"};
};

class Flag : Default {
sections[] = {"latka"};
};

class flag_auto : Flag {};

class flag_alone : Flag {};

class us_MICH : ArmaMan {};
};

Edited by RichardsD

Share this post


Link to post
Share on other sites

hmm.. not sure..

but you do seem to missed one _ on the model path..

model = "\dar_usmich\dar_mich_acu01.p3d";

compared to

uniformModel = "\dar_us_mich\dar_mich_acu01";

Share this post


Link to post
Share on other sites

No luck so far.. here are the fixed files:

CONFIG.CPP

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 dar_us_MICH {
units[] = {};
weapons[] = {};
requiredVersion = 0.1;
requiredAddons[] = {};
};
};

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

class dar_us_acu_MICH : ItemCore {
scope = 2;
weaponPoolAvailable = 1;
displayName = "MICH - ACU";
picture = "\A3\characters_f\Data\UI\icon_H_HelmetB_CA.paa";
model = "\dar_us_mich\dar_mich_acu01.p3d";

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

MODEL.CFG

class CfgSkeletons {
class Default {
isDiscrete = 1;
skeletonInherit = "";
skeletonBones[] = {};
};

class Vehicle : Default {};

class Car : Vehicle {
skeletonBones[] = {"drivewheel", "", "wheel_1_1_damper_land", "", "wheel_1_2_damper_land", "", "wheel_1_3_damper_land", "", "wheel_1_4_damper_land", "", "wheel_2_1_damper_land", "", "wheel_2_2_damper_land", "", "wheel_2_3_damper_land", "", "wheel_2_4_damper_land", "", "wheel_1_1_damper", "wheel_1_1_damper_land", "wheel_1_2_damper", "wheel_1_2_damper_land", "wheel_1_3_damper", "wheel_1_3_damper_land", "wheel_1_4_damper", "wheel_1_4_damper_land", "wheel_2_1_damper", "wheel_2_1_damper_land", "wheel_2_2_damper", "wheel_2_2_damper_land", "wheel_2_3_damper", "wheel_2_3_damper_land", "wheel_2_4_damper", "wheel_2_4_damper_land", "wheel_1_1_steering", "wheel_1_1_damper", "wheel_1_2_steering", "wheel_1_2_damper", "wheel_1_3_steering", "wheel_1_3_damper", "wheel_1_4_steering", "wheel_1_4_damper", "wheel_2_1_steering", "wheel_2_1_damper", "wheel_2_2_steering", "wheel_2_2_damper", "wheel_2_3_steering", "wheel_2_3_damper", "wheel_2_4_steering", "wheel_2_4_damper", "wheel_1_1", "wheel_1_1_steering", "wheel_1_2", "wheel_1_	 2_steering", "wheel_1_3", "wheel_1_3_steering", "wheel_1_4", "wheel_1_4_steering", "wheel_2_1", "wheel_2_1_steering", "wheel_2_2", "wheel_2_2_steering", "wheel_2_3", "wheel_2_3_steering", "wheel_2_4", "wheel_2_4_steering", "wheel_1_1_unhide", "wheel_1_1", "wheel_1_2_unhide", "wheel_1_2", "wheel_1_3_unhide", "wheel_1_3", "wheel_1_4_unhide", "wheel_1_4", "wheel_2_1_unhide", "wheel_2_1", "wheel_2_2_unhide", "wheel_2_2", "wheel_2_3_unhide", "wheel_2_3", "wheel_2_4_unhide", "wheel_2_4", "wheel_1_1_hide", "wheel_1_1", "wheel_1_2_hide", "wheel_1_2", "wheel_1_3_hide", "wheel_1_3", "wheel_1_4_hide", "wheel_1_4", "wheel_2_1_hide", "wheel_2_1", "wheel_2_2_hide", "wheel_2_2", "wheel_2_3_hide", "wheel_2_3", "wheel_2_4_hide", "wheel_2_4", "OtocVez", "", "OtocHlaven", "OtocVez", "damageHide", "", "damageVez", "OtocVez", "damageHlaven", "OtocHlaven", "ukaz_rychlo", "", "ukaz_rychlo2", "", "ukaz_rpm", "", "mph", "", "rpm", "", "fuel", "", "fuel_1", "", "fuel_01", "", "fuel_2", "", "fuel_3", "", "prop_01", "", "prop_02", "", "prop_2", "", "prop_1", "", "glass1", "damageHide", "glass2", "damageHide", "glass3", "damageHide", "glass4", "damageHide"};
};

class Flag : Default {};

class FlagCarrier : Default {
skeletonInherit = "Default";
skeletonBones[] = {"stozar", "", "vlajka", ""};
};

class Head {
isDiscrete = 0;
skeletonInherit = "";
skeletonBones[] = {"neck", "", "neck1", "neck", "head", "neck1", "jaw", "head", "chin", "head", "jaw_rf", "head", "jaw_rm", "head", "jaw_rs", "head", "jaw_lf", "head", "jaw_lm", "head", "jaw_ls", "head", "ear_r", "head", "ear_l", "head", "lip_lc", "head", "lip_lwlb", "head", "lip_lwlf", "head", "lip_lwm", "head", "lip_lwrf", "head", "lip_lwrb", "head", "lip_rc", "head", "lip_uprb", "head", "lip_uprf", "head", "lip_upm", "head", "lip_uplf", "head", "lip_uplb", "head", "nose_tip", "head", "nose_r", "head", "nose_l", "head", "zig_lt", "head", "zig_lm", "head", "zig_lb", "head", "zig_rt", "head", "zig_rm", "head", "zig_rb", "head", "cheek_r", "head", "cheek_l", "head", "eyebrow_lb", "head", "eyebrow_lm", "head", "eyebrow_lf", "head", "corr", "head", "eyebrow_rf", "head", "eyebrow_rm", "head", "eyebrow_rb", "head", "eye_upr", "head", "eye_lwr", "head", "eye_upl", "head", "eye_lwl", "head", "cheek_rf", "head", "cheek_rm", "head", "cheek_rb", "head", "cheek_lf", "head", "cheek_lm", "head", "cheek_lb", "head", "forehead_l", "head", "forehead_m", "head", "forehead_r", "head", "l_eye", "head", "r_eye", "head", "l_pupila", "head", "r_pupila", "head", "neck_t", "head", "neck_b", "head", "neck_r", "head", "neck_l", "head", "tongue_b", "head", "tongue_m", "head", "tongue_f", "head"};
};

class OFP2_ManSkeleton {
isDiscrete = 0;
skeletonInherit = "";
skeletonBones[] = {"Pelvis", "", "Spine", "Pelvis", "Spine1", "Spine", "Spine2", "Spine1", "Spine3", "Spine2", "Camera", "Pelvis", "weapon", "Spine1", "launcher", "Spine1", "neck", "Spine3", "neck1", "neck", "head", "neck1", "HeadCutScene", "head", "jaw", "head", "chin", "head", "jaw_rf", "head", "jaw_rm", "head", "jaw_rs", "head", "jaw_lf", "head", "jaw_lm", "head", "jaw_ls", "head", "ear_r", "head", "ear_l", "head", "lip_lc", "head", "lip_lwlb", "head", "lip_lwlf", "head", "lip_lwm", "head", "lip_lwrf", "head", "lip_lwrb", "head", "lip_rc", "head", "lip_uprb", "head", "lip_uprf", "head", "lip_upm", "head", "lip_uplf", "head", "lip_uplb", "head", "nose_tip", "head", "nose_r", "head", "nose_l", "head", "zig_lt", "head", "zig_lm", "head", "zig_lb", "head", "zig_rt", "head", "zig_rm", "head", "zig_rb", "head", "cheek_r", "head", "cheek_l", "head", "eyebrow_lb", "head", "eyebrow_lm", "head", "eyebrow_lf", "head", "corr", "head", "eyebrow_rf", "head", "eyebrow_rm", "head", "eyebrow_rb", "head", "eye_upr", "head", "eye_lwr", "head", "eye_upl", "head", "eye_lwl", "head", "cheek_rf", "head", "cheek_rm", "head", "cheek_rb", "head", "cheek_lf", "head", "cheek_lm", "head", "cheek_lb", "head", "forehead_l", "head", "forehead_m", "head", "forehead_r", "head", "l_eye", "head", "r_eye", "head", "l_pupila", "head", "r_pupila", "head", "neck_t", "head", "neck_b", "head", "neck_r", "head", "neck_l", "head", "tongue_b", "head", "tongue_m", "head", "tongue_f", "head", "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", "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", "LeftUpLeg", "Pelvis", "LeftUpLegRoll", "LeftUpLeg", "LeftLeg", "LeftUpLegRoll", "LeftLegRoll", "LeftLeg", "LeftFoot", "LeftLegRoll", "LeftToeBase", "LeftFoot", "RightUpLeg", "Pelvis", "RightUpLegRoll", "RightUpLeg", "RightLeg", "RightUpLegRoll", "RightLegRoll", "RightLeg", "RightFoot", "RightLegRoll", "RightToeBase", "RightFoot"};
pivotsModel = "";
};

class WomanSkeleton {
isDiscrete = 0;
skeletonInherit = "";
skeletonBones[] = {"Pelvis", "", "Spine", "Pelvis", "Spine1", "Spine", "Spine2", "Spine1", "Spine3", "Spine2", "Camera", "Pelvis", "neck", "Spine3", "neck1", "neck", "head", "neck1", "jaw", "head", "chin", "head", "jaw_rm", "head", "jaw_lm", "head", "lip_lc", "head", "lip_lwlb", "head", "lip_lwlf", "head", "lip_lwm", "head", "lip_lwrf", "head", "lip_lwrb", "head", "lip_rc", "head", "lip_uprf", "head", "lip_upm", "head", "lip_uplf", "head", "nose_r", "head", "nose_l", "head", "zig_lt", "head", "zig_rt", "head", "cheek_r", "head", "cheek_l", "head", "eyebrow_lm", "head", "corr", "head", "eyebrow_rm", "head", "eye_upr", "head", "eye_lwr", "head", "eye_upl", "head", "eye_lwl", "head", "cheek_rf", "head", "cheek_lf", "head", "forehead_m", "head", "l_eye", "head", "r_eye", "head", "LeftShoulder", "Spine3", "LeftArm", "LeftShoulder", "LeftArmRoll", "LeftArm", "LeftForeArm", "LeftArmRoll", "LeftForeArmRoll", "LeftForeArm", "LeftHand", "LeftForeArmRoll", "LeftInHandRing", "LeftHand", "LeftHandRing1", "LeftInHandRing", "LeftHandRing2", "LeftHandRing1", "LeftHandRing3", "LeftHandRing2", "LeftHandPinky1", "LeftInHandRing", "LeftHandPinky2", "LeftHandPinky1", "LeftHandPinky3", "LeftHandPinky2", "LeftHandMiddle1", "LeftHand", "LeftHandMiddle2", "LeftHandMiddle1", "LeftHandMiddle3", "LeftHandMiddle2", "LeftHandIndex1", "LeftHand", "LeftHandIndex2", "LeftHandIndex1", "LeftHandIndex3", "LeftHandIndex2", "LeftHandThumb1", "LeftHand", "LeftHandThumb2", "LeftHandThumb1", "LeftHandThumb3", "LeftHandThumb2", "RightShoulder", "Spine3", "RightArm", "RightShoulder", "RightArmRoll", "RightArm", "RightForeArm", "RightArmRoll", "RightForeArmRoll", "RightForeArm", "RightHand", "RightForeArmRoll", "RightInHandRing", "RightHand", "RightHandRing1", "RightInHandRing", "RightHandRing2", "RightHandRing1", "RightHandRing3", "RightHandRing2", "RightHandPinky1", "RightInHandRing", "RightHandPinky2", "RightHandPinky1", "RightHandPinky3", "RightHandPinky2", "RightHandMiddle1", "RightHand", "RightHandMiddle2", "RightHandMiddle1", "RightHandMiddle3", "RightHandMiddle2", "RightHandIndex1", "RightHand", "RightHandIndex2", "RightHandIndex1", "RightHandIndex3", "RightHandIndex2", "RightHandThumb1", "RightHand", "RightHandThumb2", "RightHandThumb1", "RightHandThumb3", "RightHandThumb2", "LeftUpLeg", "Pelvis", "LeftUpLegRoll", "LeftUpLeg", "LeftLeg", "LeftUpLegRoll", "LeftLegRoll", "LeftLeg", "LeftFoot", "LeftLegRoll", "LeftToeBase", "LeftFoot", "RightUpLeg", "Pelvis", "RightUpLegRoll", "RightUpLeg", "RightLeg", "RightUpLegRoll", "RightLegRoll", "RightLeg", "RightFoot", "RightLegRoll", "RightToeBase", "RightFoot"};
pivotsModel = "";
};
};

class CfgModels {
class Default {
sectionsInherit = "";
sections[] = {};
skeletonName = "";
};

class Head : Default {
sections[] = {"osobnost", "brejle"};
skeletonName = "Head";
};

class ArmaMan : Default {
sections[] = {"osobnost", "Head_Injury", "Body_Injury", "l_leg_injury", "l_arm_injury", "r_arm_injury", "r_leg_injury", "clan", "clan_sign", "Camo", "CamoB", "helmet_m90k", "crew_helmet", "bowman_headset", "peltor_headset"};
skeletonName = "OFP2_ManSkeleton";
};

class ArmaWoman : Default {
sections[] = {"osobnost", "Head_Injury", "Body_Injury", "l_leg_injury", "l_arm_injury", "r_arm_injury", "r_leg_injury", "clan", "clan_sign", "Camo", "CamoB"};
skeletonName = "WomanSkeleton";
};

class Vehicle : Default {
sections[] = {"cislo", "grupa", "side", "sektor", "clan", "clan_sign", "podsvit pristroju", "poskozeni", "L svetlo", "P svetlo", "zasleh"};
};

class Flag : Default {
sections[] = {"latka"};
};

class flag_auto : Flag {};

class flag_alone : Flag {};

class dar_mich_acu01 : ArmaMan {};
};

---------- Post added at 17:49 ---------- Previous post was at 17:35 ----------

Stiltman, would you mind showing me your config files that you used for that working helmet?

Share this post


Link to post
Share on other sites

how do you "call" the helmet in the editor?

or do you put it in an ammobox or in the init of the soldier.

just to make sure the item you trying to add is dar_us_acu_MICH

cos cant see anything wrong with the config in my eyes, same as my own, and it shouldnt be model.cfg issue.

No Entry Config.bin/CfgWeapons

sounds like you could be trying to add an item not existing in the configs, wrong classname or something like that.

Share this post


Link to post
Share on other sites

I am attempting to retrive my helmet through a small script for a gearbox. It is as follows:

/////////   MP Ammo Box script
/////////   By: Riouken
/////////   For Arma 3

if (! isServer) exitWith {};


_crate = _this select 0;




while {alive _crate} do
{


clearMagazineCargo _crate;
clearWeaponCargo _crate;
clearItemCargoGlobal _crate;


////Helmets(working)////
_crate addItemCargoGlobal ["dar_us_acu_MICH", 50];

sleep 500;
};

---------- Post added at 18:25 ---------- Previous post was at 18:20 ----------

Here is a link to the full model.. unbinarized.. maybe this will help.

https://dl.dropbox.com/u/23389642/dar_us_mich.rar

Also..

I noticed that in my config.cpp

I have this:

class CfgPatches {

class dar_us_MICH {

But this is different

class dar_us_acu_MICH : ItemCore {

Does that matter?

Edited by RichardsD

Share this post


Link to post
Share on other sites

For some reason, no matter where I put my headgear model in 3dsmax, in relation to the head bone, nor where the model sits in oxygen, the model is always in the abdomen, but is attached to the head bone and moves around with it

10+ attempts later, still can't get it to move at least one inch, what's up?

Share this post


Link to post
Share on other sites
For some reason, no matter where I put my headgear model in 3dsmax, in relation to the head bone, nor where the model sits in oxygen, the model is always in the abdomen, but is attached to the head bone and moves around with it

10+ attempts later, still can't get it to move at least one inch, what's up?

you need to have Geometry LOD (even if empty) and it has to have "autocenter = 0" set in Named Property window. See the cap model in examples

Share this post


Link to post
Share on other sites

You also have to make sure you have a model.cfg file with the models defined in it.

Share this post


Link to post
Share on other sites

Sweet, it's all fixed now, even if it took me 3+ attempts to place it properly.

But then there's another problem, it appears arma 3 completely ignores red channel in my custom texture, is there any way to fix this?

Share this post


Link to post
Share on other sites

There is no need to place any new helmet to specific possition on a new character ...

Just use the default position given as proxy through A3_Character_Examples by BIS (do not change the proxy ... keep the original) ... the only thing after these steps you must follow, is to add these two lines in your character config (in CfgVehicles) ...

linkedItems[] = {"YourHelmetAddonName"};

respawnLinkedItems[] = {"YourHelmetAddonName"};

("YourHelmetAddonName" is of course the name of your helmet addon).

This works fine for me.

Aplion

Edited by Aplion

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

×