Adding a New Hero
#1
Posted 22 December 2004 - 04:22 AM
Save the environment, use green text
Some Bullshit Somewhere
#2
Posted 21 February 2005 - 05:49 AM
Creating a New Hero
Written By Ayden aka Shawn
Hello The3rdAge community. First off I want to thank Hostile for his great website. It was very helpful in my modifications and is a main reason I mod today. Now lets begin with the tutorial. ^^
We have all wondered how cool it would be to be playing Sharaku, the warg captian of Isengard or the captian of Lothlorien, Haldir in our adventures into the Battle for Middle-Earth. I wanted to do this so badly that one day, I found this website and it gave me the final push I needed to make a hero. Now I want to share my knowledge with you.
Creating a hero isn’t very hard at all, since you can copy a existing hero’s .ini folder. I would not try to create the ini from scratch as it is very tricky and somewhat irritating with all the errors and false spelling that will come out of creating the .ini and making it fully readable to the game. Instead we are going to copy the .ini file of Legolas, as I intend to teach you all how to make Haldir playable in your game.
Please make sure you know how to effectively open .ini files by clicking on this link and reading the tutorials CLICK. Check out the tools section for the programs you will need to extract your .ini files to edit them.
In this tutorial we will be editing the following INI's:
Legolas.ini
CommandSet.in
Experiencelevels.ini
Playertemplate.ini
----------------------------------------------------------------------
First off we will be copying Legolas’ .ini file. Right click on the Legolas.ini in the object/good faction/unit/rohan directory. Now look for the “Copy” selection and press it. Ok, now lets paste it into the same directory, only changing the name of the .ini we copied to “Haldir”.
Now that we have copied the file, lets look at the very top of the text until you find these strings of code:
Object RohanLegolas
; *** ART Parameters ***
; SelectPortrait for Heros is portrait behind skill buttons. HP = HeroPortrait.
SelectPortrait = HPLegolas
; ButtonImage for Heros is button image on Hero Select UI to select hero. HI = HeroIcon or HeroImage.
ButtonImage = HILegolas
Now that we found it, lets edit it to fit our new hero.
Object = The name of the hero or unit that the string refers to
Select Portriat = The picture of the hero that will show up in the Plantir
Button Image = The small icon of the hero that you will see when clicking on the citidel to Recruit your hero for example.
First off, our hero is going to be Haldir, so we need the icon and portrait to look like him right? Lets change the HPLegolas to HPHaldir and the HILegolas to HIHaldir
Note: not every custom hero you will want to make will have a icon or portrait for you to select.
Moving on to models/animations. We wont need to change anything here because the Legolas animations will work just fine for out archery hero Haldir, so I wont cover it in this tutorial. Instead, move down the file until you find the “Design parameters” strings. Here will can edit the stats or even faction of our hero.
Side = the side/force you want the hero to be added to.
Editor Sorting = skip this one, you will not need to edit it in this tutorial.
Threat Level = How threatening this unit is to AI. If it is a high level of threat the AI will go after it first. If it is a low level then the AI will not worry about it as much.
Thing Class = skip this one, you will not need to edit it in this tutorial.
Build Cost = How much our new hero will cost to be recruited. Change this to any number you like.
Build time = How long it will take for the hero to be built. Once again this can be changed to any number you like. Remember build time is in milliseconds.
Ok, now that we have changed all of the previous statistics of the hero that we want, we will move on the weapon sets. You can leave these alone if you like the damage that legolas does it ok, or you can change them to what you see fit. Once you changed or skipped the Weapon set values, keep going down the list, changing only the strings that I list here:
Weapon Set = The weapon damage that the new hero will do when he inflicts damage. Change it to any other hero that you like in the game by adding HeroNameWeapon.
Armor Set = The armor value this hero has. It determines how well he can take damage from other units and how long he can stay alive when under attack.
Vision Range = How far this hero can see. Since we are making an elven hero, we will want him to have good vison so you can leave this one alone, or change it to any value you like.
Display Name = Be sure to change this to the Side/Name of the hero.
Command Set = This is the Buttons in the plantir that our new hero will be able to use. Will we make the command set later in the tutorial. For right now, call this RohanHaldirCommandSet.
Display Melee Damage = This is the number value that you will see when you mouse over the hero. If you changed your melee damage earlier in the tutorial, then change this to the hero that has the melee damage you selected, for example if I changed my weapon set values to Borormir, then I would change this to BOROMIR_DAMAGE.
Display Ranged Damage = Same as above, but change the value to FARAMIR_BOW_DAMAGE for example, instead of BOROMIR_DAMAGE.
ReSpawn Rules: This area of the code will allow you to change how long it takes/how much it costs to revive a hero after he/she has fallen in battle. Change the values here to anything you like.
Soon, you will be seeing a “Behavior” code. Behavior codes are the skills/spells that heros will be able to use in the game. So if you wanted to have your hero use the “Athelas” ability, like Aragorn does, then you will need to go into Aragorn’s .ini file and find the Athelas behavior. You can skip this part if you don’t want you hero having any spells/skills. If you do want your hero to have some Behaviors then you will need to wait for my next tutorial, where I will talk about command buttons and Spells for your hero.
Now, save your .ini file as your Hero’s name, then exit. Now remember that command set we referenced? RohanHaldirCommandSet? Well, we are going to go make that now.
Go out of the hero’s section and back out to the main section of .inis. Here we will find commandset.ini, open it up.
Scroll down to the very bottom of the file and make a code for your new hero.
On one line, we will need to state what hero/unit this command set will effect. Add these lines:
CommandSet RohanHaldirCommandSet
End
Now we made the commandset, will we work on it next time.
Since we are done with the CommandSet for the time being, we will go add the hero to our game. Find the Playertemplate.ini file.
In this file, is all the different details on the factions in the game. Scroll down unit you find the faction that you want your hero to be recruited under. Remeber when we changed (Or left alone) the side = string? we will now need to remember what side we wanted our hero on, then add him to the BuildableHeroesMP string. In this guide I was making Haldir, and I plan on adding him to Rohan, but you can add him to any faction you please. So, edit this code to the BuildableHeroesMP string if you are making Haldir for Rohan.
BuildableHeroesMP = RohanTheoden RohanEomer RohanEowyn RohanGimli RohanLegolas GondorAragornMP RohanMerry RohanHaldir
Add the string that is in BOLD to the end of the string.
Ok, now we need to move onto the experience levels.ini
once you have found that file, add in this long string at the very bottom of the ini:
;--------------- HALDIR -------------------------
ExperienceLevel HaldirLevel1
TargetNames = RohanHaldir
RequiredExperience = 1
ExperienceAward = 70
Rank = 1
Upgrades = Upgrade_HaldirCostume
AttributeModifiers = HaldirResistKnockback
SelectionDecal
Texture = decal_hero_good
Style = SHADOW_ALPHA_DECAL
OpacityMin = 50%
OpacityMax = 100%
MinRadius = 40
MaxRadius = 200
MaxSelectedUnits = 40
End
End
ExperienceLevel HaldirLevel2
TargetNames = RohanHaldir
RequiredExperience = 50 ;200
ExperienceAward = 80
AttributeModifiers = HeroLevelUpDamage1
Rank = 2
LevelUpFx = FX:GandalfLevelUp1FX
SelectionDecal
Texture = decal_hero_evil
Style = SHADOW_ALPHA_DECAL
OpacityMin = 50%
OpacityMax = 100%
MinRadius = 40
MaxRadius = 200
MaxSelectedUnits = 40
End
END
ExperienceLevel HaldirLevel3
TargetNames = RohanHaldir
RequiredExperience = 100 ;400
ExperienceAward = 90
AttributeModifiers = HeroLevelUpDamage2
Rank = 3
LevelUpFx = FX:GandalfLevelUp1FX
SelectionDecal
Texture = decal_hero_evil
Style = SHADOW_ALPHA_DECAL
OpacityMin = 50%
OpacityMax = 100%
MinRadius = 40
MaxRadius = 200
MaxSelectedUnits = 40
End
END
ExperienceLevel HaldirLevel4
TargetNames = RohanHaldir
RequiredExperience = 200 ;600
ExperienceAward = 100
AttributeModifiers = HeroLevelUpDamage3
Rank = 4
LevelUpFx = FX:GandalfLevelUp1FX
SelectionDecal
Texture = decal_hero_evil
Style = SHADOW_ALPHA_DECAL
OpacityMin = 50%
OpacityMax = 100%
MinRadius = 40
MaxRadius = 200
MaxSelectedUnits = 40
End
END
ExperienceLevel HaldirLevel5
TargetNames = RohanHaldir
RequiredExperience = 300 ;800
ExperienceAward = 120
AttributeModifiers = HeroLevelUpDamage4
Rank = 5
LevelUpFx = FX:GandalfLevelUp1FX
SelectionDecal
Texture = decal_hero_evil
Style = SHADOW_ALPHA_DECAL
OpacityMin = 50%
OpacityMax = 100%
MinRadius = 40
MaxRadius = 200
MaxSelectedUnits = 40
End
END
ExperienceLevel HaldirLevel6
TargetNames = RohanHaldir
RequiredExperience = 500 ;1000
ExperienceAward = 150
AttributeModifiers = HeroLevelUpDamage5
Rank = 6
LevelUpFx = FX:GandalfLevelUp1FX
SelectionDecal
Texture = decal_hero_evil
Style = SHADOW_ALPHA_DECAL
OpacityMin = 50%
OpacityMax = 100%
MinRadius = 40
MaxRadius = 200
MaxSelectedUnits = 40
End
END
ExperienceLevel HaldirLevel7
TargetNames = RohanHaldir
RequiredExperience = 700 ;1200
ExperienceAward = 180
AttributeModifiers = HeroLevelUpDamage6
Rank = 7
LevelUpFx = FX:GandalfLevelUp1FX
SelectionDecal
Texture = decal_hero_evil
Style = SHADOW_ALPHA_DECAL
OpacityMin = 50%
OpacityMax = 100%
MinRadius = 40
MaxRadius = 200
MaxSelectedUnits = 40
End
END
ExperienceLevel HaldirLevel8
TargetNames = RohanHaldir
RequiredExperience = 900 ;1400
ExperienceAward = 210
AttributeModifiers = HeroLevelUpDamage7
Rank = 8
LevelUpFx = FX:GandalfLevelUp1FX
SelectionDecal
Texture = decal_hero_evil
Style = SHADOW_ALPHA_DECAL
OpacityMin = 50%
OpacityMax = 100%
MinRadius = 40
MaxRadius = 200
MaxSelectedUnits = 40
End
END
ExperienceLevel HaldirLevel9
TargetNames = RohanHaldir
RequiredExperience = 1100 ;1600
ExperienceAward = 250
AttributeModifiers = HeroLevelUpDamage8
Rank = 9
LevelUpFx = FX:GandalfLevelUp1FX
SelectionDecal
Texture = decal_hero_evil
Style = SHADOW_ALPHA_DECAL
OpacityMin = 50%
OpacityMax = 100%
MinRadius = 40
MaxRadius = 200
MaxSelectedUnits = 40
End
END
ExperienceLevel HaldirLevel10
TargetNames = RohanHaldir
RequiredExperience = 1500 ;2000
ExperienceAward = 300
AttributeModifiers = HeroLevelUpDamage9
Rank = 10
LevelUpFx = FX:GandalfLevelUp1FX
SelectionDecal
Texture = decal_hero_evil
Style = SHADOW_ALPHA_DECAL
OpacityMin = 50%
OpacityMax = 100%
MinRadius = 40
MaxRadius = 200
MaxSelectedUnits = 40
End
END
This code will determen how fast he ranks up, when he will get abilites, ect.
Once all of this is added, your Haldir is now a playable character. Have fun
//Ayden
Edited by Ayden, 22 February 2005 - 11:03 PM.
#3
Posted 21 February 2005 - 06:58 AM
Save the environment, use green text
Some Bullshit Somewhere
#4
Posted 21 February 2005 - 08:17 AM
#5 Guest_Valkyr_*
Posted 21 February 2005 - 05:31 PM
"In this tutorial we will be editing the following INI's:
Legolas.ini
CommandSet.ini
Experiencelevels.ini
Playertemplate.ini"
but unless i missed something you never said anything about Experiencelevels.ini and
Playertemplate.in.
I dont get it?
Other than that your tutorial was very weel written and easy to follow. Do i only have to follow those steps to add in heroes like Elrond, Sauron, Isildur, ect...?
#6
Posted 21 February 2005 - 06:13 PM
Ayden, feel free to use the edit button on the post to make any changes. Address the PlayerTemplate and Exp ini issues. They are necessary for it to work.
Save the environment, use green text
Some Bullshit Somewhere
#7
Posted 21 February 2005 - 09:04 PM
#8
Posted 21 February 2005 - 09:21 PM
Better quality than quanity.
Save the environment, use green text
Some Bullshit Somewhere
#9 Guest_Valkyr_*
Posted 22 February 2005 - 05:34 AM
Since there is already an elrond .ini, all i did was changed his side to Rohan instead of gondor. Elrond already has entries in the experiencelevels.ini and the commandset.ini so thats all good. then i just added him into playertemplate.ini under the rohan section.
Is there something i have missed here?
#10
Posted 22 February 2005 - 06:08 AM
Save the environment, use green text
Some Bullshit Somewhere
#11 Guest_Valkyr_*
Posted 22 February 2005 - 07:23 AM
#12
Posted 22 February 2005 - 11:35 AM
he just doesnt show up at all
if you build another hero, does he shows up on the buildable hero's at the citadell then? try that.. and be sure you have wrote he's name rigth on playertemplates.ini elvenelrond
#13 Guest_Valkyr_*
Posted 22 February 2005 - 02:30 PM
whereabouts do i set Elrond's build cost and build time?
#14 Guest_Valkyr_*
Posted 22 February 2005 - 04:28 PM
any ideas?
#15
Posted 22 February 2005 - 10:44 PM
I could check it on my own but forum participation is important. I'll delegate that to the forum to decide.
Save the environment, use green text
Some Bullshit Somewhere
#16 Guest_Valkyr_*
Posted 23 February 2005 - 04:54 AM
#17 Guest_Guest_*
Posted 23 February 2005 - 01:32 PM
However i'm having a few glitches with the witch-king (on foot). Firstly the witch-king's portrait doesnt show up across the bottom of the screen along with the other heros. And Secondly the witch-king's model is too small. It looks really wierd having a dwarve sized witch king running around when he should be really tall
If anybody would tell me how to fix the last couple of problems, it would be most appreciated!
#18
Posted 23 February 2005 - 09:43 PM
#19
Posted 23 February 2005 - 11:11 PM
And Secondly the witch-king's model is too small. It looks really wierd having a dwarve sized witch king running around when he should be really tall
There is a Scale function you can add in the code. Just add it to code of an object just before the Geometry section so that it reads
Scale = 1.5
Something along those lines
#20 Guest_Valkyr_*
Posted 24 February 2005 - 06:15 AM
now what about the other problem with him not showing across the bottom of the screen with the other heros? i'v been trying to figure it out all night but i cant seem to find the problem :(
0 user(s) are reading this topic
0 members, 0 guests, 0 anonymous users