#mod #scope #effect #trigger #localization #strategy #ck3-tiger

tiger-lib

ck3-tiger、vic3-tiger和imperator-tiger等工具使用的库。这个库包含了这些工具的大部分代码。它可以构建为ck3-tiger(使用ck3功能),或为vic3-tiger(使用vic3功能),或为imperator-tiger(使用imperator功能),但不能同时构建。

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日

#1 in #effect

每月47次下载
4个crate中(3个直接)使用

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做同样的事情,以及imperator-tiger,它为帝王罗马做同样的事情。

状态

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

vic3-tigerck3-tiger要年轻一些,警告将不够准确。

功能

ck3-tiger(或vic3-tigerimperator-tiger)将读取相关的vanilla文件和你的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)放入您的mod目录中。您可以使用它来选择要检查本地化的语言,并抑制您不想修复的消息。

发布中包含示例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扩展。它允许您在“问题”标签页中直接查看报告。

仅显示新报告

您可以让tiger抑制之前运行中显示的报告。当您只想看到更改的内容时,例如更新您的模组后,这可能很有帮助。首先,您必须生成一个“基线”以供未来运行比较

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上提交有关您遇到的问题的issue,或直接给我发送电子邮件
  • 启动游戏以验证代码中标记为“TODO:验证”的内容

以代码形式做出的贡献也受欢迎。它们应以GitHub pull request的形式提交,并在这样做之前,您应该阅读并理解项目的版权许可。不过,在开始编码之前,提交一个GitHub issue可能会有所帮助,因为可能更喜欢以不同的方式解决问题。

一些代码贡献的想法

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

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

许可

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

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

依赖项

~10–19MB
~322K SLoC