[帝國時代III]完全修改手冊
前言:
這是初級篇,主要研究Data目錄下的三個檔案的修改,涉及兵種,建築,科技,翻譯等內容。
需要的三個檔案:
Data目錄下的
各檔案主要內容:
:單位的基本屬性
:顯示語言
:科技和卡片的基本屬性
一 單一的檔案修改
1,
用記事本開啟這個檔案編輯。
<Unit id ='X' name ='XXX'>
單位的第一條屬性,不做複雜修改的話,建議不要動。
<DBID>X</DBID>
一般不做修改
<DisplayNameID>X</DisplayNameID>
在遊戲中顯示的文字代號,與關聯。
<EditorNameID>X</EditorNameID>
同樣是顯示的文字代碼,但不知在哪裏起作用,一般不做修改,與關聯。
<ObstructionRadiusX>***</ObstructionRadiusX>
<ObstructionRadiusZ>***</ObstructionRadiusZ>
單位的實際體積,數值越大,體積越大,當然目標也越大。
<FormationCategory>X</FormationCategory>
有Ranged,protected,body,mobile這幾類
Ranged一般用於帶遠程攻擊的兵種
protected一般用於炮兵及幾乎沒有攻擊能力的單位
body一般用於近戰型步兵
mobile一般用於騎兵
<MaxVelocity>X</MaxVelocity>
<MaxRunVelocity>X</MaxRunVelocity>
最大行走/跑步速度,數值越大,單位移動越快,很有修改價值
<MovementType>X</MovementType>
單位移動模式,很有修改價值
共分air,water,land三類
air:移動完全不受阻礙,即在天上飛。
water:只能在海里移動。
land:只能在陸地移動。
<TurnRate>X</TurnRate>
單位轉彎時的速度,數值越大,轉彎越快。
(如果數值過小,單位在轉彎時會先朝目標方向移動,再慢慢把身子轉過去)
<AnimFile>
建議不做修改。
<ImpactType>X</ImpactType>
單位自身類型,如Flesh(人體),Animal(動物),Wood(木製),Stone(石制)……
<Icon>X</Icon>
單位調用的頭像檔案,這是顯示在建造命令裏的頭像。
<PortraitIcon>X</PortraitIcon>
單位調用的頭像檔案,這是當你點選某個單位時,它的大&小肖像。
<RolloverTextID>X</RolloverTextID>
語言顯示代碼,這是顯示在建造命令裏或主城模式卡片裏對單位進行描述的語言代碼。
<ShortRolloverTextID>X</ShortRolloverTextID>
語言顯示代碼,當你將遊標移動到某個單位上,顯示的對單位進行描述的語言代碼。
<InitialHitpoints>X</InitialHitpoints>
單位剛被生產出來的初始生命值,如果改爲0……
很有修改價值
<MaxHitpoints>X</MaxHitpoints>
單位的最高生命值(未升級的情況下)。
很有修改價值
<LOS>X</LOS>
單位視野,數值越大,視野越廣。
很有修改價值
<ProjectileProtoUnit>X</ProjectileProtoUnit>
單位攻擊時發射的投射物,即單位名稱。
有修改價值
<UnitAIType>X</UnitAIType>
單位閒置時(暫時這麼說吧)調用的AI類型。
很有修改價值
<BuildPoints>X</BuildPoints>
<TrainPoints>X</TrainPoints>
建築/單位被產出來需要的時間。數值越大,生產越慢。
(如果將建築物的改爲0,則剛放下建築就建成)
很有修改價值
<Bounty>X</Bounty>
<BuildBounty>X</BuildBounty>
單位死亡/生產出來加的經驗值。
很有修改價值
<Cost resourcetype ='XXX'>X</Cost>
生產單位所需資源類型及數目。
很有修改價值
<InitialResource resourcetype ='XXX'>X</InitialResource>
提供資源開採的單位(如樹,銀礦),提供的資源類型及數目。
很有修改價值
<ResourceSubType>Gold</ResourceSubType>
提供資源開採的單位,提供的資源類型及數目(與上條對應)。
很有修改價值
<BuildingWorkRate>X</BuildingWorkRate>
建築工作速度(如研究,生產)的乘數。
很有修改價值
<MaxContained>X</MaxContained>
單位提供的駐紮空間。
有修改價值
<AllowedAge>X</AllowedAge>
單位被生產出來的最早時代(0-4)。
有修改價值
<Armor type ='X' value ='X'></Armor>
單位護甲類型(ranged,siege,hand)及抵消傷害的百分比。一種單位能否有多於一種的護甲,我還沒有試過。
(如0.2表示抵消攻擊傷害的20%)
數值高並不意味着無敵!
這與後面的傷害類型有關,以後我會做說明。
很有修改價值
<BuilderLimit>X</BuilderLimit>
建造一個該單位的最大建築工數量。
有修改價值
<GathererLimit>X</GathererLimit>
該單位支援的最大采集者數量。
很有修改價值
<PopulationCount>X</PopulationCount>
每個該類單位所佔人口。
(如果你想暴兵,就改爲0吧)
很有修改價值
<PopulationCapAddition>X</PopulationCapAddition>
每個該類單位支援的人口。
很有修改價值
<UnitType>XXX</UnitType>
<Flag>XXX</Flag>
非常有修改價值!
可以定義單位最基本的屬性。
如不會被Delete掉(<Flag>NotDeleteable</Flag> ),英雄(<UnitType>Hero</UnitType>
在<UnitType>XXX</UnitType>
的下面,通常有
<Train row ='X' page ='X' column ='X'>XXX</Train>
一大串
這是對該類單位可以生產單位的設定!非常有用!自己試着改一改,添一添,以後我會說明。
在<Flag>XXX</Flag>
的下面,通常有
<Command page ='X' column ='X'>XXX</Command>
這是對該類單位的某些能力(控制按鈕)的設定,非常有用!自己試着改一改,添一添,以後我會說明。
在<Tactics>XXX</Tactics>
下面,通常會有
<ProtoAction>
XXX
</ProtoAction>
一類針對單位動作的設定,非常有用!其關聯很多,自己試着改一改,以後我會具體說明。
很有修改價值!
<ProtoAction>到</ProtoAction>之間的一些設定:
<Damage>XXX</Damage> 單位攻擊傷害。
<DamageType>XXX</DamageType> 傷害類型。
<MaxRange>XXX</MaxRange> 射程。
<ROF>XXX</ROF> 攻擊速率(數值越小,速率越高)。
<DamageCap>XXX</DamageCap> 不是很明確,似乎是一次攻擊所能造成的最大傷害,一般用於艦船,數值=Damage*2
<DamageBonus type ='XXX'>X</DamageBonus> 對某類單位的傷害乘數。
其中XXX與對應單位的UnitType關聯。
<DamageArea>XXX</DamageArea> 攻擊的傷害範圍。
<DamageFlags>XXX</DamageFlags> 未知。
引申,對於採集者的採集速度設定。
搜尋"<Unit id ='200' name ='Settler'>"
(採集者),接着搜尋"<Name>Gather</Name>",
會出現(下面的數值爲原始設定)
<Name>Gather</Name>
<Rate type ='Tree'>0.500000</Rate>
<Rate type ='Mill'>0.670000</Rate>
<Rate type ='AbstractMine'>0.600000</Rate>
<Rate type ='Plantation'>0.500000</Rate>
<Rate type ='Herdable'>3.000000</Rate>
<Rate type ='Huntable'>0.840000</Rate>
<Rate type ='BerryBush'>0.670000</Rate>
數值越大,採集速度越快。速度單位應是X單位資源/秒*人。
對的基本修改就寫到這裏了。
2
Warning:筆者用的是突破9級和卡片使用限制的補丁內的。
在這個檔案裏,大多數的科技或卡片以這種形式描述:
<Tech name ='XXX' type ='XXX'>
<DBID>X</DBID>
<Status>XXX</Status>
<Flag>XXX</Flag>
<Effects>
<Effect type ='Data' amount ='X' subtype ='Enable' relativity ='Absolute'>
<Target type ='ProtoUnit'>XXX</Target></Effect>
XXX
</Effects>
</Tech>
Tech name : 科技原英文名稱。
<DisplayNameID>X</DisplayNameID> : 科技實際顯示名稱代碼。與關聯。
<Cost resourcetype ='X'>X</Cost>: 研發此科技需要的資源種類及數量。
<ResearchPoints>X</ResearchPoints> : 研發時間。數值越大,研發越慢。
<Icon>X</Icon> : 科技圖標檔案的地址。
<RolloverTextID>X</RolloverTextID> : 語言顯示代碼,即科技描述文字代碼。
<Flag>UpgradeTech</Flag> : 該科技的基本屬性。此爲升級單位類科技(爲升級單位類科技所必須)。
<Effects>
<Effect type ='Data' amount ='1.50' subtype ='Damage' allactions ='1' relativity ='BasePercent'>
<Target type ='ProtoUnit'>Frigate</Target></Effect>
<Effect type ='Data' amount ='1.50' subtype ='Hitpoints' relativity ='BasePercent'>
<Target type ='ProtoUnit'>Frigate</Target></Effect>
<Effect type ='SetName' proto ='Frigate' culture ='none' newName ='42267'></Effect>
</Effects>
這可以說是最有價值的修改部分。
</Effects>: 科技描述結束標誌。
Effect type : 科技效果。
有Data,SetName,TechStatus,SetAge四類。
Data : 允許設定研發對象的屬性乘數。
SetName : 允許設定研發對象的新名稱。
TechStatus : 未知。
SetAge : 允許升級時代(Age1-4)。如果有這個描述出現,則在<Flag>裏應有<Flag>AgeUpgrade</Flag>與之對應。
amount : 研發對象的屬性乘數或增量。
subtype : 針對研發對象的某類屬性設定。
allactions : 似乎是激活某些東西,作用不明。
relativity : 屬於何類屬性加成(乘數--BasePercent,增量--Absolute),例如對種植效率加成一般用乘數,對人口上限加成用增量。
<Target type ='ProtoUnit'>X</Target></Effect> : 科技研發對象(用於此描述橫行Effect type不是SetName的另三類科技效果)。
proto ='X' : 科技研發對象(用於此描述橫行Effect type是SetName的科技效果)。
newName : 科技研發對象的新名稱代碼(對應SetName,proto)
對此科技的翻譯:
帝國改良戰艦。由三桅戰艦升爲Imperial Man-of-War戰艦。傷害爲原來150%,生命值爲原來150%。需要木材1500單位,需要黃金1500單位。
引申:
1)。如果你想讓此科技的傷害加成屬性對城鎮中心有效,可在
<Effect type ='Data' amount ='1。50' subtype ='Damage' allactions ='1' relativity ='BasePercent'>
<Target type ='ProtoUnit'>Frigate</Target></Effect>
下面新建一行
<Effect type ='Data' amount ='X' subtype ='Damage' allactions ='1' relativity ='BasePercent'>
<Target type ='ProtoUnit'>(城鎮中心名稱)</Target></Effect>
注意格式最好與原格式對齊!
2)。如果你不想讓此科技對三桅戰艦生命有加成,則可將
<Effect type ='Data' amount ='1.50' subtype ='Hitpoints' relativity ='BasePercent'>
<Target type ='ProtoUnit'>Frigate</Target></Effect>
刪除。
注意格式最好與原格式對齊!
這樣,你就可以隨意設定一個科技。
3
可以添加,刪除,修改。
自己試着改一改,仿照着添一下,注意代碼必須與或的代碼對應,否則描述文字將不顯示。
說實話,這一部分沒什麼好講的。下面我們進入進階篇。
二 複雜修改
添加新兵種。
以添加"密蘇里"號戰列艦爲例。
首先,選定一個原身,筆者選了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吧?我們就在這張卡片上做文章。
開啟,它的卡片名稱爲HCShipMonitors,搜到這張卡片,將unittype的Monitor改爲你剛命名的BattleCruiser即可!
(這樣在你使這張卡片時,只會運來密蘇里號,而不會運來Monitor。如果你不滿足,可以將卡片修改成既送Monitor又送BattleCruiser。自己試試吧!)
一個問題待解決:這樣新增的兵種將不會使用任何技能。
2 讓單位擁有生產能力。
修改示例:讓explorer可以建造超級堡壘。
開啟。
搜尋到描述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>)即可。