MOD/MOD製作

イベント

イベントファイルの書き方・読み方

イベントファイルはeventsファイルの中にあります。
ヴィクトリア即位によるハノーバー独立イベントを例に見てみます。

country_event = {
	id = 36898						#イベントIDを定義します
	news = yes						#新聞に掲載します
	news_desc_long = "EVTDESC36898_NEWS_LONG"
	news_desc_medium = "EVTDESC36898_NEWS_MEDIUM"
	news_desc_short = "EVTDESC36898_NEWS_SHORT"
	title = "EVTNAME36898"					#イベント名を与えます
	desc = "EVTDESC36898"					#イベントの説明を与えます
	picture = "queenvictoria"				#サムネイルを与えます
	
	trigger = {						#条件を定義します
		tag = ENG						#イギリスである
		year = 1838						#1838年以降である
		OR = {							#以下のいずれかである
			government = absolute_monarchy				#絶対君主制か
			government = prussian_constitutionalism			#プロイセン型立憲君主制か
			government = hms_government				#HM型立憲君主制
		}
		is_sphere_leader_of = HAN				#ハノーバーを勢力圏に収めている
	}
	
	major = yes						#メジャーイベントに含めます(他国からわかるようになる)
	fire_only_once = yes					#1回しか起こしません
	
	mean_time_to_happen = {					#MTTH(発生までの平均的な期間)を定義します
		months = 6						#6ヶ月で発生する=毎月1/6の確率で判定されます
	}
	
	option = {						#結果の選択肢1つめを定義します
		name = "EVTOPTA36898"					#選択肢の名前を与えます
		release_vassal = HAN					#ハノーバーの属国を解除します
		diplomatic_influence = {				
			who = HAN					#ハノーバーへの外交影響力を-200します
			value = -200					
		}
		prestige = 5						#威信+5します
	}
}

イベントを作ってみる

ドイツでヘリゴラント島を返還してもらうイベントを作ってみましょう。
・ヘリゴラント島にドイツのコアがついていて(ディシジョンでつきます)
・イギリスが領有管理しているときに
・ドイツに割譲され
・イギリスのコアを剥奪
できればよいですね。イギリスプレイのときに勝手に取られるとうざいので、
・AIでないこと
も入れておきましょう。

イベントIDはevents\EventIDs.txtを見ればわかりますが、50000番台と80000番台(80001除く)が空いているので特に理由がなければそこを使っておくと整理しやすいと思います。
タイトルと説明はそれらしく書いておき(フレーバーですから好みです)、サムネイルは既存のものを使いまわすと余計な手間がかかりません。

1回だけ発動になるようにします。ゲーム的には1850年代に統一できるはずで、史実で1890年に割譲されたので間を取って平均20年=240か月で発生するようにします(適当です)。

これを書き下すと以下のようになります。

country_event = {
	id = 80011
	title = "Heligoland-Zanzibar Treaty"
	desc = "The foreign minister has successfully negotiated the return of Heligoland in exchange for concessions to Britain."
	picture = "Smithsonian"
	fire_only_once = yes
	allow_multiple_instances = no
#	major = yes
	
	trigger = {
		AND = {
			ai = no
			is_core = 533
			war = no
			NOT = { owns = 533 }
			ENG = { owns = 533 }
			ENG = { controls = 533 }
			}                
	}
       
	mean_time_to_happen = {
		months = 240
	}
	
	option = {
		name = "Wonderful!"
		533 = {
			secede_province = GER
			remove_core = ENG
		}
	}
}

これを「Heligoland.txt」とか名前をつけて保存し、eventsファイルに入れます。
新しくゲームを開始し、コンソールをいじくって動作確認してみましょう。1861年シナリオで入り、適当な小国に反乱を湧かせて国民議会イベントを出してドイツを作り、eventIDを呼び出して機能しているかを見るとよいでしょう。
majorのコメントアウトを解除し、MTTH=1か月くらいにしてイギリスプレイで始めて分捕られないか確認するとよいでしょう。
(ネタ元→Steam

ディシジョン

ディシジョンの書き方・読み方

イベントファイルはdecisionsファイルの中にあります。
ドイツ統一ディシジョンを例に見てみます。

political_decisions = {
	form_germany = {					#ディシジョンの名前を定義します
		news = yes						#新聞に掲載します
		news_desc_long = "form_germany_NEWS_LONG"	
		news_desc_medium = "form_germany_NEWS_MEDIUM"	
		news_desc_short = "form_germany_NEWS_SHORT"	
		
		potential = {					#条件を定義します
			is_culture_group = germanic			#主要文化がドイツ文化グループ(北ドイツ、南ドイツ、アシュケナージ文化)である
			NOT = {						#以下を全て満たす
				exists = GER					#ドイツが存在しておらず
				tag = ISR					#イスラエルでない(アシュケナージ文化は除外されます)
			}					
		}						
		
		allow = {					#目標を定義します
			is_greater_power = yes				#自国が列強である
			prestige = 45					#威信が45以上ある
			war = no					#平時である
			GER = {						
				all_core = {				#ドイツの全てのコアプロビを
					OR = {					#以下のどちらかを満たす
						owned_by = THIS				#自国で領有している
						owner = {				
							in_sphere = THIS		#勢力圏の国が領有している
						}
					}
				}
			}
		}
		
		effect = {					#結果を定義します
			prestige = 20					#威信+20を得ます
			change_tag = GER				#ドイツに変態します
			add_accepted_culture = north_german		#北ドイツ・南ドイツを受容します
			add_accepted_culture = south_german		
			any_country = {					
				limit = {				
					is_culture_group = germanic	#ドイツ文化で自国の勢力圏の国について
					in_sphere = THIS		
				}					
				country_event = { id=11101 days=0 }	#event:11101(合流イベント)が発生します
			}
		}
		ai_will_do = {					#AIに使用を許可するかを定義します
			factor = 1					#許可します
		}
	}
}

ディシジョンを作ってみる

中国が列強に入ったらチベットを併合するディシジョンを作ってみましょう。

・文明化したら出現するようにし
・列強に入り平時のときに
・少しBBRを払って併合し、チベットのコアプロビに中国のコアをつける
・AIも実行する
ようにしてみましょう。

political_decisions = {
	XZ_annex_tibet = {
		potential = {
			tag = CHI				
			civilized = yes				
			exists = TIB				
		}
		allow = {
			is_greater_power = yes			
			war = no				
			TIB = { vassal_of = THIS }		
		}
		effect = {
			badboy = 4				
			prestige = 10				
			inherit = TIB				
			any_owned = {				
				limit = {			
					is_core = TIB		
					NOT = { is_core = CHI }	
				}
				add_core = CHI			
			}
			set_country_flag = XZ_annexed_tibet	
		}
		ai_will_do = {					
			factor = 1
		}
	}							
}						#忘れないようにしましょう

これをtxtで保存し、decisionsファイルに入れます。

Localisationファイル

タイトルと説明を与えます。英;仏;独;ポーランド;西;伊;スウェーデン;チェコ;ハンガリー;蘭;葡;露;フィンランド;の順になっていますが、だいたいの人は英語版(かそれをベースにした日本語化)を使っていると思いますので、英語のところだけ入れておけば困らないでしょう。

XZ_annex_tibet_title;Annex Tibet;;;;;;;;;;;;;
XZ_annex_tibet_desc;Tibet has been part of the Empire in all but name since 1720, now it will be officially annexed.;;;;;;;;;;;;;

と書いてCSVで保存し、Localisationファイルに入れます。

新しくゲームを開き、コンソールで改革を一気に通して確認してみましょう。
(ネタ元→英wiki

構文一覧

英wiki/条件
英wiki/効果


トップ   新規 一覧 検索 最終更新   ヘルプ   最終更新のRSS