This is a tutorial on editing the stringtable by irishlegend8 at heavengames. Email at irishlegend2006@yahoo.ie
Firstly you should read the other tutorials on modding the proto
This tutorial will hopefully show you how to
-Change a units name
-Change a units description
-Change the names of many different things like the british homecity cathedral or default homecity name
1)Go to the aoe3 data folder its found in local disk (c
– program files- Microsoft games – age of empires 3 - data
2)Find the xml file named stringtable
3)Right click on it and select properties. Look for a small box that says read only if its ticked click on it so theres no tick
4)Next make a backup of the original stringtable in another folder
5)Right click on strintable again select open with and select a text editor like notepad or wordpad
when its opened you should see something like this
<StringTable version ='10'>
<Language name ='English'>
<String _locID ='10670'>Villagers gather Wood faster.</String>
<String _locID ='11070'>Gang Saw</String>
<String _locID ='11723' symbol ='cStringNotReadyToResearch'>%s is not ready to research.</String>
<String _locID ='11724' symbol ='cStringHelpStringUnitFormat' comment ='1 - culture name, 2 - hotkey text, 3 - cost, 4 - pop, 5 - rollover text'>%1s%2s. %3s %4s\n%5s</String>
<String _locID ='11725' symbol ='cStringHelpStringUnitPopCost'>Pop: %d <icon="(32)(ui/ingame/resource_population)"></String>
Now in another window I want you to open an xml file named proto (its in local disk (c – program files- Microsoft games – age of empires 3 – data) and press ctrl + f and type in settler and click find
You will get something like this
<Unit id ='212' name ='Settler'>
<DBID>1</DBID>
<DisplayNameID>22806</DisplayNameID>
<EditorNameID>34132</EditorNameID>
<PopulationCount>1</PopulationCount>
<ObstructionRadiusX>0.4900</ObstructionRadiusX>
<ObstructionRadiusZ>0.4900</ObstructionRadiusZ>
<FormationCategory>Protected</FormationCategory>
<MaxVelocity>4.0000</MaxVelocity>
<MaxRunVelocity>6.0000</MaxRunVelocity>
<MovementType>land</MovementType>
<TurnRate>18.0000</TurnRate>
<AnimFile>units\villagers\villager.xml</AnimFile>
<ImpactType>Flesh</ImpactType>
<PhysicsInfo>dude</PhysicsInfo>
<Icon>units\villagers\villager_icon</Icon>
<PortraitIcon>units\villagers\villager_portrait</Po rtraitIcon>
<SelectionPriority>10</SelectionPriority>
<RolloverTextID>22814</RolloverTextID>
<ShortRolloverTextID>25708</ShortRolloverTextID>Notice the line <DisplayNameID>22806</DisplayNameID> the settler display name ingame is settler
Now go back to the stringtable again and enter ctrl + f and type in 22806 and click find you should get this<String _locID ='22806'>Settler</String>this means if you change it to
<String _locID ='22806'>Lazy Worker</String>when you select a settler ingame his name will be lazy worker not settler
or you could find gaps that are left in between numbers if you look at the stringtable it goes
<String _locID ='17094' symbol ='cStringUIStatePaintWater'>Left-click to dig out water. Press ESC to cancel.</String>
<String _locID ='17095' symbol ='cStringUIStateEditWater'>Left-click to select water. Press ESC to cancel.</String>
<String _locID ='17096' symbol ='cStringUIStateHelp'>Left-click a unit to see detailed help. Right-click to return to normal
<String _locID ='17114' symbol ='cStringUIStatePaintCliff'>Left-click to create cliffs. Right-click to create canyons. Press ESC to cancel.</String>it skips 17097-17113 (this is just one example)
you could say
<String _locID ='17097'>Lazy Worker</String>
since 17097 isn’t already being used and change the
<DisplayNameID>22806</DisplayNameID>
for the settler in the proto to
<DisplayNameID>17097</DisplayNameID>
and it will have the same effect
Now look at the part of the proto that says
<EditorNameID>34132</EditorNameID>
the name of the settler in the scenario editor is VIL settler
if you click on ctrl+f in the stringtable you will get
<String _locID ='34132'>VIL Settler</String>
by changing it to
<String _locID ='34132'>VIL Lazy Worker</String>
the settler name in the editor will now be VIL Lazy Worker or you could make a new string that’s not being used
<String _locID ='17098'>VIL Lazy Worker</String>
and change the proto to
<EditorNameID>17098</EditorNameID>
Next is the description of the unit
<RolloverTextID>22814</RolloverTextID>
<ShortRolloverTextID>25708</ShortRolloverTextID>
the top one <rollovertextid> is the description you will see of the unit ingame when he is selected
the bottom one <shortrollovertextid> is the shorter description you wills see ingame
Next is the settlers <RolloverTextID>22814</RolloverTextID> description
got by entering ctrl + f and then finding 22814
<String _locID ='22814'>Villager that constructs buildings and gathers resources.</String>
you could change this to
<String _locID ='22814'>Lazy Worker that constructs buildings and gathers resources.</String>
or make a new string like above in the display name id and editor name id
next is the settlers <ShortRolloverTextID>25708</ShortRolloverTextID> description
got by entering ctrl + f and then finding 25708
<String _locID ='25708'>Villager</String>
you could change this to
<String _locID ='25708'>Lazy Villager</String>
or make a new string like above in the display name id and editor name id
that is where the stringtable appears in the proto but that is not the only place where you see<DisplayNameID></DisplayNameID>when you see this it is something to do with the stringtable
For example if you have aoe3ed (look in the modding programs tutorial) you will be able to do this
Extract the file homecitybritish.xml.xmb from the data bar file with the archive viewer and convert it with the fileconverter
Now open it with a text editor
You should get something like
<homecity>
<civ>British</civ>
<name>$$36883$$</name>
<heroname>$$43030$$</heroname>
<gatherpointunit>HomeCityGatherFlag</gatherpointuni t>
<visual>british\british_homecity.xml</visual>notice these 2
<name>$$36883$$</name>
<heroname>$$43030$$</heroname>you should look these numbers up in the stringtable and see what you get
these are the default homecity and heronames for the british
Now press ctrl+f and enter cathedral
You should get
<building>
<name>Cathedral</name>
<visual>