工具,使一个更简洁和主题结构为十字军国王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结尾的新文件接受一种类似于普通文件的语法,只在一个封闭的范围内定义了它们的类型,例如:

^{pr2}$

模板化

对于.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 }
		}
	}

}

欢迎加入QQ群-->: 979659372 Python中文网_新手群

推荐PyPI第三方库


热门话题
构造函数的java条件调用   类Dog中的java构造函数Dog不能应用于给定类型   java jsch和运行“sudo su”   java将队列和堆栈相互复制   java如何在netbeans项目的文件夹中添加库   java While循环在我的代码中不存在   如何在XML中使用java方法的返回值   java是否可以在不写入文件的情况下将字符串/字节数组作为文件发布?   java为什么这些字符串不相等?   sockets客户机-服务器java编程,用户可选择   java如何在SpringMVC和hibernate中保存模型返回视图的列表   java如何修复组织。openqa。硒。WebDriverException:未知错误   Java,Ant错误:编码Cp1252的不可映射字符   JAVAlang.ClassCastException:[Ljava.lang.String;与java.lang.String不兼容   java如何使用JDK8(可选)为空字段创建自定义IntelliJ getter模板   java Tomcat6响应。sendRedirect()404错误