建筑很容易制作一个模组。
建筑定义在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转档器模组制作 |
