建築很容易製作一個模組。
建築定義在common\buildings\文件夾。
Structure
| 變數名稱 | 變數類型 | 變數說明 | 代碼示例 |
|---|---|---|---|
| potential | conditions (province scope) | 決定該建築是否出現在持有的建築清單上。值為FROM表示定居點持有者(一個角色), FROMFROM代表持有中(一個男爵領頭銜)。 | potential = { religion = catholic }
|
| desc | Key | 建築物描述的本地化鍵,在建築物的工具提示中顯示。一般按照 <building_name>_desc的習慣。 | desc = shipyard_desc |
| add_number_to_name | bool | 使遊戲使用一級建築名稱,並在其後添加數字以命名更高級別的建築。 | add_number_to_name = no |
| replaces | building | 被替換的建築將無法施工,就算potential變數能匹配也不行。警告: 不要取代建築鏈中的一個ck2建築! 先決條件不允許檢查被替換的建築。
|
ca_steppe_barracks_1 = {
replaces = ca_barracks_1
}
|
| trigger | conditions (province scope) | 能夠建造這座建築的要求。 | trigger = { TECH_CASTLE_CONSTRUCTION = 0 }
|
| is_active_trigger | conditions (province scope) | 除非滿足觸發條件,否則建築不會將在控制者下啟用修正。 | is_active_trigger = {
location = {
OR = {
port = yes
borders_major_river = yes
borders_lake = yes
}
}
}
|
| port | bool | 是否只能建設在沿海省份。警告: 如果該伯爵領沒有統治者,則會檢查失敗,所以如果你的mod依賴於讓遊戲在開始新遊戲時自動創建統治者,請小心。 | port = yes |
| prerequisites | List<building> | 建設該建築物前要求先擁有其他建築物 | ca_steppe_barracks_2 = {
prerequisites = { ca_wall_1 }
}
|
| not_if_x_exists | List<building> | 如果另一個(些)建築物存在則不能建造該建築物。 | not_if_x_exists = { ca_walls_1 ca_walls_2 }
|
| upgrades_from | building | 該建築會升級並替換另一個建築物,但是建築物修正會累積下來。 | upgrades_from = tb_training_grounds_1 |
| gold_cost | int | 建造花費多少金幣,與「以威望或虔誠為代價」的花費類型互相排斥。 | gold_cost = 150 |
| prestige_cost | int | 建造花費多少威望,與「以金幣或虔誠為代價」的花費類型互相排斥。 | prestige_cost = 300 |
| piety_cost | int | 建造花費多少虔誠,與「以威望或金幣為代價」的花費類型互相排斥。. | piety_cost = 100 |
| build_time | int | 要用幾天建造。 | build_time = 365 |
| ai_creation_factor | int | AI建造該建築物的百分比幾率。 | ai_creation_factor = 95 |
| ai_feudal_modifier | int | 如果ai是封建政體的,或者是部落但努力成為封建的,則修改ai的建造權重。 | ai_feudal_modifier = -10 |
| ai_republic_modifier | int | 如果ai是共和政體的,或者是部落但努力成為商業共和國的,則修改ai的建造權重。 | ai_republic_modifier = 5 |
| extra_tech_building_start | double | 當開始一局新遊戲時。該建築會出現在省份上,如果這個省份的科技>trigger+extra_building_start+一個0-1之間的隨機數。 | extra_tech_building_start = 0.4 |
| scouting | bool | 確定建築是否提供了其所在省份的視覺效果,比如一個商業共和國的貿易港。 | scouting = yes |
| convert_to_city | building | 如果持有轉換為另一種類型,則建築將轉換為等效建築 | convert_to_city = ct_wall_1 |
| convert_to_castle | convert_to_castle = ca_keep_2 | ||
| convert_to_temple | convert_to_temple = tp_town_1 | ||
| convert_to_tribal | convert_to_tribal = tb_shipyard_1 | ||
| <modifier_name> | Building modifiers | 建築物提供的修正,比如is_active_trigger。建築物更新和升級時,修正會累加,詳見變數upgrades_from。
注意:
|
fort_level = 0.5 light_cavalry = 35 horse_archers = 20 knights = 10 |
代理示例
這是common\buildings\00_Castle.txt中的一段代碼:
ca_keep_6 = {
desc = ca_keep_1_desc
trigger = { TECH_FORTIFICATIONS_CONSTRUCTION = 8 }
upgrades_from = ca_keep_5
gold_cost = 500
build_time = 2190 #6y
levy_size = 0.3
garrison_size = 0.2
ai_creation_factor = 97
extra_tech_building_start = 0.2
}
本地化
- <building_name>: 建築物名稱
- <building_name>_desc: 建築物描述
- <building_name>_<religion_group>: 被宗教團體覆蓋的名稱(至少在寺廟建築方面)
添加一個新的建築物
所以,讓我們假設你想在遊戲中添加一個新建築。本指南將提供如何創建基本工作建築的基本指導。有更精細和專業的方法來完成這項任務,但它們都將建立在下面包含的基本文件結構和位置之上。
為了創建一個正常工作的建築,您必須做出幾個決定。建築將位於哪種類型的定居點,城堡、城市還是寺廟?將對建築物的建造地點施加何種限制?這座建築將提供什麼獎勵或特徵?
首先在CK2文件中找到「buildings」文件夾。它的文件路徑可能是C:\Program Files\Steam\SteamApps\common\buildings。找到「buildings」文件夾後,您需要向其中一個文件中添加一個條目,該條目與您要添加的建築物類型相對應。比如,我想要添加一個位於城堡中的,可以提供不錯獎勵的雕像。我要去編輯00_castle.txt。
強烈建議,在進行任何更改之前使用Notepad++編輯文件並備份此文件。
在「castle={」代碼下,我將複製第一個條目的格式,稍作更改以創建自己的建築。我最喜歡的開局地點是蘇格蘭的Moray,所以我將限制這座建築只在那個省工作。我希望這座建築始終可供我建造,成本適中,並為我的部隊和收入提供一些不錯的獎勵。那麼代碼看起來似乎是這樣:
castle = {
ca_statue = {
desc = ca_statue_desc
potential = {
OR = {
province_id = 40 #Moray
}
}
trigger = { always = yes }
build_cost = 150
build_time = 91
knights = 50
levy_size = 0.5
tax_income = 5
}
}
有大量不同的觸發器和特徵可以添加到建築物中,使其獨特而強大! 看看其他建築物條目來學習如何個性化你的建築是值得的。 這座建築將為我的主人提供50名重步兵,50%的levy_size,以及5金幣的稅收!
一旦這些代碼被添加到00_castle.txt file,就需要把描述的文本添加到本地化的字典里,本地化的文件可以在common文件夾下找到。
使用notepad++複製文件夾下其中一個csv文件,然後重命名為你自己的建築。打開這個文件並刪除除頂行之外的所有行(實際上第一行僅用作模板,也不是必要的)。遵循它在模板頂行中明確列出的格式,確保不要遺漏任何標點符號!如果需要,您可以添加這些翻譯,只需在相應行上輸入您希望出現的法語描述,以代替「法語」。我不玩其他語言的遊戲,所以我沒有添加任何翻譯。關於我的那部分看起來像這樣:
#CODE;ENGLISH;FRENCH;GERMAN;;SPANISH;;;;;;;;;x ca_statue;Heroic Statue;FRENCH;GERMAN;;SPANISH;;;;;;;;;x ca_statue_desc;This heroic statue stands as a testament for the deeds of the great men who came before and that all men can achieve greatness.;FRENCH;GERMAN;;SPANISH;;;;;;;;;x
完成這些步驟後,你應該擁有一個可以在Moray建造的雕像。
改變持有者限制
添加建築物的一種新的持有者類型不太可能,但是你可以定義每種持有類型的條件。這些限制放在 common\holding_types\ 文件夾下。The only thing supported within a holding is trigger, 這定義了什麼時候可以建設它。ROOT is the province, FROM is the builder。一些硬編碼的限制也被採用並覆蓋在上面。舉個例子,如果你希望只有神權制政府下的角色可以建設寺廟:
temple = {
trigger = {
FROM = {
is_theocracy = yes
}
}
}
| 歷史 | 角色 • 家族 • 省份 • 頭銜 • 劇本 |
| 腳本 | 指令 • 條件 • 作用域 • 修正 • 事件 • 決議 |
| 常規 | 定義 • 遊戲規則 • 另類開局 • 宗教 • 文化 • 政體 • 特質 • 血脈 • 科技 • 法律 • 建築 • 宣戰理由 • 朝貢國 • 單位 • 目標 • 疾病 • 死亡 • 榮譽頭銜 • 社團 • 寶物 • 地圖外政權 • 內閣成員 • 貿易路線 • 繼承 • 奇觀 • 稱號 |
| 圖像/音效/本地化 | 地圖 • 圖形 • 盾徽 • 肖像 • 介面 • 小地圖 • 音樂 • 本地化 |
| 其他 | 故障排除 • 驗證器 • 控制台指令 • 編輯遊戲存檔 • Steam創意工坊 • EU4轉檔器模組製作 |
