自定义国家


在维多利亚3的模组制作中,创建一个自定义国家是基本功中的基本功,也是被无数新手问到腻的问题,本页面旨在指引维多利亚3的模组新手创建一个国家。

文件结构

要在《维多利亚3》中创建自定义国家,首先需要认识文件结构,在Documents/Paradox Interactive/Victoria 3/mods/mod名称/common/文件夹中以下文件夹与创建自定义国家息息相关。

  • common/country_definitions 这是最为重要的文件夹,这里没有文件就不能创建自定义国家
  • common/history/states 定义了自定义国家开局拥有的省份,如果不想写可以不写,不过不会在开局里出现
  • common/history 定义了自定义国家开局的历史云云,不过不会太影响游戏
  • common/country_creation 定义了可以释放的国家
  • common/country_formation 定义了自定义国家的成立,以让游戏里的国家可以通过文件夹中指定的条件变成其中的国家
  • common/coat_of_arms 定义了自定义旗帜
  • common/flag_definitions 让游戏中的国家通过文件夹中指定的条件应用自定义旗帜
  • common/named_colors 定义了自定义颜色
  • common/dynamic_country_map_colors 让游戏中的国家通过文件夹中指定的条件应用自定义颜色
  • common/dynamic_country_names 让游戏中的国家通过文件夹中指定的条件应用自定义名称

最简单的一个自定义国家

在mod文件夹中的Documents/Paradox Interactive/Victoria 3/mods/mod名称/common/country_definition创建utf-8 with bom格式的txt文件,本文以坦桑尼亚为例,创建文本文件customize.txt

TZA = {
	color = { 126 84 131 } 
	# 定义了颜色,另外有 rgb{ 0.5 0.5 0.5 } hsv{ 0.8 0.8 0.8} 这样的写法
	
	country_type = recognized
	# country_type 可以是 decentralized,unrecognized,recognized 的任意一种
	
	tier = principality
	# tier 可以是city_state,principality,kingdom,empire,hegemony 的任意一种
	
	cultures = { lacustrine_bantu } # 可以是一个可以是多个
	capital = STATE_LINDI # 请勿用s:开头
	
}

开局历史

如果你需要设定在开局中存在,你需要编辑Documents/Paradox Interactive/Victoria 3/mods/mod名称/common/history/

建议使用地图数据编辑工具以进行省份编辑,避免人工操作地块导致的错误操作。

添加省份

如果需要在游戏开局中出现,你需要在common/history/states 中定义省份归属,在common/history/states/00_states.txt中

s:STATE_LINDI = { ## 这里需要加s:
        # ..... 省略其他的
		create_state = {
			country = c:TZA ## 这里需要加c:
			owned_provinces = { 
				xCF2793 x72D563 xC7D7F6 x3A7D3F x2D3397 x7E6EE2 x70B6A7 xCB8EF7 x6CCEB7 xAB194B x149C1D xFC6EA6 x6FC36F x0EA082 x7B094E x78D2EE x7E8E1C x350192 x698910 x252780 xF33163 x57A481 x28617A xB72DD0 x2A8275 x21E030 x5E470A x1281AB x646A51 xB4ACBD xB9D74D x27D07E xE33646 x257394 x15D846 x32721C x917E72 x3D9ABA xB06689 x23AF7C xD31587 x65D237 x9C371D xD1524C x2C40BD x7CC813 x294144 x5BDBD2 x3760F8 xD98109 xE02030 xC3BD8D x15B4E7 xF04E4E
			} # 这个玩意太变态了,建议使用工具处理
		}
		add_homeland = lacustrine_bantu
}

添加人口,建筑,开局设置等等

  1. common/history/pops 可以编辑人口
  2. common/history/buildings 可以编辑建筑
  3. common/history/country 可以编辑开局设置,建议新建一个文本文件


定义为可释放国家

如果你不希望在游戏开局中创建该国家,但是希望其可以释放出来,可以在Documents/Paradox Interactive/Victoria 3/mods/mod名称/common/country_creation中编辑文件或是新建文件

TZA = {
	# states = { STATE_LINDI } # 不能带s:
	
	# provinces = { xCF2793 x72D563 xC7D7F6 x3A7D3F x2D3397 x7E6EE2 }
	use_culture_states = yes # 是定义中文化故土的省份都会被放出来
	required_num_states = 3 # 最小拥有省份数目
	
	possible = {
		has_technology_researched = pan-nationalism
	} ## 其他自定义条件
	
	ai_will_do = { always = no } # Ai 放出的可能性
}

定义为可成立国家

如果你不希望在游戏开局中创建该国家,但是希望其可以被游戏中其他国家成立,你可以在Documents/Paradox Interactive/Victoria 3/mods/mod名称/common/country_formation 中编辑文件或是新建文件

普通成立/次要成立

TZA = {
	use_culture_states = yes # 和上面的差不多
	
	# states = { STATE_LINDI } 
	# 也可以用state

	required_states_fraction = 0.7	# 需要的省份占比,如果有十块地那就需要七块
	
	possible = {
		has_technology_researched = pan-nationalism
	} # 仍然可以使用自定义条件
	
	ai_will_do = { always = yes }
}

主要成立

TZA = {
	use_culture_states = yes # 同上
	
	is_major_formation = yes # 定义主要成立必须要的事项
	
	unification_play = dp_unify_germany # 统一所使用的外交博弈
	leadership_play = dp_leadership_germany # 统一领导权所使用的外交博弈

	required_states_fraction = 0.63 # 同上
	
	ai_will_do = { always = yes }

	possible = {
		country_has_primary_culture = cu:lacustrine_bantu
	} # 同上
}

添加旗帜

经过上述操作,在游戏中添加自定义国家已经成为可能,但是如果想要添加旗帜则远远不够

定义旗帜图案

Documents/Paradox Interactive/Victoria 3/mods/mod名称/common/coat_of_arms/coat_of_arms中新建一文件

Tanzania = {
	pattern = "pattern_per_bend_senester.dds" 
	# 底图,这里都是gfx/coat_of_arms/patterns的图片
	color1 = "green" # 颜色1
	color2 = "blue" # 颜色2
	color3 = "blue" # 颜色3

	colored_emblem = {
		texture = "ce_bend_sinister_fimbriated.dds" 
		# 这里都是gfx/coat_of_arms/colored_emblems的图片
		color1 = "yellow" 
		color2 = "black"
		instance = { scale = { 1.0 1.0 } position = { 0.5 0.5 } }	
		# 定义位置和大小
	}
	
	# textured_emblem = {
		# texture = "te_Tanzania.dds"
		# 这里都是gfx/coat_of_arms/textured_emblems的图片,当你彻底不想拼旗帜的时候建议摆烂
		# instance = { scale = { 1.0 1.0 } position = { 0.5 0.5 } }		
	# }	

}

应用旗帜图案

Documents/Paradox Interactive/Victoria 3/mods/mod名称/common/flag_definitions中新建一文件

TZA = { # Tanzania,必须为tag
	flag_definition = {
		coa = Tanzania # 上面定义的图案
		priority = 1 优先级,特殊旗帜建议调整至3000左右
		subject_canton = Tanzania    #如需让附属国的左上角出现相应的旗帜,填入旗帜名称(如示例的Tanzania)即可
		trigger = { 
			coa_def_absolute_monarchy_flag_trigger = yes
		}    #此为旗帜触发的条件,在common/scripted_triggers里的00_coa_triggers.txt文件有所有的旗帜触发条件,也可自己制作新的trigger,可不填
	}
}

本地化

在localization中有很多文件夹,如果你需要做中文本地化,选择simp_chinese,如果是英文就选择english

创建一个以l_simp_chinese.yml或者l_english.yml结尾的utf-8 with bom格式编码的文件,比如supplement_simp_chinese.yml

国家名称本地化很简单,就像这样

TAG:0 "自定义国家名称"

TAG_ADJ:0 "自定义国家形容词"

以本文例子为例

TZA:0 "坦桑尼亚"

TZA_ADJ:0 "坦桑尼亚"

动态名称和颜色

很多国家都有动态名称或者颜色。内志在拥有汉志时就会有沙特阿拉伯的动态名称,德国在拥有委员会法律时也会变成绿色,使用动态名称和颜色会让你的模组看起来更棒。

动态名称

可以在 Documents/Paradox Interactive/Victoria 3/mods/mod名称/common/dynamic_country_names/里面定义 , 只需要在文件中创建 utf-8 with bom编码的文本文件。

还是用坦桑尼亚做例子

TZA = {
	dynamic_country_name = {
		name = dyn_TZA_Tanzania_empire # 可以留空,这样就能保留原版
		adjective = dyn_TZA_Tanzania_empire_adj # 可以留空,这样就能保留原版

		is_main_tag_only = yes # 默认为no,如果是yes那就只有最开始的tag可以有这个称呼
		priority = 0 # 优先级,越大越容易应用
		
		trigger = { # Scripted trigger, country-scope
			coa_def_monarchy_flag_trigger = yes
			scope:actor = {
				owns_entire_state_region = STATE_ZANZIBAR
			}
		}
	}	
}

然后就可以在localization里面编辑动态名称

dyn_TZA_Tanzania_empire:0 "Tanzania empire"
dyn_TZA_Tanzania_empire_adj:0 "Tanzanian"

动态颜色

可以在 Documents/Paradox Interactive/Victoria 3/mods/mod名称/common/named_colors/定义动态颜色, 然后在 Documents/Paradox Interactive/Victoria 3/mods/mod名称/common/dynamic_country_map_colors里面使用动态颜色.

Documents/Paradox Interactive/Victoria 3/mods/mod名称/common/named_colors/

colors = {	
	Tanzania_empire_red = rgb { 1.0 0.15 0.15 }
}

Documents/Paradox Interactive/Victoria 3/mods/mod名称/common/dynamic_country_map_colors中:

Tanzania_empire_red = {
	color = "Tanzania_empire_red"

	possible = {
		OR = {
			AND = {
				exists = c:TZA
				THIS = c:TZA
			}
			AND = {
				exists = c:HHE # 动态颜色可以是别的国家不一定是这个
				THIS = c:HHE
			}
		}
		owns_entire_state_region = STATE_LINDI
		owns_entire_state_region = STATE_ZANZIBAR
	}
}