无编辑摘要 |
无编辑摘要 |
||
第2行: | 第2行: | ||
== 结构组成 == | == 结构组成 == | ||
首先,我们要了解一个建筑由哪些部分组成,不同的建筑其实内部的结构都是一样,只是相关的代码不同其消耗与产出也不同。 | 首先,我们要了解一个建筑由哪些部分组成,不同的建筑其实内部的结构都是一样,只是相关的代码不同其消耗与产出也不同。{{Modding path|common/}} | ||
# 建筑组 (building groups) , 这 是 一个 建筑的基础,建筑没有对应的建筑组便不会在游戏中正确的出现。 建筑组的文件路径为common/building_groups,此为建筑组文件所在的文件夹, 不同类型的建筑有其所属的建筑组,不同的建筑组对应着制造业、农业、基础设施等,而不同的建筑组其所拥有的效果也不同,在官方的建筑组文件里也有相关代码的说明 。 | |||
# 建筑(building) , 这是 建筑 的本体,文件路径为common/building | |||
首先,我们要在common-building_groups里创建一个带BOM的UTF-8格式的txt文件,名称为new_building_groups(new_bg等也可以) | == 建筑组 == | ||
我们以一个简单的建筑组来示例, 首先,我们要在common-building_groups里创建一个带BOM的UTF-8格式的txt文件,名称为new_building_groups(new_bg等也可以) | |||
<syntaxhighlight lang="perl" line="1"> | <syntaxhighlight lang="perl" line="1"> | ||
bg_new = { #这是建筑组的名称,格式必须为bg_xxxxxx | bg_new = { #这是建筑组的名称,格式必须为bg_xxxxxx | ||
第20行: | 第21行: | ||
} | } | ||
</syntaxhighlight> | </syntaxhighlight> | ||
此为主组的示例,建筑组分为拥有完整条件的主建筑组与附属主建筑组的 | 此为主组的示例,建筑组分为拥有完整条件的主建筑组与附属主建筑组的 子 建筑组,以下为次组的示例: | ||
<syntaxhighlight lang="perl" line="1"> | <syntaxhighlight lang="perl" line="1"> | ||
bg_new_industry = { | bg_new_industry = { | ||
parent_group = bg_new #附属于哪一个主建筑组 | parent_group = bg_new #附属于哪一个主 建筑组,如果只是修改可直接套游戏原有的 建筑组 | ||
lens = light_industry #该建筑组内的建筑分属什么类型的建筑,此外还有重工业(heavy_industry)、农业(agriculture)等,如写在主建筑里则为一个大类(比如农业就包括了所有的农田) | lens = light_industry #该建筑组内的建筑分属什么类型的建筑,此外还有重工业(heavy_industry)、农业(agriculture)等,如写在主建筑里则为一个大类(比如农业就包括了所有的农田) | ||
urbanization = 20 #每级城市化率 | urbanization = 20 #每级城市化率 | ||
infrastructure_usage_per_level = 2 #建筑每级所使用的基础设施值 | infrastructure_usage_per_level = 2 #建筑每级所使用的基础设施值 | ||
} | } | ||
</syntaxhighlight> | </syntaxhighlight> 一个主建筑组及其子建筑组,合起来就是一个完整的建筑组,虽然建筑可以分属在主建筑组内,但是多个子建筑组能分开对应不同的建筑类型,如轻工业与重工业分属在制造业内,制造业建筑组所属类别等条件属性均可应用轻重工业,如果只是新建一个子建筑组,那就可以直接附属在游戏原主建筑组内。 | ||
=== 官方建筑组效果代码一览 === | |||
以下说明基于百度翻译与个人校对 | |||
* parent_group = parent_group_key 如果设置了主组,则该建筑组则会被视为指定建筑组的子组,默认无。 | |||
* always_possible = yes/no 如果为是,则该建筑组内的建筑始终能无视所在省份的资源限制,默认否。 | |||
* economy_of_scale = yes/no 如果为是,则任何非自给建筑或该组的子组的建筑将会获得每级大于1的规模经济吞吐量修正。默认否。 | |||
* is_subsistence = yes/no If yes, buildings of types in this group are considered subsistence buildings that follow special rules. Default no. | |||
* default_building = building_type_key Specifies the default building type that will be built unless the state specifies a different one. No default. | |||
* lens = lens_key If specified, determines the lens buildings in this group will be sorted under. No default. | |||
* auto_place_buildings = yes/no | |||
* capped_by_resources = yes/no | |||
* discoverable_resource = yes/no | |||
* depletable_resource = yes/no | |||
* can_use_slaves = yes/no Default no, setting yes enables slavery for all contained buildings and groups | |||
* land_usage = urban/rural Which type of state resource the building uses. urban = Urbanization, rural = Arable Land. Default no state resource usage. If unspecified, will return first non-default land usage type found in parent building group tree. | |||
* cash_reserves_max = number Maximum amount of £ (per level) that buildings in this group can store into their cash reserves. If unspecified or set to 0, it will use the value from the parent group. Default 0 | |||
* inheritable_construction = yes/no If yes, a construction of this building group will survive a state changing hands or a split state merging | |||
* stateregion_max_level = yes/no If yes, any building types in this group with the has_max_level property will consider its level restrictions on state-region rather than state level | |||
* urbanization = number The amount of urbanization buildings in this group provides per level | |||
* should_auto_expand = trigger Under which condition buildings in this group should auto-expand if auto-expand is toggled on (trigger on more specific group or building type overrides) If this trigger has any contents at all, the game will think the building is potentially auto-expandable, so do not write triggers that can never evaluate to true here | |||
* hiring_rate = X How much of the building's max staffing level can be hired in a single week (default NDefines::NEconomy::HIRING_RATE) | |||
* proportionality_limit = X How high is the building's tolerance for pop types being out of proportion? default NDefines::NEconomy::EMPLOYMENT_PROPORTIONALITY_LIMIT) | |||
* hires_unemployed_only = yes If yes, buildings in this group may only hire from the unemployment pool. Default no. | |||
== 模组制作指引 == | |||
{{Modding navbox}} |
2023年2月26日 (日) 13:04的版本
建筑是维多利亚3中提供生产、行政、军事单位等的主体,不同的建筑有着不同的产出与消耗,本页面旨在为各模组制作者提供指引。
结构组成
首先,我们要了解一个建筑由哪些部分组成,不同的建筑其实内部的结构都是一样,只是相关的代码不同其消耗与产出也不同。Documents/Paradox Interactive/Victoria 3/mods/mod名称/common/
- 建筑组(building groups),这是一个建筑的基础,建筑没有对应的建筑组便不会在游戏中正确的出现。建筑组的文件路径为common/building_groups,此为建筑组文件所在的文件夹,不同类型的建筑有其所属的建筑组,不同的建筑组对应着制造业、农业、基础设施等,而不同的建筑组其所拥有的效果也不同,在官方的建筑组文件里也有相关代码的说明。
- 建筑(building),这是建筑的本体,文件路径为common/building
建筑组
我们以一个简单的建筑组来示例,首先,我们要在common-building_groups里创建一个带BOM的UTF-8格式的txt文件,名称为new_building_groups(new_bg等也可以)
bg_new = { #这是建筑组的名称,格式必须为bg_xxxxxx category = urban #这是建筑组所属的类别,urban(城市)、rural(乡村)、development(开发) always_possible = yes #这是建筑组所属建筑是否能无限制修建,no即为有限制的修建(资源、等级限制等) economy_of_scale = yes #这是建筑每级是否能获得吞吐量修正(自给建筑除外) cash_reserves_max = 25000 #建筑最高的储备金 should_auto_expand = { default_auto_expand_rule = yes #自动扩建的条件 } economy_of_scale_ai_factor = 2.0 #这是ai考虑吞吐量影响的因素数值 }
此为主组的示例,建筑组分为拥有完整条件的主建筑组与附属主建筑组的子建筑组,以下为次组的示例:
bg_new_industry = { parent_group = bg_new #附属于哪一个主建筑组,如果只是修改可直接套游戏原有的建筑组 lens = light_industry #该建筑组内的建筑分属什么类型的建筑,此外还有重工业(heavy_industry)、农业(agriculture)等,如写在主建筑里则为一个大类(比如农业就包括了所有的农田) urbanization = 20 #每级城市化率 infrastructure_usage_per_level = 2 #建筑每级所使用的基础设施值 }
一个主建筑组及其子建筑组,合起来就是一个完整的建筑组,虽然建筑可以分属在主建筑组内,但是多个子建筑组能分开对应不同的建筑类型,如轻工业与重工业分属在制造业内,制造业建筑组所属类别等条件属性均可应用轻重工业,如果只是新建一个子建筑组,那就可以直接附属在游戏原主建筑组内。
官方建筑组效果代码一览
以下说明基于百度翻译与个人校对
- parent_group = parent_group_key 如果设置了主组,则该建筑组则会被视为指定建筑组的子组,默认无。
- always_possible = yes/no 如果为是,则该建筑组内的建筑始终能无视所在省份的资源限制,默认否。
- economy_of_scale = yes/no 如果为是,则任何非自给建筑或该组的子组的建筑将会获得每级大于1的规模经济吞吐量修正。默认否。
- is_subsistence = yes/no If yes, buildings of types in this group are considered subsistence buildings that follow special rules. Default no.
- default_building = building_type_key Specifies the default building type that will be built unless the state specifies a different one. No default.
- lens = lens_key If specified, determines the lens buildings in this group will be sorted under. No default.
- auto_place_buildings = yes/no
- capped_by_resources = yes/no
- discoverable_resource = yes/no
- depletable_resource = yes/no
- can_use_slaves = yes/no Default no, setting yes enables slavery for all contained buildings and groups
- land_usage = urban/rural Which type of state resource the building uses. urban = Urbanization, rural = Arable Land. Default no state resource usage. If unspecified, will return first non-default land usage type found in parent building group tree.
- cash_reserves_max = number Maximum amount of £ (per level) that buildings in this group can store into their cash reserves. If unspecified or set to 0, it will use the value from the parent group. Default 0
- inheritable_construction = yes/no If yes, a construction of this building group will survive a state changing hands or a split state merging
- stateregion_max_level = yes/no If yes, any building types in this group with the has_max_level property will consider its level restrictions on state-region rather than state level
- urbanization = number The amount of urbanization buildings in this group provides per level
- should_auto_expand = trigger Under which condition buildings in this group should auto-expand if auto-expand is toggled on (trigger on more specific group or building type overrides) If this trigger has any contents at all, the game will think the building is potentially auto-expandable, so do not write triggers that can never evaluate to true here
- hiring_rate = X How much of the building's max staffing level can be hired in a single week (default NDefines::NEconomy::HIRING_RATE)
- proportionality_limit = X How high is the building's tolerance for pop types being out of proportion? default NDefines::NEconomy::EMPLOYMENT_PROPORTIONALITY_LIMIT)
- hires_unemployed_only = yes If yes, buildings in this group may only hire from the unemployment pool. Default no.
模组制作指引
模组制作
参考文档 | 效果 • 条件 • 事件目标 • 定义域 •增益 • 变量 • Data types • 本地化 • Customizable localization |
脚本 | 脚本化函数 • 国家 • 决议 • 事件 • 日志 • 定义 • 外交 • 附属类型 • 修正 • Objectives • On actions |
游戏内概念 | 建筑 • Pop • 文化 • 宗教 • 利益集团 • 派系 • 科技 • 法律 • 机构 • 法令 • 货物 • 概念 |
地图 | 地图 |
图像 | 3D Models • Interface • Graphical Assets • Fonts • Flags |
音乐 | Music • Sound |
其他 | 控制台指令 • Checksum • 模组结构 • Troubleshooting |
指引 | 自定义国家 • 存档编辑 • 地图数据编辑 |