模组可以更改游戏中的元素,也可以为游戏加入新特性。
相当多的东西被硬编码,不能被编辑,比如说新的地图模式和加入快捷键。
所有不使用到控制台指令的模组都可以使用成就
提示
- 不要直接在游戏文件里修改文件,不仅会破坏游戏而且修改的内容也会在游戏更新中被覆盖。
- 使用可以高亮语法的编辑器可以让模组制作事半功倍,下面是拥有对维多利亚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不会运行。
- 括号要补全,这样才能使得代码都在一个层次内,正确的代码是可以让大括号在文本编辑器折起来的。漂亮的代码能够更好看清楚错误和增强可读性。
- 以#开头来进行注释,可以说明代码的用途,也可以注释掉暂时不需要用的代码。
实用的工具
模组指导
自定义国家
自定义事件
自定义日志
自定义修正
游戏对象参考
依赖项和文件夹结构
如果要添加新的游戏对象,则需要记住它依赖于哪些更基本的对象,以及如何组织文件以便游戏识别它。
所有路径都与 Victoria 3 安装目录中的“game”文件夹相关,因为这是游戏的所有可编写脚本部分所在的位置。
注意:没有依赖关系的对象仍然可以引用原始对象(数字、字符串等)或核心游戏概念,但 mod 无法编辑或定义任何对象类型,只能更改参数值。嵌套引用,尤其是修饰符中的嵌套引用,通常也不计算在内,因为修饰符可以具有任意依赖关系。
Object type
|
路径
|
Dependencies
|
人群职业
|
common/pop_types
|
|
商品
|
common/goods
|
|
人群需求
|
common/pop_needs
|
- Trade goods, via 'default'
- Trade goods, via 'goods' inside 'entry'
|
时代
|
common/technology/eras
|
|
科技
|
game/common/technology/technologies
|
- Eras, via 'era'
- Technologies, via 'unlocking_technologies'
|
析构
|
common/institutions
|
|
法律组
|
common/law_groups
|
|
法律
|
common/laws
|
- Institutions, via 'institution'
- Law groups, via group
- Laws, via 'disallowing_laws'
- Laws, via 'possible_political_movements'
|
意识形态
|
common/ideologies
|
- Law groups, as parameters
- Laws, via law group parameter mappings
|
利益集团特质
|
game/common/interest_group_traits
|
|
利益集团
|
common/interest_groups
|
- Interest group traits, via 'traits'
- Ideologies, via 'ideologies'
|
生产方式
|
common/production_methods
|
- Technologies, via 'unlocking_technologies'
- Laws, via 'disallowing_laws'
- Production methods, via 'unlocking_production_methods'
|
生产方式组
|
common/production_method_groups
|
- Production methods, via 'production_methods'
|
建筑组
|
common/building_groups
|
- Building groups, via 'parent_group'
- Building, via 'default_building'
|
建筑
|
common/buildings
|
- Building groups, via 'building_group'
- Technology, via 'unlocking_technologies'
- Production method groups, via 'production_method_groups'
|
参数
创建游戏对象时,通常需要遵循特定的模式。以下是各种游戏对象的参数、它们的含义、必需的参数以及要输入的值类型。
参见
控制台指令
On actions
模组制作指南
Grester's Compendium