#mod #paradox #linter #validation #crusaders #ck3

bin+lib ck3-tiger

验证器,用于检查《克苏鲁的呼唤3》用户mod文件中的错误,并发出警告。例如:缺少本地化或在一个角色上使用信仰触发器。《克苏鲁的呼唤3》是由Paradox Interactive制作的大战略游戏,玩家制作的mod旨在增强或改变他们的游戏体验。本工具是为制作mod的人设计的。

23 个版本 (1 个稳定版本)

1.0.0 2024年7月3日
0.9.6 2024年4月12日
0.9.5 2024年3月27日
0.8.12 2024年2月29日
0.7.4 2023年7月22日

698 in 游戏开发

Download history 10/week @ 2024-04-15 3/week @ 2024-06-03 1/week @ 2024-06-24 143/week @ 2024-07-01 136/week @ 2024-07-29

每月147 次下载

GPL-3.0-or-later

5.5MB
100K SLoC

Tiger Banner

GitHub Release GitHub License tiger-lib docs.rs Discord

老虎捕捉错误。检查《克苏鲁的呼唤3》用户mod文件中的错误并发出警告。例如:缺少本地化或在一个角色上使用信仰触发器。

《克苏鲁的呼唤3》是由Paradox Interactive制作的大战略游戏,玩家制作的mod旨在增强或改变他们的游戏体验。本工具是为制作mod的人设计的。

ck3-tiger 现在还包含 vic3-tiger,用于检查《维多利亚3》的mod,以及 imperator-tiger,用于检查《罗马全面战争》的mod。

状态

此项目正在成熟但尚未稳定。它将警告一些实际上是正确的事情。

vic3-tiger 比较年轻,因此警告将不太准确。

功能

ck3-tiger(或vic3-tigerimperator-tiger)将读取相关的原始文件和您的mod文件,并对您的mod中所有看起来错误的地方进行投诉。在可能的情况下,它将告诉您为什么它认为该事物是错误的,并且在极少数情况下,您应该做什么。

  • 语法验证:您是否使用了正确的键 = 值对?没有拼写错误吗?
  • 缺失项目:您引用的每个游戏对象实际上是否在某处定义过?
  • 缺失本地化:您是否拥有您mod所需的全部本地化?
  • 作用域一致性检查:您是否在文化上使用文化效果,在角色上使用角色效果等?
  • 历史(CK3):配偶、雇主和领主在相关日期是否仍然存活?没有人是他们自己的祖父吗?
  • 特别:rivers.png 检查

示例输出

Sample Output

Sample Output

Sample Output

如何使用

ck3-tiger

GitHub 下载发布包。解压到某处。

在Windows上,如果一切顺利,您可以双击ck3-tiger-auto,它将尽力尝试。

否则,请在命令提示符下运行工具

path/to/ck3-tiger path/to/your/descriptor.mod

或者

path/to/ck3-tiger "path/to/Paradox Interactive/Crusader Kings III/mod/YourMod.mod"

(注意,路径两侧的引号很重要,因为路径中包含空格。)

如果您希望输出到文件,可以这样重定向

ck3-tiger path/to/your/descriptor.mod >filename

vic3-tiger

GitHub 下载发布包。解压到某处。

在Windows上,如果一切顺利,您可以双击vic3-tiger-auto,它将尽力尝试。

否则,请在命令提示符下运行工具

path/to/vic3-tiger path/to/your/mod

或者

path/to/vic3-tiger "path/to/Paradox Interactive/Victoria 3/mod/YourMod/"

(注意,路径两侧的引号很重要,因为路径中包含空格。)

如果您希望输出到文件,可以这样重定向

vic3-tiger path/to/your/mod >filename

imperator-tiger

GitHub 下载发布包。解压到某处。

从命令提示符运行工具

path/to/imperator-tiger path/to/your/descriptor.mod

或者

path/to/imperator-tiger "path/to/Paradox Interactive/ImperatorRome/mod/YourMod.mod"

(注意,路径两侧的引号很重要,因为路径中包含空格。)

如果您希望输出到文件,可以这样重定向

imperator-tiger path/to/your/mod >filename

如何配置

您可以将文件ck3-tiger.conf(或vic3-tiger.confimperator.conf)放置在您的模组目录中。您可以使用它来选择要检查本地化的语言,以及抑制关于您不想修复的事物的消息。

发布中包含了一个示例ck3-tiger.conf文件、vic3-tiger.conf文件和imperator-tiger.conf文件,其中包含对其内容的说明。还有一个指南

如何构建

如果您想自己构建,您必须安装Rust编程语言。您可以从发布版中的一个源存档中获取(最好是最新版)或克隆git仓库。

对于ck3-tiger,在项目目录中运行cargo build --release -p ck3-tiger,然后以cargo run --release -p ck3-tiger的方式运行程序。
对于vic3-tiger,在项目目录中运行cargo build --release -p vic3-tiger,然后以cargo run --release -p vic3-tiger的方式运行程序。
对于imperator-tiger,在项目目录中运行cargo build --release -p imperator-tiger,然后以cargo run --release -p imperator-tiger的方式运行程序。

Visual Studio Code扩展

用户unLomTrois开发了一个针对ck3-tiger的VS Code扩展ck3tiger-for-vscode。它允许您在“问题”选项卡中直接查看报告。

仅显示新报告

您可以告诉tiger隐藏在之前运行中显示的报告。当您只想查看更改的内容时,例如更新您的mod之后,这可能会很有用。首先,您需要生成一个“基线”来比较未来的运行

ck3-tiger --json path/to/your/mod >baseline.json

您可以使用任何文件名代替baseline.json。然后当您再次运行tiger时,您可以告诉它排除基线中的报告

ck3-tiger --suppress baseline.json path/to/your/mod

它也适用于vic3-tigerimperator-tiger

贡献

我欢迎贡献和合作!以下是一些可能的贡献形式

  • 关于tiger应检查哪些内容的建议和想法
  • 告诉我哪些输出消息令人困惑或难以理解
  • 报告tiger抱怨的问题不是真实问题(误报)的情况
  • 在GitHub上提交有关您遇到的问题的问题,或直接发送电子邮件给我
  • 启动游戏以验证代码中标记为“TODO:验证”的内容

欢迎以代码形式进行的贡献。它们应作为GitHub拉取请求进行,并在这样做之前,您应该阅读并理解项目的版权许可。但在开始编码之前,提交一个GitHub问题可能会有所帮助,因为我可能更喜欢以不同的方式解决问题。

一些代码贡献的想法

  • 添加一个新的检查及其错误报告
  • 添加对新项目类型的验证器
  • 将验证器更新到新游戏版本
  • 解决代码中的数百个TODO注释之一
  • 解决TODOIDEAS维基页面上的一个问题
  • 速度或内存使用改进的机会无处不在

有关代码和编码风格的概述,请参阅CODING维基页面。

许可

本程序是免费软件:您可以按照自由软件基金会发布的GNU通用公共许可证的条款重新分发和/或修改它,许可证版本为3,或(根据您的选择)任何较新版本。

本程序以希望它将是有用的方式分发,但没有任何保证;甚至没有关于适销性或特定用途的隐含保证。有关更多详细信息,请参阅LICENSE文件。

依赖项

~15–32MB
~569K SLoC