Jump to content


Photo

Adding a New Hero


  • Please log in to reply
44 replies to this topic

#1 Hostile

Hostile

    Benefitting Humanity Simply by Showing Up!

  • Veterans
  • 9,551 posts
  • Location:Washington DC
  •  T3A Founder
  • Division:Revora
  • Job:Global Administrator
  • Donated
  • Association

Posted 22 December 2004 - 04:22 AM

I've moved some stuff around. Hope this is a better format.

#2 Ayden

Ayden
  • Project Team
  • 51 posts
  • Location:California
  • Projects:Drums in the Deep, A Moria faction mod for BFME

Posted 21 February 2005 - 05:49 AM

Well, I made a guide that I want to share with you all. Its called Creating a Hero


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.

Master Modding Maiar

#3 Hostile

Hostile

    Benefitting Humanity Simply by Showing Up!

  • Veterans
  • 9,551 posts
  • Location:Washington DC
  •  T3A Founder
  • Division:Revora
  • Job:Global Administrator
  • Donated
  • Association

Posted 21 February 2005 - 06:58 AM

Excellant and well written.

#4 Ayden

Ayden
  • Project Team
  • 51 posts
  • Location:California
  • Projects:Drums in the Deep, A Moria faction mod for BFME

Posted 21 February 2005 - 08:17 AM

Thank you very much Hostile.^^
Master Modding Maiar

#5 Guest_Valkyr_*

Guest_Valkyr_*
  • Guests

Posted 21 February 2005 - 05:31 PM

you said at the top of your post

"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? :p

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 Hostile

Hostile

    Benefitting Humanity Simply by Showing Up!

  • Veterans
  • 9,551 posts
  • Location:Washington DC
  •  T3A Founder
  • Division:Revora
  • Job:Global Administrator
  • Donated
  • Association

Posted 21 February 2005 - 06:13 PM

This is before editing. Even my rough draft tutorials require editing before getting added to the site. I want someone to use this tutorial and test it and see if they can get it to work.

Ayden, feel free to use the edit button on the post to make any changes. :p Address the PlayerTemplate and Exp ini issues. They are necessary for it to work.

#7 Ayden

Ayden
  • Project Team
  • 51 posts
  • Location:California
  • Projects:Drums in the Deep, A Moria faction mod for BFME

Posted 21 February 2005 - 09:04 PM

Ok, I edited it. I'm sorry about the confusion, I planed on doing the whole herocreation tutorial but I couldn't finish it and forgot to remove those inis I referenced, but didnt use.
Master Modding Maiar

#8 Hostile

Hostile

    Benefitting Humanity Simply by Showing Up!

  • Veterans
  • 9,551 posts
  • Location:Washington DC
  •  T3A Founder
  • Division:Revora
  • Job:Global Administrator
  • Donated
  • Association

Posted 21 February 2005 - 09:21 PM

There never is a rush to finish a tutorial. Doing that is like rushing out a weak mod. Not worth it just for show. Finish something completely to your own satisfaction first. Notice AdmiralGT is taking his time on getting that very complex tutorial out.

Better quality than quanity. :huh:

#9 Guest_Valkyr_*

Guest_Valkyr_*
  • Guests

Posted 22 February 2005 - 05:34 AM

Okay, i'v been trying to add Elrond to Rohan using this tutorial but it doesnt seem to be working.

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 Hostile

Hostile

    Benefitting Humanity Simply by Showing Up!

  • Veterans
  • 9,551 posts
  • Location:Washington DC
  •  T3A Founder
  • Division:Revora
  • Job:Global Administrator
  • Donated
  • Association

Posted 22 February 2005 - 06:08 AM

So does he not show up at all? Or is he not buildable? In other words is the icon to build him there but greyed out or is there non at all?

#11 Guest_Valkyr_*

Guest_Valkyr_*
  • Guests

Posted 22 February 2005 - 07:23 AM

he just doesnt show up at all

#12 jaao

jaao
  • Members
  • 91 posts
  • Location:Norway
  • Projects:youngsql.elite team

Posted 22 February 2005 - 11:35 AM

he just doesnt show up at all

<{POST_SNAPBACK}>


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
The norwegian elite is in the house

#13 Guest_Valkyr_*

Guest_Valkyr_*
  • Guests

Posted 22 February 2005 - 02:30 PM

The problem was that i had renamed ElvenElrond to RohanElrond. i changed it back and the problem is fixed :huh:

whereabouts do i set Elrond's build cost and build time?

#14 Guest_Valkyr_*

Guest_Valkyr_*
  • Guests

Posted 22 February 2005 - 04:28 PM

Okay, i figured out how to change elrond's build cost, build time, damage, health, ect... but now i have one problem. I have everything just as i want it, and it all works in player made maps. but when i try to play a skirmish on an official map, i have to build another hero first before i can build elrond. like there isnt enough spaces for his command button or something?

any ideas?

#15 Hostile

Hostile

    Benefitting Humanity Simply by Showing Up!

  • Veterans
  • 9,551 posts
  • Location:Washington DC
  •  T3A Founder
  • Division:Revora
  • Job:Global Administrator
  • Donated
  • Association

Posted 22 February 2005 - 10:44 PM

When someone gives me the ok that the above tutorial gets the new hero ingame than I'll edit and add it to the site. Please give us feedback.

I could check it on my own but forum participation is important. I'll delegate that to the forum to decide.

#16 Guest_Valkyr_*

Guest_Valkyr_*
  • Guests

Posted 23 February 2005 - 04:54 AM

once i sort out this small problem, i can give you the go ahead for this tutorial. :grin:

#17 Guest_Guest_*

Guest_Guest_*
  • Guests

Posted 23 February 2005 - 01:32 PM

Using Ayden's tutorial i have sucessfully added Elrond, Isildur, Haldir, and Arwen. I also sorted out the problem i had before with not being able to build elrond until i built another hero first. This is because Rohan already have a sizable amount of heros already, so i took the easy way out and replaced Merry with Elrond in the playertemplate.ini.

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 :grin:

If anybody would tell me how to fix the last couple of problems, it would be most appreciated! ;)

#18 Ayden

Ayden
  • Project Team
  • 51 posts
  • Location:California
  • Projects:Drums in the Deep, A Moria faction mod for BFME

Posted 23 February 2005 - 09:43 PM

Well, its because the WitchKing was not finished by EA. There is no way to make him taller other then Modeling (I have no experience in this). If you try to model a new skin for him good luck, I think its hard.
Master Modding Maiar

#19 AdmiralGT

AdmiralGT

    title available

  • Members
  • 1,702 posts
  • Location:Bristol, UK
  • Projects:Petrolution

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  :grin:

<{POST_SNAPBACK}>


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_*

Guest_Valkyr_*
  • Guests

Posted 24 February 2005 - 06:15 AM

Thanks AdmiralGT, that worked!

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