I don′t know if this is the right place for what i want to know, but maybe someone could help me with my little problem.
I am working on a mod that will change all NPCs ingame to use different skeleton with new attached bones for age and bodysize.
I modded "MAONPCSkeletonPatcher" with this little script
random.seed(record.fid) randomNumber = random.randint(1, 49) if randomNumber == 1: newModPath = r"characters\_male\skeleton_001_veryold_veryslim.nif" if randomNumber == 2: newModPath = r"characters\_male\skeleton_002_old_veryslim.nif" if randomNumber == 3: newModPath = r"characters\_male\skeleton_003_older_veryslim.nif" if randomNumber == 4: newModPath = r"characters\_male\skeleton_004_normal_veryslim.nif" if randomNumber == 5: newModPath = r"characters\_male\skeleton_005_younger_veryslim.nif" if randomNumber == 6: newModPath = r"characters\_male\skeleton_006_young_veryslim.nif" if randomNumber == 7: newModPath = r"characters\_male\skeleton_007_veryyoung_veryslim.nif" if randomNumber == 8: newModPath = r"characters\_male\skeleton_008_veryold_slim.nif" if randomNumber == 9: newModPath = r"characters\_male\skeleton_009_old_slim.nif" if randomNumber == 10: newModPath = r"characters\_male\skeleton_010_older_slim.nif" if randomNumber == 11: newModPath = r"characters\_male\skeleton_011_normal_slim.nif" if randomNumber == 12: newModPath = r"characters\_male\skeleton_012_younger_slim.nif" if randomNumber == 13: newModPath = r"characters\_male\skeleton_013_young_slim.nif" if randomNumber == 14: newModPath = r"characters\_male\skeleton_014_veryyoung_slim.nif" if randomNumber == 15: newModPath = r"characters\_male\skeleton_015_veryold_slimmer.nif" if randomNumber == 16: newModPath = r"characters\_male\skeleton_016_old_slimmer.nif" if randomNumber == 17: newModPath = r"characters\_male\skeleton_017_older_slimmer.nif" if randomNumber == 18: newModPath = r"characters\_male\skeleton_018_normal_slimmer.nif" if randomNumber == 19: newModPath = r"characters\_male\skeleton_019_younger_slimmer.nif" if randomNumber == 20: newModPath = r"characters\_male\skeleton_020_young_slimmer.nif" if randomNumber == 21: newModPath = r"characters\_male\skeleton_021_veryyoung_slimmer.nif" if randomNumber == 22: newModPath = r"characters\_male\skeleton_022_veryold_normal.nif" if randomNumber == 23: newModPath = r"characters\_male\skeleton_023_old_normal.nif" if randomNumber == 24: newModPath = r"characters\_male\skeleton_024_older_normal.nif" if randomNumber == 25: newModPath = r"characters\_male\skeleton_025_normal_normal.nif" if randomNumber == 26: newModPath = r"characters\_male\skeleton_026_younger_normal.nif" if randomNumber == 27: newModPath = r"characters\_male\skeleton_027_young_normal.nif" if randomNumber == 28: newModPath = r"characters\_male\skeleton_028_veryyoung_normal.nif" if randomNumber == 29: newModPath = r"characters\_male\skeleton_029_veryold_rounder.nif" if randomNumber == 30: newModPath = r"characters\_male\skeleton_030_old_rounder.nif" if randomNumber == 31: newModPath = r"characters\_male\skeleton_031_older_rounder.nif" if randomNumber == 32: newModPath = r"characters\_male\skeleton_032_normal_rounder.nif" if randomNumber == 33: newModPath = r"characters\_male\skeleton_033_younger_rounder.nif" if randomNumber == 34: newModPath = r"characters\_male\skeleton_034_young_rounder.nif" if randomNumber == 35: newModPath = r"characters\_male\skeleton_035_veryyoung_rounder.nif" if randomNumber == 36: newModPath = r"characters\_male\skeleton_036_veryold_round.nif" if randomNumber == 37: newModPath = r"characters\_male\skeleton_037_old_round.nif" if randomNumber == 38: newModPath = r"characters\_male\skeleton_038_older_round.nif" if randomNumber == 39: newModPath = r"characters\_male\skeleton_039_normal_round.nif" if randomNumber == 40: newModPath = r"characters\_male\skeleton_040_younger_round.nif" if randomNumber == 41: newModPath = r"characters\_male\skeleton_041_young_round.nif" if randomNumber == 42: newModPath = r"characters\_male\skeleton_042_veryyoung_round.nif" if randomNumber == 43: newModPath = r"characters\_male\skeleton_043_veryold_veryround.nif" if randomNumber == 44: newModPath = r"characters\_male\skeleton_044_old_veryround.nif" if randomNumber == 45: newModPath = r"characters\_male\skeleton_045_older_veryround.nif" if randomNumber == 46: newModPath = r"characters\_male\skeleton_046_normal_veryround.nif" if randomNumber == 47: newModPath = r"characters\_male\skeleton_047_younger_veryround.nif" if randomNumber == 48: newModPath = r"characters\_male\skeleton_048_young_veryround.nif" if randomNumber == 49: newModPath = r"characters\_male\skeleton_049_veryyoung_veryround.nif"
the skeletons got the right transform and scales for different look
i also weightpainted upper and lowerbody and some clothes do work with the skeletons. And it is working great!
That means new bodies for npcs the same time without the headbanging bug.
But the bodies will be atached to npc randomly (only for once, if a batched patch is made)
Before i could release my mod it′s important for me to know how i would be able to read facegen data for face age and face heavy/light.
I saw that there are some things in "bosh.py" but i have not enough experience with python to understand most of the code.
It would be cool if i can use age and face heavy/light data (in decimal) to use with the skeletons that old faces get old looking bodies and fat faces fat bodies *g*
Wrye Bash it is a great tool!