Beginner questions
#1
Posted 07 February 2011 - 07:28 PM
I have never modded before, and I'm not even 100% sure that I understand how to even make a mod, but the thing I want to do eventually is adding a few own heroes to the game, so just thought that I'd throw out a few questions.
First off, I've found a model that's both mounted and on foot, in this case Nertea's prince Imrahil (http://www.the3rdage...tem-136?addview), it's positively possible to put that one in the game and change the name and take skills from other heroes and maybe Create A Hero skills, if I'm lucky?
Secondly, is it possible to make some kind of wolf run around a character attacking things in range once it reaches the right level? I was thinking something along the lines of an "Animal Companion" skill, with the wolf working like the wolves from the building for angmar, not sure what the name is, but I'm sure that you know what I mean, it's the fortress defence building. Also, dream would be to have the wolf look like the ones that roam around on some maps in BFME1, but that might be too advanced (like the rest isn't )
Also, I've been looking at models such as Knight of Dol Amroth on Foot, also by Nertea, Turin's Harad-Assassin and Ranger (http://www.the3rdage...tem-386?addview) and loads of other skins, including a few already in the game, such as the Hobbits from the Summon Hobbits spell, and I'm wondering, it it possible to take one of those skins and make a hero out of it, providing I manage to get everything right?
If it matters, I was planning on doing this on Rise of the Witch-King.
Thank you for reading this.
/Borotroth
#2
Posted 07 February 2011 - 08:11 PM
If you want to make a hero out of some models that are on the site, then you must know how to create an asset using EA's/Sy's asset and you must know how to create a hero ini. All these things you asked are on the main site Here.
With your wolf, if you want to use that wolf, it won't have attacking animations but you can learn how to model and give it a warg's bones
There should be a tutorial on how to make it a "companion" to an object. It's called a slave module I think
#3
Posted 07 February 2011 - 08:53 PM
But you can learn how to model and give it a warg's bones
or you could use a child object of the warg (the wolf in bfme 1)
and scale it with the scale code
Start by putting:
ChildObject CompanionWarg IsengardWargPack Scale = 0.1 ;you can pick any size...experiment! Endin isengardwargpack.ini(at the bottom)
Also, I've been looking at models such as Knight of Dol Amroth on Foot, also by Nertea, Turin's Harad-Assassin and Ranger (http://www.the3rdage...tem-386?addview) and loads of other skins, including a few already in the game, such as the Hobbits from the Summon Hobbits spell, and I'm wondering, it it possible to take one of those skins and make a hero out of it, providing I manage to get everything right?
yes i wrote an article on that:
HERE
and also all the questions you asked ARE possible
Edited by modboy451, 07 February 2011 - 09:20 PM.
John 3:16 (NIV)
For God so loved the world that he gave his one and only Son, that whoever believes in him shall not perish but have eternal life.
Psalm 23:1 (ESV)
A Psalm of David.
The LORD is my shepherd; I shall not want.
#4
Posted 08 February 2011 - 08:17 AM
Just a question, if I do it the the child object way, with the code you put in there, I'd have to import it and name it CompanionWarg, right?
And just so I get this about right, will it move like a Warg then or what does the ChildObject do?
Thank you
#5
Posted 08 February 2011 - 09:15 AM
You will have to add a slave object to the unit. If you have a look at the mordor goblins ini, then you should see it at the the botttom as a child object. Copy and paste that code to your unit's ini and rename the name and whatever needs renaming. I can do it for you once you finish working the objects ini
Ok, here is what the slave module is for the unit. I have taken a barrowwight_slaved from bfme2:
;------------------------------------------------------------------------- ; For the neutral barrow wight lairs. ChildObject BarrowWight_Slaved BarrowWight KindOf = PRELOAD SCORE CAN_ATTACK ATTACK_NEEDS_LINE_OF_SIGHT SELECTABLE PATH_THROUGH_EACH_OTHER SCARY MONSTER CREEP Body = ActiveBody ModuleTag_Body MaxHealth = 250 MaxHealthDamaged = 250 End Behavior = SlavedUpdate ModuleTag_Slave GuardMaxRange = 250.0 GuardWanderRange = 75.0 UseSlaverAsControlForEvaObjectSightedEvents = Yes ; It's a creep End EvaEnemyObjectSightedEvent = BarrowWightsSighted ; Special event for goblins showing up. Helps distinguish the real enemies from random creeps EvaEnemyObjectSightedAfterRespawnEvent = BarrowWightsSighted ; Event to run after the Goblin Lair is respawned. WARNING: This INI field only works for "SlavedUpdate.UseSlaverAsControlForEvaObjectSightedEvents = Yes" units End
And here is the object it's tied to (slaved to):
Behavior = SpawnBehavior ModuleTag_Spawn SpawnNumber = 1 InitialBurst = 1 SpawnTemplateName = BarrowWight_Slaved SpawnReplaceDelay = 300000 ; ;45000 CanReclaimOrphans = Yes End
This is what tells the unit/building what is slaved to it.
So if you wanted the unit to not respawn when it dies, then you either change:
SpawnReplaceDelay = 300000 ; ;45000into something like 30000000000000. Or you could change:
InitialBurst = 1the 1 into a 0.
So here is what you must add to your units behaviour section of the ini:
Behavior = SpawnBehavior ModuleTag_Spawn SpawnNumber = 1 InitialBurst = 1 ;0 SpawnTemplateName = CompanionWarg_Slaved SpawnReplaceDelay = 30000 ;3000000000 ; ;45000 CanReclaimOrphans = Yes EndChange the 1/300000 to what you want And if you want, you can make it say:
SpawnNumber = 2 ;3 ;4 ;5Which will make him have 2 companions When I use the semi-colons it means that is quoted out so the game won't read that I put it there to give an example.
So that's what goes into the unit who you want the companion to have.
Now let's say your slaved unit is called "companion warg"
Add this code to the bottom of his ini:
;------------------------------------------------------------------------- ; For the neutral barrow wight lairs. ChildObject CompanionWarg_Slaved IsengardWargPack KindOf = PRELOAD SCORE CAN_ATTACK ATTACK_NEEDS_LINE_OF_SIGHT SELECTABLE PATH_THROUGH_EACH_OTHER SCARY MONSTER CREEP Body = ActiveBody ModuleTag_Body MaxHealth = ;change to what you want MaxHealthDamaged = ;change to what you want End Behavior = SlavedUpdate ModuleTag_Slave GuardMaxRange = 250.0 GuardWanderRange = 75.0 UseSlaverAsControlForEvaObjectSightedEvents = No ; It's a creep End End
Edited by Uknown, 08 February 2011 - 09:38 AM.
#6
Posted 08 February 2011 - 11:19 AM
I'll try to make time this afternoon to see if I have any idea or not
#7
Posted 08 February 2011 - 11:26 AM
#8
Posted 08 February 2011 - 11:59 AM
I might start off with creating a hero that's a bit simpler tonight tho, just to see if I get how it is working.
If a model uses guboromir_skl.w3d, am I right in understanding that it uses boromirs animations?
Edited by borotroth, 08 February 2011 - 12:08 PM.
#10
Posted 08 February 2011 - 12:54 PM
On second thought, maybe I'll settle with the kind of wolves that is guarding the building, should be alot easier from what I understand
#11
Posted 08 February 2011 - 01:07 PM
Edited by Uknown, 08 February 2011 - 01:08 PM.
#12
Posted 09 February 2011 - 10:27 AM
Also, I'm following this guide http://www.the3rdage...item-90?addview to add skills to my hero, and I think that I understand the commandset and experiencelevels parts, but I'm wondering, is there an easy way to find the behavior and animations for skills? :s
#13
Posted 09 February 2011 - 11:08 AM
Anyway, what I do is search for "blademaster (without the quote marks) so I found a code like this:
ModelConditionState = WEAPONSET_HERO_MODE USER_3 ParticleSysBone = BAT_RIBS BladeMaster FollowBone:Yes ParticleSysBone = BAT_HEAD AragornElendill FollowBone:Yes End
This is that red stuff that covers the hero Remember that you should try not to use 2 of the same "ModelConditionState"'s because sometimes your powers get messed up and act weirdly by starting 1 power and finishing with a different
AnimationState = FIRING_OR_PREATTACK_A WEAPONSET_HERO_MODE ; Blademaster Mode StateName = STATE_ready Animation = ATKF AnimationName = GUAragorn_SKL.GUAragorn_ATKF AnimationMode = ONCE UseWeaponTiming = Yes End Flags = RESTART_ANIM_WHEN_COMPLETE FXEvent = Frame:25 Name: FX_BladeMasterHitOrient FXEvent = Frame:45 Name: FX_BladeMasterHitOrient End End
This is the animation code. Basically it says that the model will use a new type of attack but you don't want your model to use Aragorn's animations as it will look messed up
So change the GUAragorn_SKL.GUAragorn_ATKF to the hero you're using's animation. Choose an animation. Note: This is how I did it and it worked
Behavior = UnpauseSpecialPowerUpgrade ModuleTag_AragornBladeMasterEnabler SpecialPowerTemplate = SpecialAbilityAragornBladeMaster TriggeredBy = Upgrade_AragornBladeMaster End Behavior = SpecialPowerModule ModuleTag_AragornBladeMasterStarter ; SpecialAbility is a SpecialPower, SpecialPower is anyting special SpecialPowerTemplate = SpecialAbilityAragornBladeMaster StartsPaused = Yes End Behavior = HeroModeSpecialAbilityUpdate ModuleTag_AragornBladeMasterUpdate ; So the difference in SpecialAbility is that it takes timing from this Update, instead of simply firing. SpecialPowerTemplate = SpecialAbilityAragornBladeMaster HeroAttributeModifier = AragornBladeMaster HeroEffectDuration = 30000 ; this should sync with the auto ability delay re-fire time in commandButtons.ini UnpackTime = 1 ; insant unpack TriggerSound = AragornBladeMaster End
This is the behaviour to trigger it and tell the game that it's in your units ini. This is basically the ability. SO this goes into the unit's behaviour section. What I normally do is put new powers next to that unit's other powers but you can do it differently as long as it stays in the behaviour section. So remember to always keep behaviours, animations and modelconditionstates in their own section. Normally, the modelconditionstates are at the top, animations in the middle and behaviours just above the bottom. Unfortanetly, there isn't a quicker to find the different parts of the power than searching the ini for it
If I have missed something out or said something can someone please correct me
#14
Posted 09 February 2011 - 04:32 PM
I haven't had the time to try that yet, but that might explain why me hero did not get his skills when he leveld up, or it's just something I did wrong xD
Anyways, I can see it where skills should be together with horn of gondor, the other skill I tried to add, but hero doesn't get them when he level up.
Also, he's called MISSING:'OBJECTGondorLordLoken' and he's invisible, but hey, at least the wolves are working I'll try to fix it tomorrow I guess ^^
#15
Posted 09 February 2011 - 05:07 PM
Also, he's called MISSING:'OBJECTGondorLordLoken' and he's invisible, but hey, at least the wolves are working I'll try to fix it tomorrow I guess ^^
the MISSING: etc....
means you need to add
OBJECTGondorLordLoken
in lotr.str
take a look
and the invisible is either the asset.dat (if you used one) or some code
and where he didn't get the powers you have to add the upgrade in experiencelevels.ini
John 3:16 (NIV)
For God so loved the world that he gave his one and only Son, that whoever believes in him shall not perish but have eternal life.
Psalm 23:1 (ESV)
A Psalm of David.
The LORD is my shepherd; I shall not want.
#16
Posted 09 February 2011 - 08:07 PM
#17
Posted 10 February 2011 - 08:43 AM
OkToChangeModelColor = Yes DefaultModelConditionState Model = guimrahil.w3d End ModelConditionState = WEAPONSET_HERO_MODE USER_3 ParticleSysBone = BAT_RIBS BladeMaster FollowBone:Yes ParticleSysBone = BAT_HEAD AragornElendill FollowBone:Yes ; --- Idle Anims IdleAnimationState StateName = Idle
Is that right in any way? :s
Also, I took lotr.str from English.big or something, in lang folder, added the code and added the file to the big thing again, right in any way? :s
OBJECT:LordLoken "Lord Loken" END CONTROLBAR:GondorLordLokenRecruit "Recruit text" END CONTROLBAR:GondorLordLokenRevive "Revive text" END CONTROLBAR:GondorLordLokenRevive "&Lord Loken" END
The model I'm using uses following:
Model: guimrahil.w3d
Skeleton: guboromir_skl.w3d
Textures:
- koda.tga
- kodashield.tga
- kodaimface.tga
And I've added the model to modmap\art\w3d\gu and the textures to modmap\art\compiledtextures\ko
Then I followed Barts guide and put EA's assetcachebuilder in the map, downloaded his .bat file and ran it.
@move art\compiledtextures art\textures @assetcachebuilder.exe @move art\textures art\compiledtextures @pause
And in experiencelevels I've added
;----------- LordLoken ------------------ ExperienceLevel BoromirLevel1 TargetNames = GondorLordLoken RequiredExperience = 1 ExperienceAward = M_BOROMIR_LVL1_EXP_AWARD Rank = 1 SelectionDecal Texture = decal_hero_good Style = SHADOW_ALPHA_DECAL OpacityMin = 50% OpacityMax = 100% MinRadius = 40 MaxRadius = 200 MaxSelectedUnits = 1 End END ExperienceLevel BoromirLevel2 TargetNames = GondorLordLoken RequiredExperience = M_BOROMIR_LVL2_EXP_NEEDED ExperienceAward = M_BOROMIR_LVL2_EXP_AWARD AttributeModifiers = HeroLevelUpDamage1 Upgrades = Upgrade_Upgrade_AragornBladeMaster Rank = 2 LevelUpFx = FX:GandalfLevelUp1FX ;LevelUpOCL = OCL_GandalfLevelUp1OCL SelectionDecal Texture = decal_hero_good Style = SHADOW_ALPHA_DECAL OpacityMin = 50% OpacityMax = 100% MinRadius = 40 MaxRadius = 200 MaxSelectedUnits = 1 End END ExperienceLevel BoromirLevel3 TargetNames = GondorLordLoken RequiredExperience = M_BOROMIR_LVL3_EXP_NEEDED ExperienceAward = M_BOROMIR_LVL3_EXP_AWARD AttributeModifiers = HeroLevelUpDamage2 Rank = 3 LevelUpFx = FX:GandalfLevelUp1FX ;LevelUpOCL = OCL_GandalfLevelUp1OCL SelectionDecal Texture = decal_hero_good Style = SHADOW_ALPHA_DECAL OpacityMin = 50% OpacityMax = 100% MinRadius = 40 MaxRadius = 200 MaxSelectedUnits = 1 End END ExperienceLevel BoromirLevel4 TargetNames = GondorLordLoken RequiredExperience = M_BOROMIR_LVL4_EXP_NEEDED ExperienceAward = M_BOROMIR_LVL4_EXP_AWARD AttributeModifiers = HeroLevelUpDamage3 Upgrades = Upgrade_BoromirHornOfGondor Rank = 4 LevelUpFx = FX:GandalfLevelUp1FX ;LevelUpOCL = OCL_GandalfLevelUp1OCL SelectionDecal Texture = decal_hero_good Style = SHADOW_ALPHA_DECAL OpacityMin = 50% OpacityMax = 100% MinRadius = 40 MaxRadius = 200 MaxSelectedUnits = 1 End END ExperienceLevel BoromirLevel5 TargetNames = GondorLordLoken RequiredExperience = M_BOROMIR_LVL5_EXP_NEEDED ExperienceAward = M_BOROMIR_LVL5_EXP_AWARD AttributeModifiers = HeroLevelUpDamage4 Rank = 5 LevelUpFx = FX:GandalfLevelUp1FX ;LevelUpOCL = OCL_GandalfLevelUp1OCL SelectionDecal Texture = decal_hero_good Style = SHADOW_ALPHA_DECAL OpacityMin = 50% OpacityMax = 100% MinRadius = 40 MaxRadius = 200 MaxSelectedUnits = 1 End END ExperienceLevel BoromirLevel6 TargetNames = GondorLordLoken RequiredExperience = M_BOROMIR_LVL6_EXP_NEEDED ExperienceAward = M_BOROMIR_LVL6_EXP_AWARD AttributeModifiers = HeroLevelUpDamage5 Rank = 6 LevelUpFx = FX:GandalfLevelUp1FX ;LevelUpOCL = OCL_GandalfLevelUp1OCL SelectionDecal Texture = decal_hero_good Style = SHADOW_ALPHA_DECAL OpacityMin = 50% OpacityMax = 100% MinRadius = 40 MaxRadius = 200 MaxSelectedUnits = 1 End END ExperienceLevel BoromirLevel7 TargetNames = GondorLordLoken RequiredExperience = M_BOROMIR_LVL7_EXP_NEEDED ExperienceAward = M_BOROMIR_LVL7_EXP_AWARD AttributeModifiers = HeroLevelUpDamage6 Rank = 7 LevelUpFx = FX:GandalfLevelUp1FX ;LevelUpOCL = OCL_GandalfLevelUp1OCL SelectionDecal Texture = decal_hero_good Style = SHADOW_ALPHA_DECAL OpacityMin = 50% OpacityMax = 100% MinRadius = 40 MaxRadius = 200 MaxSelectedUnits = 1 End END ExperienceLevel BoromirLevel8 TargetNames = GondorLordLoken RequiredExperience = M_BOROMIR_LVL8_EXP_NEEDED ExperienceAward = M_BOROMIR_LVL8_EXP_AWARD AttributeModifiers = HeroLevelUpDamage7 Rank = 8 LevelUpFx = FX:GandalfLevelUp1FX ;LevelUpOCL = OCL_GandalfLevelUp1OCL SelectionDecal Texture = decal_hero_good Style = SHADOW_ALPHA_DECAL OpacityMin = 50% OpacityMax = 100% MinRadius = 40 MaxRadius = 200 MaxSelectedUnits = 1 End END ExperienceLevel BoromirLevel9 TargetNames = GondorLordLoken RequiredExperience = M_BOROMIR_LVL9_EXP_NEEDED ExperienceAward = M_BOROMIR_LVL9_EXP_AWARD AttributeModifiers = HeroLevelUpDamage8 Rank = 9 LevelUpFx = FX:GandalfLevelUp1FX ;LevelUpOCL = OCL_GandalfLevelUp1OCL SelectionDecal Texture = decal_hero_good Style = SHADOW_ALPHA_DECAL OpacityMin = 50% OpacityMax = 100% MinRadius = 40 MaxRadius = 200 MaxSelectedUnits = 1 End END ExperienceLevel BoromirLevel10 TargetNames = GondorLordLoken RequiredExperience = M_BOROMIR_LVL10_EXP_NEEDED ExperienceAward = M_BOROMIR_LVL10_EXP_AWARD AttributeModifiers = HeroLevelUpDamage9 Rank = 10 LevelUpFx = FX:GandalfLevelUp1FX ;LevelUpOCL = OCL_GandalfLevelUp1OCL SelectionDecal Texture = decal_hero_good Style = SHADOW_ALPHA_DECAL OpacityMin = 50% OpacityMax = 100% MinRadius = 40 MaxRadius = 200 MaxSelectedUnits = 1 End END
Also tried ExperienceLevel LordLokenLevel2
I've greatly apreciate any help you feel like giving, thank you
Edited by borotroth, 10 February 2011 - 09:02 AM.
#18
Posted 10 February 2011 - 10:30 AM
Check the model or find out if Imrahil has a BAT_Head and BAT_Ribs bones
You don't need to code the art textures in but make sure they're in a folder named compiledtextures When you're making the asset, rename the compiledtextures into textures because EA's asset builder is used to reading bfme1 and bfme1 calls the file textures so keep that in mind. When it says "ExperienceLevel BoromirLevel?", change the Boromir into your hero's name. In this case: "GondorLordLoken" With your .str, I think that's ok but just to be on the safe side, robnkarla wrote a tutorial on making a hero based around CAH's (CreateAHero) and he included all the ini's necesarry. Here is the .str file. Use Ctrl+H to do a find and replace search. Here is the .str:
CONTROLBAR:LW_ToolTip_[HeroName] "Unit Type: Hero" END OBJECT:Dwarven[HeroName] "[Enter your Hero's name here]" END CONTROLBAR:DWarven[HeroName]Recruit "Recruit the [Enter your Hero's description here]" END CONTROLBAR:Dwarven[HeroName]Revive "Revive the fallen Hero, [HeroName]" END CONTROLBAR:DWarven[HeroName]Hotkey "[&HeroName]" ENDSo it's simple what to do here
Hope this helped
#19
Posted 10 February 2011 - 11:53 AM
I'll try to check out the model, not sure how to, but I guess I'll have to open it somehow?
Also, when I saw the CONTROLBAR:LW_ToolTip_[HeroName] part of the code you provided now, I noticed that my hero's ini file it says DescriptionStrategic = CONTROLBAR:LW_ToolTip_Boromir, should that be changed to LordLoken too? :s
I'll be doing the changes you suggested and check the results when I get home.
I might have noticed why my hero would not get blade master as planned, I had put
Upgrades = Upgrade_Upgrade_AragornBladeMasterIn experiencelevels
Also, in design parameters where it says ;//DisplayMeleeDamage = M_BOROMIR_DAMAGE , I found somewhere that it was 300 I think, if I want to increase that, can I simply replace M_BOROMIR_DAMAGE with a number, 400 for example?
Just one last thing, I noticed in theodens .ini
DefaultModelConditionState Model = RUTheoden_SKN Skeleton = RUTheoden_SKL End
And in Boromir's ini, wich I am basing my hero's ini on:
OkToChangeModelColor = Yes DefaultModelConditionState Model = GUBoromir_SKN End
Any need to add the guboromir_skl to my hero? :s
Edited by borotroth, 10 February 2011 - 12:55 PM.
#20
Posted 10 February 2011 - 01:14 PM
ModelConditionState = WEAPONSET_HERO_MODE USER_3 ParticleSysBone = BAT_RIBS BladeMaster FollowBone:Yes ParticleSysBone = BAT_HEAD AragornElendill FollowBone:Yes End
You missed the "End" there.
Defender of the Lawful Evil
1 user(s) are reading this topic
0 members, 1 guests, 0 anonymous users