工具,使一个更简洁和主题结构为十字军国王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第三方库


热门话题
Grails2.1.0/Java7在Windows8.1上从何处获取当前用户名?   JavaSpringJMSActiveMQ   java异常处理,捕获导致while循环停止   sql server 2008将日期时间解析为JAVA日期   java是第一个servlet,但无法打开它   如何在Java中使用XML bean创建典型的XML头?   java将iOs应用程序转换为Android   java将jsp页面内容读取到其他jsp页面中的html   客户端计算机中小型数据库应用程序的java实现   java同步和ServletContextListener   安卓 Java将所有转义字符替换为双转义   当我在布局单元中实现ScrollView时,java GridView的setOnItemLongClickListener不起作用(使用适配器)   禁用Java web服务端点Wsdl   java如何编写一个程序来反转用户输入的数字