Welcome Guest ( Log In / Register ) |
Quick Lists Top RatedTutorials Living World Map G… Ultimate beginner'… Arrow scaling bug… Raising Heroes max… Creating an asset.… Simple Structure B… Proper Fire Arrow… Making a simple Ma… Quick and easy sno… Making patrols nea… Mods The Dwarf Holds The Peloponnesian… RJ - RotWK The Elven Alliance… Helm's Deep Last H… The Elven Alliance Special Extended E… Kings of the West… RC Mod The Wars of Arda Downloads BFME1 1.06 Widescr… Enhanced W3D Impor… Fudge's Map Pack LotR/BfME HD Logos Osgiliath Shellmap Crystals Of Ancien… 2v1 Wold The forests of Dru… Converted BFME2 an… ROTWK animations f… |
||||||||||||||||||||||||||||||||||||
Register and log in to move these advertisements down Ultimate beginner's guide. New hero, many topics
The second thing we will do is change the models of your hero, so open malvack.ini (or however the ini of your hero is named) and delete everything between "SelectPortrait/ButtonImage" and "#include ..\..\..\includes\StunDrawModuleSmall.inc" /"; ***DESIGN parameters *** "/"Side = Angmar". Now, in the blank space paste this:
The last 2 modules can be uncommented to have an extra effect. Notice that in the code appears a lot the phrase #(MODEL), we will need to change this in order to make it work. Remember the createaheromodels.inc file? Well, in it every CaH type has this part that reads "ModelAnimationPrefix" we need to copy the prefix of the CaH hero that we want and use it to overwrite #(MODEL) in the above code. If you run the game now, you'll find out that your hero is equipped with everything, and I do mean everything. He will have all the shoulder protections, all the swords, shields, boots, and so on. All of these things are known as Subobjects; in order to choose what subobjects we want to see, we have to know which ones we don't want to see. To do this, we need the following line of code:
With this we tell the game what SubObjects to hide when our hero reaches the Upgrade_ObjectLevel1 (spoiler alert: he will achieve it as soon as he is recruited thanks to the experiecelevel.ini entry that we added a few steps ago). Now we need a list of subobjects, to know the names we will put in the HideSubObjects part. From createaheroweaponupgrades.inc I made the following list: Dwarves: AXE02 AXE_01 AXE_02 AXE_03 BOOT_01 BOOT_02 BOOT_03 BOOT_04 GNLT_01 GNLT_02 GNLT_03 GNLT_04 HLMT_01 HLMT_02 HLMT_03 HLMT_04 HLMT_05 HLMT_06 HMR_01 SLDR_01 SLDR_02 SLDR_03 SLDR_04 SLDR_05 SLDR_06 Wizard: WizardStaff01 WizStaff01_FX01 WizStaff01_FX2 WizStaff01_FX3 WizStaff01_FX4 WizardStaff02 WizStaff02_FX1 WizardStaff03 WizStaff03_FX01 WizStaff03_FX02 WizardStaff04 WizStaff04_FX01 WizStaff04_FX02 WizStaff04_FX03 WizStaff04_FX04 WizStaff04_FX05 WizStaff04_FX06 WizStaff04_FX07 STFF_05 STFF_06 HLMT_01 HLMT_02 HLMT_03 HLMT_04 HLMT_05 HLMT_06 HLMT_07 HLMT_08 ;Beard SLDR_01 SLDR_02 Elf: MithlondBow WestronSword ;From toggle weapon BOW_03 BOW_04 BOW_05 BOW_07 SLDR_01 SLDR_02 SLDR_03 SLDR_04 HLMT_01 HLMT_02 HLMT_03 GNLT_01 GNLT_02 GNLT_03 GNLT_04 BOOT_01 BOOT_02 BOOT_03 Female Elven Archer: BOW_03 BOW_04 BOW_07 SLDR_01 SLDR_02 SLDR_03 SLDR_04 SLDR_05 SLDR_06 HLMT_01 HLMT_02 HLMT_03 HLMT_04 HLMT_05 GNLT_01 GNLT_02 GNLT_03 GNLT_04 GNLT_05 GNLT_07 BOOT_01 BOOT_02 BOOT_03 BOOT_04 BOOT_05 BOOT_06 Troll: TrollBane TrollMace TrollSword TrollHammer TrollTree CLUB_01 HMR_02 HMR_04 PAXE_01 SWRD_03 SWD_03 SLDR_01 SLDR_02 SLDR_03 SLDR_04 SLDR_05 SLDR_06 HLMT_01 HLMT_02 HLMT_03 HLMT_04 HLMT_05 HLMT_06 HLMT_07 HLMT_08 GNLT_01 GNLT_02 GNLT_03 GNLT_04 GNLT_05 GNLT_06 GNLT_07 GNLT_08 GNLT_09 GNLT_10 Uruk: Uruk_Sword_01 Belthronding Uruk_Sword_02 Uruk_Sword_03 SLDR_01 SLDR_02 SLDR_03 HLMT_01 HLMT_02 HLMT_03 HLMT_04 HLMT_08 HAIR_01 GNLT_01 GNLT_02 GNLT_03 Shield_1OG Shield_2OG SHLD_01 SHLD_02 BOOT_01 BOOT_02 BOOT_03 Corrupted Man: CLUB_03 HMR_03 SWRD_03 SWD_03 SWRD_04 SWD_04 SWRD_05 CMSword01 CMSword02 SLDR_01 SLDR_02 SLDR_03 CHEST_01 CHEST_02 HLMT_01 HLMT_02 HLMT_03 HLMT_04 HLMT_05 HLMT_08 HLMT_09 BOOT_01 BOOT_02 BOOT_03 GNLT_01 GNLT_02 GNLT_03 Hero of the West: AXE_01 SWRD_05 FireBrand FireBrand_FX01 SLDR_01 SLDR_02 SLDR_04 SLDR_05 HAIR_00 HLMT_01 HLMT_02 HLMT_05 HLMT_06 Shld_01 Shld_02 Shld_03 Shld_04 BOOT_00 BOOT_01 BOOT_02 BOOT_04 BOOT_05 GNLT_00 GNLT_01 GNLT_02 GNLT_04 GNLT_05 Shield Maiden SLDR_00 SLDR_01 SLDR_02 SLDR_04 SLDR_05 HLMT_00 HLMT_01 HLMT_02 HLMT_05 GNLT_00 GNLT_01 GNLT_02 GNLT_04 GNLT_05 BOOT_00 BOOT_01 BOOT_02 BOOT_04 BOOT_05 Orc: SLDR_04 SLDR_05 HLMT_05 HLMT_07 GNLT_04 GNLT_05 BOOT_04 BOOT_05 BOOT_06 Others Belthronding ;Sword Gurthang ;Sword WestronSword ;Sword ----------------------------------------------------------------------------------------- Based on that list, I created these entries in malvack.ini in order to hide everything but the things that I actually want to show up.
Notice how I commented a couple of entries, that is because I want my hero to show up with both the WestronSword and Shld_02. If this list isn't enough (a.k.a. your hero still shows up with unwanted subobjects) here's a huge list of CaH subobjects taken from some LUA script. Read it carefully: ObjectHideSubObjectPermanently( self, "SWORD", true ) ObjectHideSubObjectPermanently( self, "BOW", true ) ObjectHideSubObjectPermanently( self, "BOW_03", true ) ObjectHideSubObjectPermanently( self, "BOW_04", true ) ObjectHideSubObjectPermanently( self, "BOW_05", true ) ObjectHideSubObjectPermanently( self, "TRUNK01", true ) ObjectHideSubObjectPermanently( self, "STAFF_LIGHT", true ) ObjectHideSubObjectPermanently( self, "OBJECT01", true ) ObjectHideSubObjectPermanently( self, "SHIELD01", true ) ObjectHideSubObjectPermanently( self, "SHIELD_01", true ) ObjectHideSubObjectPermanently( self, "SPEAR", true ) ObjectHideSubObjectPermanently( self, "SHIELD_B", true ) ObjectHideSubObjectPermanently( self, "SHIELD_C", true ) ObjectHideSubObjectPermanently( self, "SHIELD_D", true ) ObjectHideSubObjectPermanently( self, "B_SHIELD", true ) ObjectHideSubObjectPermanently( self, "WEAPON_A", true ) ObjectHideSubObjectPermanently( self, "WEAPON_B", true ) ObjectHideSubObjectPermanently( self, "WEAPON_C", true ) ObjectHideSubObjectPermanently( self, "WEAPON_D", true ) ObjectHideSubObjectPermanently( self, "AXE02", true ) ObjectHideSubObjectPermanently( self, "AxeWeapon", true ) ObjectHideSubObjectPermanently( self, "Belthronding", true ) -- ObjectHideSubObjectPermanently( self, "Mithlondrecurve", true ) ObjectHideSubObjectPermanently( self, "Dwarf_Axe01", true ) ObjectHideSubObjectPermanently( self, "FireBrand", true ) ObjectHideSubObjectPermanently( self, "FireBrand_SM", true ) ObjectHideSubObjectPermanently( self, "FireBrand_FX01", true ) ObjectHideSubObjectPermanently( self, "FireBrand_FX02", true ) ObjectHideSubObjectPermanently( self, "Gurthang", true ) ObjectHideSubObjectPermanently( self, "Gurthang_SM", true ) ObjectHideSubObjectPermanently( self, "HeroOfTheWestShield", true ) ObjectHideSubObjectPermanently( self, "HeroOfTheWestShield_SM", true ) ObjectHideSubObjectPermanently( self, "MithlondBow", true ) ObjectHideSubObjectPermanently( self, "TrollBane", true ) ObjectHideSubObjectPermanently( self, "TrollBane_SM", true ) ObjectHideSubObjectPermanently( self, "TrollBane_FX01", true ) ObjectHideSubObjectPermanently( self, "TrollBane_FX02", true ) ObjectHideSubObjectPermanently( self, "TrollMace", true ) ObjectHideSubObjectPermanently( self, "TrollSword", true ) ObjectHideSubObjectPermanently( self, "WestronSword", true ) ObjectHideSubObjectPermanently( self, "WestronSword", true ) ObjectHideSubObjectPermanently( self, "WestronSword_SM", true ) ObjectHideSubObjectPermanently( self, "WizardStaff01", true ) ObjectHideSubObjectPermanently( self, "WizStaff01_FX01", true ) ObjectHideSubObjectPermanently( self, "WizStaff01_FX2", true ) ObjectHideSubObjectPermanently( self, "WizStaff01_FX3", true ) ObjectHideSubObjectPermanently( self, "WizStaff01_FX4", true ) ObjectHideSubObjectPermanently( self, "WizardStaff02", true ) ObjectHideSubObjectPermanently( self, "WizStaff02_FX1", true ) ObjectHideSubObjectPermanently( self, "WizardStaff03", true ) ObjectHideSubObjectPermanently( self, "WizStaff03_FX01", true ) ObjectHideSubObjectPermanently( self, "WizStaff03_FX02", true ) ObjectHideSubObjectPermanently( self, "WizardStaff04", true ) ObjectHideSubObjectPermanently( self, "WizStaff04_FX01", true ) ObjectHideSubObjectPermanently( self, "WizStaff04_FX02", true ) ObjectHideSubObjectPermanently( self, "WizStaff04_FX03", true ) ObjectHideSubObjectPermanently( self, "WizStaff04_FX04", true ) ObjectHideSubObjectPermanently( self, "WizStaff04_FX05", true ) ObjectHideSubObjectPermanently( self, "WizStaff04_FX06", true ) ObjectHideSubObjectPermanently( self, "WizStaff04_FX07", true ) ObjectHideSubObjectPermanently( self, "WizardSword", true ) ObjectHideSubObjectPermanently( self, "CMSword01", true ) ObjectHideSubObjectPermanently( self, "CMSword02", true ) ObjectHideSubObjectPermanently( self, "CHEST_00", true ) ObjectHideSubObjectPermanently( self, "CHEST_01", true ) ObjectHideSubObjectPermanently( self, "CHEST_02", true ) ObjectHideSubObjectPermanently( self, "BOOT_00", true ) ObjectHideSubObjectPermanently( self, "BOOT_01", true ) ObjectHideSubObjectPermanently( self, "BOOT_02", true ) ObjectHideSubObjectPermanently( self, "BOOT_03", true ) ObjectHideSubObjectPermanently( self, "BOOT_04", true ) ObjectHideSubObjectPermanently( self, "BOOT_05", true ) ObjectHideSubObjectPermanently( self, "BOOT_06", true ) ObjectHideSubObjectPermanently( self, "SHLD_00", true ) ObjectHideSubObjectPermanently( self, "SHLD_01", true ) ObjectHideSubObjectPermanently( self, "SHLD_02", true ) ObjectHideSubObjectPermanently( self, "SHLD_03", true ) ObjectHideSubObjectPermanently( self, "SHLD_04", true ) ObjectHideSubObjectPermanently( self, "SLDR_00", true ) ObjectHideSubObjectPermanently( self, "SLDR_01", true ) ObjectHideSubObjectPermanently( self, "SLDR_02", true ) ObjectHideSubObjectPermanently( self, "SLDR_03", true ) ObjectHideSubObjectPermanently( self, "SLDR_04", true ) ObjectHideSubObjectPermanently( self, "SLDR_05", true ) ObjectHideSubObjectPermanently( self, "SLDR_06", true ) ObjectHideSubObjectPermanently( self, "Shield_1OG", true ) ObjectHideSubObjectPermanently( self, "Shield_2OG", true ) ObjectHideSubObjectPermanently( self, "HAIR_00", true ) ObjectHideSubObjectPermanently( self, "HAIR_01", true ) ObjectHideSubObjectPermanently( self, "HLMT_00", true ) ObjectHideSubObjectPermanently( self, "HLMT_01", true ) ObjectHideSubObjectPermanently( self, "HLMT_02", true ) ObjectHideSubObjectPermanently( self, "HLMT_03", true ) ObjectHideSubObjectPermanently( self, "HLMT_04", true ) ObjectHideSubObjectPermanently( self, "HLMT_05", true ) ObjectHideSubObjectPermanently( self, "HLMT_06", true ) ObjectHideSubObjectPermanently( self, "HLMT_07", true ) ObjectHideSubObjectPermanently( self, "HLMT_07_LOD1", true ) ObjectHideSubObjectPermanently( self, "HLMT_08", true ) ObjectHideSubObjectPermanently( self, "HLMT_09", true ) ObjectHideSubObjectPermanently( self, "GNLT_00", true ) ObjectHideSubObjectPermanently( self, "GNLT_01", true ) ObjectHideSubObjectPermanently( self, "GNLT_02", true ) ObjectHideSubObjectPermanently( self, "GNLT_03", true ) ObjectHideSubObjectPermanently( self, "GNLT_04", true ) ObjectHideSubObjectPermanently( self, "GNLT_05", true ) ObjectHideSubObjectPermanently( self, "GNLT_06", true ) ObjectHideSubObjectPermanently( self, "GNLT_07", true ) ObjectHideSubObjectPermanently( self, "GNLT_08", true ) ObjectHideSubObjectPermanently( self, "GHLT_08", true ) ObjectHideSubObjectPermanently( self, "GNLT_09", true ) ObjectHideSubObjectPermanently( self, "GNLT_09_LOD1", true ) ObjectHideSubObjectPermanently( self, "GNLT_10", true ) ObjectHideSubObjectPermanently( self, "SPR_01", true ) ObjectHideSubObjectPermanently( self, "PAXE_01", true ) ObjectHideSubObjectPermanently( self, "PAXE_01_LOD1", true ) ObjectHideSubObjectPermanently( self, "SWRD_01", true ) ObjectHideSubObjectPermanently( self, "SWRD_02", true ) ObjectHideSubObjectPermanently( self, "SWRD_03", true ) ObjectHideSubObjectPermanently( self, "SWRD_04", true ) ObjectHideSubObjectPermanently( self, "SWRD_05", true ) ObjectHideSubObjectPermanently( self, "SWD_01", true ) ObjectHideSubObjectPermanently( self, "SWD_02", true ) ObjectHideSubObjectPermanently( self, "SWD_03", true ) ObjectHideSubObjectPermanently( self, "SWD_04", true ) ObjectHideSubObjectPermanently( self, "STFF_05", true ) ObjectHideSubObjectPermanently( self, "STFF_06", true ) ObjectHideSubObjectPermanently( self, "objSLDR_01", true ) ObjectHideSubObjectPermanently( self, "objSLDR_02", true ) ObjectHideSubObjectPermanently( self, "objSLDR_03", true ) ObjectHideSubObjectPermanently( self, "objHLMT_01", true ) ObjectHideSubObjectPermanently( self, "objHLMT_02", true ) ObjectHideSubObjectPermanently( self, "objHLMT_03", true ) ObjectHideSubObjectPermanently( self, "objHLMT_04", true ) ObjectHideSubObjectPermanently( self, "Uruk_Sword_01", true ) ObjectHideSubObjectPermanently( self, "Uruk_Sword_02", true ) ObjectHideSubObjectPermanently( self, "Uruk_Sword_03", true ) ObjectHideSubObjectPermanently( self, "TrollTree", true ) ObjectHideSubObjectPermanently( self, "TrollHammer", true ) ObjectHideSubObjectPermanently( self, "CLUB_01", true ) ObjectHideSubObjectPermanently( self, "CLUB_02", true ) ObjectHideSubObjectPermanently( self, "CLUB_03", true ) ObjectHideSubObjectPermanently( self, "HMR_01", true ) ObjectHideSubObjectPermanently( self, "HMR_02", true ) ObjectHideSubObjectPermanently( self, "HMR_03", true ) ObjectHideSubObjectPermanently( self, "HMR_04", true ) ObjectHideSubObjectPermanently( self, "AXE_01", true ) ObjectHideSubObjectPermanently( self, "AXE_02", true ) ObjectHideSubObjectPermanently( self, "AXE_03", true ) ObjectHideSubObjectPermanently( self, "BARREL", true ) ObjectHideSubObjectPermanently( self, "OBJECT02", true ) -- Barrel on the Orc Raider ObjectHideSubObjectPermanently( self, "ARROW", true ) ObjectHideSubObjectPermanently( self, "PLANE02", true ) Links / Downloads
CommentsDisplay order: Newest first Amonrath - Monday August 14, 2017 - 2:16 Hello! I'm trying to do the but in the bfme I. Is there any different steps? I created a folder with my own mod... I then just edit the values that I want and I save them... I have also added the -mod in the end of the "Path" as well as done the lotr.srt extraction. Could anyone help? Thanks =D BouncyKnight - Tuesday April 25, 2017 - 22:08 Amazing step-by-step, very detailed and explanatory tutorial on how to create your custom heroes! Thank you sir, you're great! Gabriel Oak - Tuesday December 13, 2016 - 11:19 I created this account only to thank you, sir. This tutorial is really, really useful. |
||||||||||||||||||||||||||||||||||||
"One site to rule them all, one site to find them, © All Rights Reserved Eric Edwards ©2013. |