无编辑摘要 |
Dragon-archer(讨论 | 贡献) (→实用的工具) |
||
(未显示3个用户的14个中间版本) | |||
第1行: | 第1行: | ||
{{ | {{ 版本|1.0}} | ||
模组可以更改游戏中的元素,也可以为游戏加入新特性。 | 模组可以更改游戏中的元素,也可以为游戏加入新特性。 | ||
相当多的东西被硬编码,不能被编辑,比如说新的地图模式和加入快捷键。 | 相当多的东西被硬编码,不能被编辑,比如说新的地图模式和加入快捷键。 | ||
第11行: | 第11行: | ||
*# [https://code.visualstudio.com/ Visual Studio Code] 是一个完备但是稍慢的文本编辑器,使用[https://marketplace.visualstudio.com/items?itemName=tboby.cwtools-vscode CwTools]插件可以使其支持维多利亚3的语法 | *# [https://code.visualstudio.com/ Visual Studio Code] 是一个完备但是稍慢的文本编辑器,使用[https://marketplace.visualstudio.com/items?itemName=tboby.cwtools-vscode CwTools]插件可以使其支持维多利亚3的语法 | ||
*# [https://www.sublimetext.com/ Sublime Text] 是非常快的编辑器,支持高亮语法,自动补全和文档查询,搭配维多利亚3插件[https://github.com/dementive/Victoria3Tools Victoria 3 Tools]使用 | *# [https://www.sublimetext.com/ Sublime Text] 是非常快的编辑器,支持高亮语法,自动补全和文档查询,搭配维多利亚3插件[https://github.com/dementive/Victoria3Tools Victoria 3 Tools]使用 | ||
* 以 "-debug_mode" 和 "-filewatcher" 指令可以开启调试模式,调试模式可以使用控制台和开发工具,同时也能热更改一些文件而不需要重启。 | * 以 "-debug_mode" 和 "-filewatcher" 指令可以开启调试模式,调试模式可以使用控制台和开发工具,同时也能热更改一些文件而不需要重启。 | ||
* 查看error.log以捕获bug,这种精确的记录对于模组制作者来说是一种可以判断为什么一些东西不工作的利器。文件位于Documents/Paradox Interactive/Victoria 3/logs | * 查看error.log以捕获bug,这种精确的记录对于模组制作者来说是一种可以判断为什么一些东西不工作的利器。文件位于Documents/Paradox Interactive/Victoria 3/logs | ||
* 请备份,所有东西都可能会变坏所以需要备份。你可以手动备份也可以使用诸如GIt的版本控制工具、可以考虑使用Github来团队协作,如果你是初学者建议使用以[https://desktop.github.com/ Github Desktop]i熟悉Git。 | * 请备份,所有东西都可能会变坏所以需要备份。你可以手动备份也可以使用诸如GIt的版本控制工具、可以考虑使用Github来团队协作,如果你是初学者建议使用以[https://desktop.github.com/ Github Desktop]i熟悉Git。 | ||
* 使用Use "script_docs" 和 "DumpDataTypes" 控制台指令可以在Documents/Paradox Interactive/Victoria 3/logs生成效果、条件、作用域和事件目标的记录。 | * 使用Use "script_docs" 和 "DumpDataTypes" 控制台指令可以在Documents/Paradox Interactive/Victoria 3/logs生成效果、条件、作用域和事件目标的记录。 | ||
* | * 如果你不清楚怎么做,可以在游戏文件搜索你需要搜索的单词,查找文件中的单词是写出没有错误的mod的一个快捷方法。 | ||
* | * 当你下载了你上传的Steam mod,在本地文件又有原本的Steam mod,Steam的mod不会运行。 | ||
* | * 括号要补全,这样才能使得代码都在一个层次内,正确的代码是可以让大括号在文本编辑器折起来的。漂亮的代码能够更好看清楚错误和增强可读性。 | ||
* | * 以#开头来进行注释,可以说明代码的用途,也可以注释掉暂时不需要用的代码。 | ||
==实用的工具== | |||
* [https://github.com/dragon-archer/paradox-highlight Paradox Highlight] 提供Victoria 3和各类其它Paradox游戏语法高亮的Visual Studio Code插件 | |||
* [https://github.com/crschnick/pdx_unlimiter Pdx-Unlimiter] 可以修改存档数据的实用工具 | |||
* [https://github.com/Linnest2020/Vic3-mapdata-editor Map data editor] 基于jomini.js制作的用chrome启动的省份数据编辑器,可以可视化编辑history/states的数据 | |||
* [https://github.com/runite-drill/music-mod-creation-tool Music Mod Creation Tool] 顾名思义,这是一个音乐mod制作工具 | |||
==模组指导== | ==模组指导== | ||
[[自定义国家 | [[自定义国家]] | ||
[[自定义事件]] | [[自定义事件]] | ||
第30行: | 第36行: | ||
[[自定义修正]] | [[自定义修正]] | ||
== | == 游戏对象参考 == | ||
=== 依赖项和文件夹结构 === | |||
如果要添加新的游戏对象,则需要记住它依赖于哪些更基本的对象,以及如何组织文件以便游戏识别它。 | |||
所有路径都与 Victoria 3 安装目录中的“game”文件夹相关,因为这是游戏的所有可编写脚本部分所在的位置。 | |||
注意:没有依赖关系的对象仍然可以引用原始对象(数字、字符串等)或核心游戏概念,但 mod 无法编辑或定义任何对象类型,只能更改参数值。嵌套引用,尤其是修饰符中的嵌套引用,通常也不计算在内,因为修饰符可以具有任意依赖关系。 | |||
{| class="mildtable sortable mw-collapsible" | {| class="mildtable sortable mw-collapsible" | ||
! Object type | ! Object type | ||
! | ! 路径 | ||
! Dependencies | ! Dependencies | ||
|- | |- | ||
! | ! 人群职业 | ||
| common/pop_types | | common/pop_types | ||
| {{ | | {{ 图标|no}} | ||
|- | |- | ||
! [[Goods_modding| | ! [[Goods_modding| 商品]] | ||
| common/goods | | common/goods | ||
| {{ | | {{ 图标|no}} | ||
|- | |- | ||
! | ! 人群需求 | ||
| common/pop_needs | | common/pop_needs | ||
| | | | ||
第59行: | 第64行: | ||
: Trade goods, via 'goods' inside 'entry' | : Trade goods, via 'goods' inside 'entry' | ||
|- | |- | ||
! | ! 时代 | ||
| common/technology/eras | | common/technology/eras | ||
| {{ | | {{ 图标|no}} | ||
|- | |- | ||
! [[Technology_modding| | ! [[Technology_modding| 科技]] | ||
| game/common/technology/technologies | | game/common/technology/technologies | ||
| | | | ||
第69行: | 第74行: | ||
:Technologies, via 'unlocking_technologies' | :Technologies, via 'unlocking_technologies' | ||
|- | |- | ||
! [[Institution_modding| | ! [[Institution_modding| 析构]] | ||
| common/institutions | | common/institutions | ||
| {{ | | {{ 图标|no}} | ||
|- | |- | ||
! | ! 法律组 | ||
| common/law_groups | | common/law_groups | ||
| {{ | | {{ 图标|no}} | ||
|- | |- | ||
! [[Laws_modding| | ! [[Laws_modding| 法律]] | ||
| common/laws | | common/laws | ||
| | | | ||
第85行: | 第90行: | ||
:Laws, via 'possible_political_movements' | :Laws, via 'possible_political_movements' | ||
|- | |- | ||
! | ! 意识形态 | ||
| common/ideologies | | common/ideologies | ||
| | | | ||
第91行: | 第96行: | ||
: Laws, via law group parameter mappings | : Laws, via law group parameter mappings | ||
|- | |- | ||
! | ! 利益集团特质 | ||
| game/common/interest_group_traits | | game/common/interest_group_traits | ||
| {{ | | {{ 图标|no}} | ||
|- | |- | ||
! [[Interest group modding| | ! [[Interest group modding| 利益集团]] | ||
| common/interest_groups | | common/interest_groups | ||
| | | | ||
第101行: | 第106行: | ||
: Ideologies, via 'ideologies' | : Ideologies, via 'ideologies' | ||
|- | |- | ||
! | ! 生产方式 | ||
| common/production_methods | | common/production_methods | ||
| | | | ||
第108行: | 第113行: | ||
: Production methods, via 'unlocking_production_methods' | : Production methods, via 'unlocking_production_methods' | ||
|- | |- | ||
! | ! 生产方式组 | ||
| common/production_method_groups | | common/production_method_groups | ||
| | | | ||
: Production methods, via 'production_methods' | : Production methods, via 'production_methods' | ||
|- | |- | ||
! | ! 建筑组 | ||
| common/building_groups | | common/building_groups | ||
| | | | ||
第119行: | 第124行: | ||
: Building, via 'default_building' | : Building, via 'default_building' | ||
|- | |- | ||
! [[Building_modding| | ! [[Building_modding| 建筑]] | ||
| common/buildings | | common/buildings | ||
| | | | ||
第128行: | 第133行: | ||
|} | |} | ||
=== 参数 === | |||
创建游戏对象时,通常需要遵循特定的模式。以下是各种游戏对象的参数、它们的含义、必需的参数以及要输入的值类型。 | |||
{| class="mildtable sortable mw-collapsible" | {| class="mildtable sortable mw-collapsible" | ||
第143行: | 第147行: | ||
| texture | | texture | ||
| string | | string | ||
| {{ | | {{ 图标|yes}} | ||
| good icon filepath | | good icon filepath | ||
|- | |- | ||
| cost | | cost | ||
| integer | | integer | ||
| {{ | | {{ 图标|yes}} | ||
| base good price | | base good price | ||
|- | |- | ||
第157行: | 第161行: | ||
: luxury | : luxury | ||
: military | : military | ||
| {{ | | {{ 图标|yes}} | ||
| which goods category it belongs to | | which goods category it belongs to | ||
|- | |- | ||
| prestige_factor | | prestige_factor | ||
| integer | | integer | ||
| {{ | | {{ 图标|yes}} | ||
| base prestige for being lowest rank leading producer: | | base prestige for being lowest rank leading producer: | ||
specifically, holding the MIN_PRESTIGE_AWARD spot. | specifically, holding the MIN_PRESTIGE_AWARD spot. | ||
第168行: | 第172行: | ||
| traded_quantity | | traded_quantity | ||
| integer | | integer | ||
| {{ | | {{ 图标|no}} | ||
| how many goods are traded for each level of a trade route | | how many goods are traded for each level of a trade route | ||
|- | |- | ||
| convoy_cost_multiplier | | convoy_cost_multiplier | ||
| floating point number | | floating point number | ||
| {{ | | {{ 图标|no}} | ||
| how many times more convoys are needed to transport this good | | how many times more convoys are needed to transport this good | ||
|- | |- | ||
| consumption_tax_cost | | consumption_tax_cost | ||
| integer | | integer | ||
| {{ | | {{ 图标|no}} | ||
| how much authority it costs to levy a consumption tax | | how much authority it costs to levy a consumption tax | ||
note: absence of this parameter implies no consumption tax can be levied | note: absence of this parameter implies no consumption tax can be levied | ||
第185行: | 第189行: | ||
| technology_cost | | technology_cost | ||
| integer | | integer | ||
| {{ | | {{ 图标|yes}} | ||
| the base technology cost for techs in this era | | the base technology cost for techs in this era | ||
|- | |- | ||
第191行: | 第195行: | ||
| era | | era | ||
| Technology Era | | Technology Era | ||
| {{ | | {{ 图标|yes}} | ||
| which era this technology belongs to | | which era this technology belongs to | ||
|- | |- | ||
| texture | | texture | ||
| string | | string | ||
| {{ | | {{ 图标|yes}} | ||
| technology icon filepath | | technology icon filepath | ||
|- | |- | ||
第204行: | 第208行: | ||
: military | : military | ||
: society | : society | ||
| {{ | | {{ 图标|yes}} | ||
| which category this technology belongs to | | which category this technology belongs to | ||
|- | |- | ||
| modifier | | modifier | ||
| country modifier | | country modifier | ||
| {{ | | {{ 图标|no}} | ||
| which immediate effects this technology has on your country | | which immediate effects this technology has on your country | ||
Example: Cotton Gin provides 25% cotton plantation throughput.<br/> | Example: Cotton Gin provides 25% cotton plantation throughput.<br/> | ||
第217行: | 第221行: | ||
| unlocking_technologies | | unlocking_technologies | ||
| list of technologies | | list of technologies | ||
| {{ | | {{ 图标|no}} | ||
| All prerequisite technologies. If empty, it has no prerequisites | | All prerequisite technologies. If empty, it has no prerequisites | ||
|- | |- | ||
| can_research | | can_research | ||
| boolean | | boolean | ||
| {{ | | {{ 图标|no}} | ||
| if 'no', makes it unavailable for normal research. | | if 'no', makes it unavailable for normal research. | ||
Example: [[Production_technology#Sericulture|Sericulture]]. | Example: [[Production_technology#Sericulture|Sericulture]]. | ||
第229行: | 第233行: | ||
== | == 参见== | ||
[[ | [[ 控制台指令]] | ||
[[On actions]] | [[On actions]] | ||
=== | === 模组制作指南=== | ||
[[User:Gr3st3r|Grester's Compendium]] | [[User:Gr3st3r|Grester's Compendium]] | ||
{{Modding navbox}} | {{Modding navbox}} | ||
[[ | [[ 分类: 模组]] | ||
[[en:Modding]] | [[en:Modding]] |
2024年2月15日 (四) 11:40的最新版本
模组可以更改游戏中的元素,也可以为游戏加入新特性。 相当多的东西被硬编码,不能被编辑,比如说新的地图模式和加入快捷键。
所有不使用到控制台指令的模组都可以使用成就
提示
- 不要直接在游戏文件里修改文件,不仅会破坏游戏而且修改的内容也会在游戏更新中被覆盖。
- 使用可以高亮语法的编辑器可以让模组制作事半功倍,下面是拥有对维多利亚3语法支持插件的编辑器:
- Visual Studio Code 是一个完备但是稍慢的文本编辑器,使用CwTools插件可以使其支持维多利亚3的语法
- Sublime Text 是非常快的编辑器,支持高亮语法,自动补全和文档查询,搭配维多利亚3插件Victoria 3 Tools使用
- 以 "-debug_mode" 和 "-filewatcher" 指令可以开启调试模式,调试模式可以使用控制台和开发工具,同时也能热更改一些文件而不需要重启。
- 查看error.log以捕获bug,这种精确的记录对于模组制作者来说是一种可以判断为什么一些东西不工作的利器。文件位于Documents/Paradox Interactive/Victoria 3/logs
- 请备份,所有东西都可能会变坏所以需要备份。你可以手动备份也可以使用诸如GIt的版本控制工具、可以考虑使用Github来团队协作,如果你是初学者建议使用以Github Desktopi熟悉Git。
- 使用Use "script_docs" 和 "DumpDataTypes" 控制台指令可以在Documents/Paradox Interactive/Victoria 3/logs生成效果、条件、作用域和事件目标的记录。
- 如果你不清楚怎么做,可以在游戏文件搜索你需要搜索的单词,查找文件中的单词是写出没有错误的mod的一个快捷方法。
- 当你下载了你上传的Steam mod,在本地文件又有原本的Steam mod,Steam的mod不会运行。
- 括号要补全,这样才能使得代码都在一个层次内,正确的代码是可以让大括号在文本编辑器折起来的。漂亮的代码能够更好看清楚错误和增强可读性。
- 以#开头来进行注释,可以说明代码的用途,也可以注释掉暂时不需要用的代码。
实用的工具
- Paradox Highlight 提供Victoria 3和各类其它Paradox游戏语法高亮的Visual Studio Code插件
- Pdx-Unlimiter 可以修改存档数据的实用工具
- Map data editor 基于jomini.js制作的用chrome启动的省份数据编辑器,可以可视化编辑history/states的数据
- Music Mod Creation Tool 顾名思义,这是一个音乐mod制作工具
模组指导
游戏对象参考
依赖项和文件夹结构
如果要添加新的游戏对象,则需要记住它依赖于哪些更基本的对象,以及如何组织文件以便游戏识别它。
所有路径都与 Victoria 3 安装目录中的“game”文件夹相关,因为这是游戏的所有可编写脚本部分所在的位置。
注意:没有依赖关系的对象仍然可以引用原始对象(数字、字符串等)或核心游戏概念,但 mod 无法编辑或定义任何对象类型,只能更改参数值。嵌套引用,尤其是修饰符中的嵌套引用,通常也不计算在内,因为修饰符可以具有任意依赖关系。
Object type | 路径 | Dependencies |
---|---|---|
人群职业 | common/pop_types | |
商品 | common/goods | |
人群需求 | common/pop_needs |
|
时代 | common/technology/eras | |
科技 | game/common/technology/technologies |
|
析构 | common/institutions | |
法律组 | common/law_groups | |
法律 | common/laws |
|
意识形态 | common/ideologies |
|
利益集团特质 | game/common/interest_group_traits | |
利益集团 | common/interest_groups |
|
生产方式 | common/production_methods |
|
生产方式组 | common/production_method_groups |
|
建筑组 | common/building_groups |
|
建筑 | common/buildings |
|
参数
创建游戏对象时,通常需要遵循特定的模式。以下是各种游戏对象的参数、它们的含义、必需的参数以及要输入的值类型。
Object type | Parameter | Parameter type | Required | Meaning |
---|---|---|---|---|
Trade goods | texture | string | good icon filepath | |
cost | integer | base good price | ||
category | keyword, one of:
|
which goods category it belongs to | ||
prestige_factor | integer | base prestige for being lowest rank leading producer:
specifically, holding the MIN_PRESTIGE_AWARD spot. | ||
traded_quantity | integer | how many goods are traded for each level of a trade route | ||
convoy_cost_multiplier | floating point number | how many times more convoys are needed to transport this good | ||
consumption_tax_cost | integer | how much authority it costs to levy a consumption tax
note: absence of this parameter implies no consumption tax can be levied | ||
Technology Era | technology_cost | integer | the base technology cost for techs in this era | |
Technology | era | Technology Era | which era this technology belongs to | |
texture | string | technology icon filepath | ||
category | keyword, one of:
|
which category this technology belongs to | ||
modifier | country modifier | which immediate effects this technology has on your country
Example: Cotton Gin provides 25% cotton plantation throughput. | ||
unlocking_technologies | list of technologies | All prerequisite technologies. If empty, it has no prerequisites | ||
can_research | boolean | if 'no', makes it unavailable for normal research.
Example: Sericulture. |
参见
模组制作指南
模组制作
参考文档 | 效果 • 条件 • 事件目标 • 定义域 •增益 • 变量 • Data types • 本地化 • Customizable localization |
脚本 | 脚本化函数 • 国家 • 决议 • 事件 • 日志 • 定义 • 外交 • 附属类型 • 修正 • Objectives • On actions |
游戏内概念 | 建筑 • Pop • 文化 • 宗教 • 利益集团 • 派系 • 科技 • 法律 • 机构 • 法令 • 货物 • 概念 |
地图 | 地图 |
图像 | 3D Models • Interface • Graphical Assets • Fonts • Flags |
音乐 | Music • Sound |
其他 | 控制台指令 • Checksum • 模组结构 • Troubleshooting |
指引 | 自定义国家 • 存档编辑 • 地图数据编辑 |