帝国III修改教程
注意格式最好与原格式对齐!
2).如果你不想让此科技对三桅战舰生命有加成,则可将
<Effect type ='Data' amount ='1.50' subtype ='Hitpoints' relativity ='BasePercent'>
<Target type ='ProtoUnit'>Frigate</Target></Effect>
删除.
注意格式最好与原格式对齐!
这样,你就可以随意设置一个科技.
2).这就是一个完整的描述一个卡片的格式(含义同上).
<Tech name ='HCShipFrigates' type ='Normal'>
<DBID>2223</DBID>
<DisplayNameID>35725</DisplayNameID>
<Cost resourcetype ='Ships'>1.0000</Cost>
<ResearchPoints>40.0000</ResearchPoints>
<Status>UNOBTAINABLE</Status>
<Icon>units\naval\frigate\frigate_icon_64x64</Icon>
<Flag>HomeCity</Flag>
<Effects>
<Effect type ='Data' amount ='1.00' subtype ='FreeHomeCityUnit' unittype ='Frigate' relativity ='Absolute'>
<Target type ='Player'></Target></Effect>
</Effects>
<Flag>HomeCity</Flag> : 在城镇中心产生该单位.
对此卡片的翻译:
从主城运送一艘三桅战舰到战场.
修改amount就是修改运送的三桅战舰数量.
引申:
如果你还想运点儿别的,添加:
<Effects>
<Effect type ='Data' amount ='X' subtype ='FreeHomeCityUnit' unittype ='X' relativity ='Absolute'>
<Target type ='Player'></Target></Effect>
注意格式最好与原格式对齐!
简单的科技/卡片修改就到这里了.
3.stringtable.xml
可以添加,删除,修改.
自己试着改一改,仿照着添一下,注意代码必须与techtree.xml或proto.xml的代码对应,否则描述文字将不显示.
说实话,这一部分没什么好讲的.下面我们进入进阶篇.
二.复杂修改
添加新兵种.
以添加"密苏里"号战列舰为例.
首先,选定一个原身,笔者选了Monitor(炮舰).
在proto.xml中找到Monitor,从
</Unit>
<Unit id ='427' name ='Monitor'>开始往下复制,到Monitor的末尾
</ProtoAction>,粘贴.注意粘贴应仿照其他单位的格式.
新兵种的雏形以做好.
下面对粘贴后的内容作修改.
name改为与Monitor不同的名字,如BattleCruiser.
Unit id改为不与任何单位重合的数字,如999.
DisplayNameID,EditorNameID改为不与任何单位重合的数字,笔者改的分别是99999,99998.
下面对DisplayNameID,EditorNameID写入你所需要的名称.
打开stringtable.xml,仿照其他内容新建两行(即<String _locID ='X'>XXX</String>,注意对齐).
在这两行的X处分别写入99999,99998.
该给这两个字串加说明了.你可以写自己喜欢的名称,笔者在99999那行写入密苏里号,99998那行写入有无与伦比火力的战舰.
建立新说明部分完毕.
下面,你可以自己随意修改BattleCruiser的属性(如将其设为英雄,让它像大帆船那样可以造兵...).
我们创造了一个新兵种,如何让它在游戏中出现呢?
你可以通过卡片,也可以把它造出来.
这里仅介绍通过卡片得到新兵种的方法.
记得有一个卡片是运来一艘Monitor吧?我们就在这张卡片上做文章.
打开techtree.xml,它的卡片名称为HCShipMonitors,搜到这张卡片,将unittype的Monitor改为你刚命名的BattleCruiser即可!
(这样在你使这张卡片时,只会运来密苏里号,而不会运来Monitor.如果你不满足,可以将卡片修改成既送Monitor又送BattleCruiser.自己试试吧!)
一个问题待解决:这样新增的兵种将不会使用任何技能.
2.让单位拥有生产能力.
修改示例:让explorer可以建造超级堡垒.
打开Proto.xml.
搜索到描述explorer的部分.
你会发现再往下有
<UnitType>AbstractInfantry</UnitType>
<Train row ='0' page ='6' column ='1'>TradingPost</Train>
<Train row ='0' page ='6' column ='0'>TownCenter</Train>
<Train row ='0' page ='6' column ='2'>WarDog</Train>
复制上面的最后一行,粘贴到它的下一行(注意格式),column改为3,后面的英文单位名称改为FortFrontier(超级堡垒)即可!
已经可以使英雄具有建造超级堡垒的能力了,你难道不想让他建得更快一些吗?
仍然在explorer的描述部分找到
<ProtoAction>
<Name>Build</Name>
<Rate type ='TradingPost'>3.000000</Rate>
<Rate type ='TownCenter'>1.000000</Rate>
</ProtoAction>
仿照添加一行:<Rate type ='FortFrontier'>X</Rate>,这里的X就是建造速度的乘数!
测试成果吧!
对于没有生产能力的单位,在其最后一行UnitType的下一行添加如上描述行(<Train row ='X' page ='X' column ='X'>XXX</Train>
)即可!