我们来看一个简单的添加兵种修改例子。
嗯,大家都知道奥斯曼有一种强大的重骑兵,可惜这种骑兵只能通过卡片从主城运输而不能自己训练。
遗憾吗?别急,接下来我会让你的马厩训练这种强大的骑兵。
我们先用记事本(用写字板也可以)打开protoy.xml,用搜索功能寻找stable一词,于是你可以找到如下命令:
25
22919
3.0000 5.0000 0.0000 land
buildings\\stables\\stables.xml
BuildingRubble5x3 15 Wood stable
buildinglarge.xml
buildings\\stables\\stables_icon
buildings\\stables\\stables_portrait 22918
25727 2500.0000 2500.0000 14.0000
30.0000 40.0000
20.0000
200.0000 1.0000 1
8
LogicalTypeValidSabotage LogicalTypeHandUnitsAutoAttack LogicalTypeBuildingsNotWalls
LogicalTypeRangedUnitsAutoAttack
LogicalTypeVillagersAttack
LogicalTypeHandUnitsAttack LogicalTypeShipsAndBuildings LogicalTypeRangedUnitsAttack
LogicalTypeBuildingsNotWallsOrGroves LogicalTypeMinimapFilterMilitary ConvertsHerds
AbstractStables
CountsTowardMilitaryScore HasBountyValue Building BuildingClass
MilitaryBuilding
Uhlan Oprichnik CavalryArcher Hussar WarWagon Ruyter Dragoon Lancer
Cuirassier Cossack
ImperialOprichniks
ImperialCarabineer ImperialCossack
ImperialCavalryArchers ImperialDragoons ImperialHussars ImperialJinetes ImperialCzapkaUhlans RGCzapkaUhlans RGTartarLoyalists RGGarrochista GuardRuyters RGGardener GuardCossacks VeteranCossacks GuardWarWagons GuardCavalryArchers RGGendarmes RGCarabineer VeteranUhlans GuardDragoons
GuardHussars VeteranHussars RGLifeGuardHussars ImperialGarrochistas ImperialTartarLoyalist GuardUhlans ImperialGardener ImperialLifeGuard RGJinetes GuardOprichniks ImperialGendarme ImperialWarWagons CollidesWithProjectiles StartsAtFullEfficiency Immoveable
NoBloodOnDeath ObscuresUnits NoIdleActions
NonAutoFormedUnit Doppled
SelectWithObstruction PaintTextureWhenPlacing FlattenGround HasGatherPoint InitialGarrisonOnly
Tracked
SetGatherPointMilitary Delete
看晕了对吧?别急,我来慢慢和你解释——
这个是游戏中欧洲马厩的内部调用名,你可以在《单位手册》里查到。
之后的一系列命令我们都可以不考虑,我们需要注意的是这个:
Uhlan Oprichnik CavalryArcher Hussar WarWagon Ruyter Dragoon
Lancer
Cuirassier Cossack
以上几行,代表马厩可以训练的单位,比如德国骑兵(Uhlan)、哥萨克(Cossack)、胸甲骑兵(Cuirassier)等。
你瞧,这里面并没有奥斯曼重骑兵(Spahi)的名字,也就是说任何国家的马厩都没有训练奥斯曼重骑兵这一功能。
于是,我们只要再加上一个
Spahi 就行了。
不过你可能回想调整一下排列的顺序。比如,轻骑兵、奥斯曼重骑兵、骑射手。我们回头看上面的命令行:
Hussar CavalryArcher
轻骑兵(Hussar)是第一个,在马厩的第一列—— column = '0';而骑射手(CavalryArcher)是第二个—— column = '2'。
要注意,电脑默认将0放在第一位,也就是说先后顺序应该是01234……这样一来,轻骑兵和骑射手之间正好有一列多余—— column ='1'。
于是你可以将之前的命令改成:
Spahi 这样顺序也排好了。
总结,添加一个训练××功能的命令:
内部调用名
row = 和 page = 后面的数字建议不要随便修改,但是column就可以放心,记住顺序是从0开始(不是从1)。
这条命令对可以训练单位的建筑物都有作用,比如兵营(Barracks)、枪炮铸造厂(ArtilleryDepot)、城镇中心(TownCenter)都可以。
也就是说,只要你愿意,你还可以把奥斯曼重骑兵添加到兵营里去。
嗯,继续。上次我们说到,如何将奥斯曼重骑兵添加进奥斯曼的马厩里。