十字军之王3(CK3) MOD制作指南 一 创建MOD

开始

MOD是英文单词Modification(意为修改)的缩写,汉语音译作“模组”,也称游戏模组,它是游戏的一种修改或增强程序。 P社(Paradox Interactive)游戏一向以良好的MOD生态为玩家所喜爱,而CK系列作为P社的看家之作,自然也继承了这一传统。 自本篇开始,我将教大家如何自制CK3中的MOD,从基础创建到高级功能实现,逐步深入。


相关网站

1. CK3官网Wiki

用途:查看官方资料、游戏机制、脚本语法等。

网站链接

2. CK3中文百科

用途:中文玩家查阅官方资料,适合快速入门。

网站链接

3. 自发布以来大多数游戏版本的有效输入列表

用途:查看触发器、修饰符、事件作用域等代码的更新记录。

网站链接

4. PNG文件在线转换工具

用途:将PNG图片转换为DDS格式,用于MOD中的图标和界面资源。

网站链接


相关应用

1. 代码编辑器

用途:编辑MOD代码,推荐使用Visual Studio Code(VS Code),支持语法高亮和代码提示。

安装教程:自行搜索“VS Code安装教程”即可。

代码编辑器合集

2. DDS图片编辑工具

  • 推荐工具:Paint.NET(安装DDS插件)或GIMP。

  • 用途:编辑DDS格式的图片资源,如事件图片、图标等。


案例

接下来所描述的相关内容都会以我制作的MOD 修道之途 作为基本案例进行讲解。


第一步:创建MOD

  1. 打开Steam并启动CK3

    • 在Steam库中找到《十字军之王3》,点击“开始游戏”进入游戏启动器。

  2. 进入MOD管理界面

    • 在启动器左侧菜单中选择“所有已安装Mod”。

    • 点击右上角的“上传Mod”按钮。

  3. 创建MOD

    • 在弹出的窗口中,选择“创建Mod”。

    • 输入MOD的名称、版本号和标签(如“文化”、“宗教”等)。

    • 在“目录”一栏输入MOD的文件夹名称(不要删除mod/,直接在后面加上自己的MOD文件夹名称即可)。 例如:mod/daotu

    • 点击“创建Mod”按钮,MOD创建完成。


MOD的文件结构

通常,一个MOD文件夹内的文件路径如下:

daotu (MOD文件夹)
  - common
    - ...... (存放主要代码,如历史角色、文化、宗教等)
  - gfx
    - ...... (存放图片资源,如图标、事件图片等)
  - localization
    - ...... (存放本地化文本,支持多语言)
  - descriptor.mod (记录MOD的主要信息)
  - thumbnail.png (MOD的缩略图)

descriptor.mod:记录MOD的名称、版本、路径等信息。 示例内容:

name="修道之途"
path="mod/daotu"
supported_version="1.12.*"

thumbnail.png:MOD的缩略图,建议尺寸为200x200像素。


第二步:找到MOD文件夹

  1. 默认路径 CK3的MOD文件夹通常位于以下路径:

    C:\Users\Administrator\Documents\Paradox Interactive\Crusader Kings III\mod

    其中,Administrator是电脑的用户名。

  2. 快速访问

    • 打开资源管理器,选择“文档” -> “Paradox Interactive” -> “mod”即可进入。


其它

  1. 版本兼容性

    descriptor.mod文件中声明支持的版本号,例如:

    supported_version="1.12.*"

    这样可以声明MOD适用的游戏版本。

  2. 文件命名规范

    使用英文命名文件夹和文件,避免使用中文或特殊字符。例如:common/cultures/my_custom_culture.txt

  3. 本地化文本

    localization文件夹中创建.yml文件,支持多语言。 示例:

    l_english:
      my_custom_event_title:0 "My Custom Event"
      my_custom_event_desc:0 "This is a custom event description."
  4. 调试与测试

    使用游戏控制台命令debug_mode开启调试模式,实时查看日志。使用test_event [事件ID]命令测试自定义事件。


常见问题解答

  1. MOD加载失败怎么办?

    • 检查descriptor.mod文件中的path=是否正确。

    • 确保MOD文件夹名称与路径一致。

  2. 事件不触发怎么办?

    • 使用test_event [事件ID]命令强制触发事件,检查触发条件是否正确。

  3. 文本显示为空白怎么办?

    • 确保本地化文件编码为UTF-8-BOM格式。

    • 检查.yml文件中的键值对是否正确。

THE END