#mod #rome #validation #paradox #imperator

bin+lib imperator-tiger

用于检查《Imperator: Rome》用户mod文件的错误并发出警告的工具。例如:缺少本地化或在一个角色上使用国家触发器。《Imperator: Rome》是由Paradox Interactive制作的大战略游戏,玩家制作的mod是为了增强或改变他们的游戏体验。此工具是为制作mod的人准备的。

5个版本 (1个稳定版)

1.0.0 2024年7月3日
0.9.6 2024年4月12日
0.9.5 2024年3月27日
0.9.4 2024年3月27日
0.9.3 2024年3月20日

#799 in 游戏开发

Download history 3/week @ 2024-05-18 1/week @ 2024-05-25 117/week @ 2024-06-29 9/week @ 2024-07-06

每月302次下载

GPL-3.0-or-later

54KB
464

Tiger Banner

GitHub Release GitHub License tiger-lib docs.rs Discord

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

《Crusader Kings 3》是由Paradox Interactive制作的大战略游戏,玩家制作的mod是为了增强或改变他们的游戏体验。此工具是为制作mod的人准备的。

ck3-tiger 现在还包含 vic3-tiger,用于对《Victoria 3》执行相同的操作,以及 imperator-tiger,用于对《Imperator: Rome》执行相同的操作。

状态

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

vic3-tigerck3-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.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开发了一个VS Code扩展,用于ck3-tiger。它允许您在“问题”标签中直接查看报告。

仅显示新报告

您可以告诉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 wiki页面中标记的问题之一
  • 速度或内存使用改进的机会到处都是

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

许可

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

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

依赖关系

~21–38MB
~674K SLoC