工具,使一个更简洁和主题结构为十字军国王2创建mods
suvorov的Python项目详细描述
Suvorov:CK2的扩展脚本语言
Suvorov允许您以更简洁和有组织的方式编写CK2修改,根据您自己的文件结构将特性组合在一起,而不是将每个特性拆分到多个文件夹中。例如,如果您有一个在特定操作上激发的事件,并添加了一个字符修饰符,则可以将on_操作、事件和修饰符组合在同一个文件中。如果您添加一个新的省,您可以在同一个文件中定义它的历史、标题、持有者字符等。如果您创建了一个trait来解锁相关的目标决策以及一个维护事件来为所有trait持有者触发,那么就不需要污染三个不同的子文件夹。这样,mod更易于维护,添加或删除功能并不意味着您必须浏览几个不同的文件。在
安装和使用
使用pip install suvorov
安装。如果python3不是默认版本,请确保使用pip3
。在
现在可以在CK2用户目录中的文件夹suvorovmods
中创建新的mod。在
调用命令suvorov build (modfoldername)
准备mod以便CK2可以读取它。不带任何参数调用suvorov build
来构建所有mod。在
Mod结构
在suvorov mod中,您可以根据pdx
子文件夹中的常规结构(例如gfx、interface、common)添加任何文件。对于新的suvorov样式的文件,您可以使用任何您喜欢的文件夹结构(当然除了pdx
文件夹)。所以你的mod可以是这样的:
mymod
├ pdx
| ├ gfx
| | └ trait.png
| └ localisation
| └ texts.csv
├ crusade_changes
| ├ crusade_start.txt
| └ crusade_end.txt
├ various.txt
└ modinfo.yml
在文件夹目录根目录的modinfo.yml
中指定mod metadata(name,picture,esc.)。在
新语法
路径无关定义
这些以.txt
或.suv
结尾的新文件接受一种类似于普通文件的语法,只在一个封闭的范围内定义了它们的类型,例如:
模板化
对于.suv
文件,您还可以使用一些基本模板:
events = {
namespace = mymod
character_event = {
id = mymod.2
is_triggered_only = yes
@forin = {
@for = choice
@in = choices
option = {
name = $$choice.name
change_$$choice.attribute = 2
}
}
}
}
这些文件的数据源可以在mod中顶键data
下的任意数量的.yaml
文件上定义,如下所示:
data:choices:-name:"Usethedagger"attribute:"intrigue"-name:"Usethequill"attribute:"diplomacy"
内联eh3定位>
.suv
文件允许您直接在其定义文件中本地化内容-如果您不关心多语言支持,这是进一步减少文件数量并将内容放在一起的好方法:
traits = {
idol = {
@loc = "Idol"
@loc_desc = "This character is a K-Pop Idol."
sex_appeal_opinion = 70
intrigue = 1
}
}
events = {
character_event = {
id = 31
desc = @loc:"Your sister wants to become a K-Pop idol."
option = {
name = @loc:"Nice"
FROM = { add_trait = idol }
}
}
}
- 项目
标签: