自定義國家


在維多利亞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
	}
}