MOD/MODGuide03 ディシジョンの作り方
をテンプレートにして作成
[
トップ
] [
新規
|
一覧
|
検索
|
最終更新
|
ヘルプ
]
開始行:
[[MOD]]
#contents
**ディシジョンファイルの構造 [#md805fbb]
ディシジョンの基本的な構造は以下の通りです。
country_decisions = { #各ディシジョンファイルはcountry_d...
decision_text = { # ディシジョンのタイトル
potential = { # ディシジョンがゲーム中のディシジョン...
}
allow = { # ディシジョンを実行する条件
}
effect = { # ディシジョンの効果
}
ai_will_do = { # AIの実行可能性
factor = 1
}
}
}
実際のディシジョンファイルを見ると各項目が複雑に見えます...
以下では、「ウルバン砲の導入」を題材に、実際にディシジョ...
**タイトル [#d25cf66d]
タイトルはintroduce_the_dardanelles_gun(ウルバン砲の英語...
country_decisions = {
introduce_the_dardanelles_gun = {
**ポテンシャル (Potential) [#sf48dd7d]
前述のようにポテンシャルは、「ディシジョンがゲームに登場...
ウルバン砲ディシジョンがゲームに現れる条件として、ここで...
1.対象国はオスマン朝
2.時代は1444年以降だが、大砲ユニットが製造できるように...
3.君主の軍事能力が高い
4.コンスタンティノープルがビザンツ領
5.国庫にある程度の資金がある
1については、国家タグを使います。これは、tag = (三文字の...
オスマン朝のタグはTURですので、以下のようになります。
tag = TUR
2については、年代の設定と技術の設定で対応します。
ディシジョンをある年以降に発生させるようにするにはis_year...
また、技術についてはadm_tech = (技術レベル)のような形です。
is_year = 1444
NOT = { mil_tech = 7 }
ここでNOT構文を使っているのは、技術レベルが7未満であるこ...
NOT構文が括弧で閉じることを忘れないようにしましょう。
3については、君主の能力を、ADM、DIP、MILの各分野と数値の...
MIL = 3
これにより、「君主の軍事能力が3以上の場合」にディシジョン...
4については、「コンスタンティノープルをオスマン朝が支配...
ある州を支配しているかどうかの判定は、owns = (州番号)で行...
今回の例では「支配していないこと」ですので、NOT構文を使う...
NOT = { owns = 151 } # Constantinople
5については、「年間収入の2割が国庫にあること」を条件にし...
この判定はyears_of_income = (小数点第一位以下)で行います...
years_of_income = 0.2
ポテンシャル部分の設定は基本的に以上ですが、このままです...
今回の例ではそれは都合が悪いので、再発しないようにしてや...
ポテンシャルで「フラグが立っていないこと」を条件にし、デ...
その際、フラグ(flag)を使う場合と国家用の変数(country modi...
フラグや変数の可否はhas_flag = (フラグ名)やhas_country_mo...
フラグはゲーム上で確認できないのに対し、国家用の変数はタ...
今回はフラグを使うことにします。
NOT = { has_country_flag = the_dardanelles_gun_introduce...
以上のポテンシャル部分のコードは、このようになります。
potential = {
tag = TUR
is_year = 1444
NOT = { mil_tech = 7 }
MIL = 3
NOT = { owns = 151 } # Constantinople
years_of_income = 0.2
NOT = { has_country_flag = the_dardanelles_gun_introduc...
}
**実行条件(allow) [#v68c2d65]
極端な話、実行条件はポテンシャルと全く同じでも構いません。
しかし、ポテンシャルとは違い、実行に必要な条件はゲーム中...
また、この「可視化される」という特徴を利用して、テストプ...
今回の例では、実行条件の部分はシンプルに、「君主の軍事能...
allow = {
MIL = 5
}
**効果(effect) [#v219ef65]
今回の例では、ディシジョンの効果を以下のものに設定します。
1.ウルバン砲導入のための出費
2.Military Powerの追加
3.オスマン朝の首都にArtilaryを2ユニット追加
4.先に設定したフラグ"the_dardanelles_gun_introduced"を...
1については、add_years_of_income = xによる国庫の増減で対...
add_years_of_income = -0.1
これにより、年間収入の1割の額が減少します。
2については、add_mil_powerで対応します。MILだけでなく、A...
add_mil_power = 100
3については、少々まわりくどい方法ですが「支配する州の中...
この前半部分については、効果の対象をランダムで選ばれた自...
また、追加するユニットは、(ユニット名) = (対象となる州)で...
random_owned_province = {
limit = {
is_capital = yes
}
large_cast_bronze_mortar = THIS
large_cast_bronze_mortar = THIS
}
最後に4のフラグを立ててやれば、ディシジョンの効果部分は...
effect = {
set_country_flag = the_dardanelles_gun_introduced
add_years_of_income = -0.1
add_mil_power = 100
random_owned_province = {
limit = {
is_capital = yes
}
large_cast_bronze_mortar = THIS
large_cast_bronze_mortar = THIS
}
}
ゲーム中では、上記の効果は以下のように表示されます。
#ref(decision004.jpg)
**AIの実行可能性(ai_will_do) [#p437c1d4]
AIが常に実行するようにしてもいいのですが、今回のように資...
ai_will_do = {
factor = 1
modifier = {
factor = 0
NOT = { years_of_income = 0.8 }
}
}
ディシジョン本体のコードは以上です。上記をまとめた完成形...
country_decisions = {
introduce_the_dardanelles_gun = {
potential = {
tag = TUR
is_year = 1444
NOT = { mil_tech = 7 }
MIL = 3
NOT = { owns = 151 } # Constantinople
years_of_income = 0.2
NOT = { has_country_flag = the_dardanelles_gun_introd...
}
allow = {
MIL = 5
}
effect = {
set_country_flag = the_dardanelles_gun_introduced
add_years_of_income = -0.1
add_mil_power = 100
random_owned_province = {
limit = {
is_capital = yes
}
large_cast_bronze_mortar = THIS
large_cast_bronze_mortar = THIS
}
}
ai_will_do = {
factor = 1
modifier = {
factor = 0
NOT = { years_of_income = 0.8 }
}
}
}
}
**ローカライゼーション(localisation) [#j31aeb60]
このコードがMODとして反映されていれば、1444年のオスマ...
なお、MODファイルの作り方については、[[MODファイルの作り...
#ref(decision001.jpg)
ご覧のとおり、新しく追加したディシジョンのみがむき出しの...
これらのテキストの設定は、ローカライゼーション(localisati...
Notepad++上では、以下のようになります。
#ref(decision005.jpg)
全テキストが"l_english:"の中に収納されていることに注意し...
-文字コードについて
EU4のバニラのファイルで使用されている文字コードは、スクリ...
Notepad++(英wikiのmodページで推奨されているエディタ)であ...
ローカリゼーションで使われているymlファイルは原則UTM-8-BO...
拡張子がtxtのものを含め、別のコードが使用されている場合は...
ファイル名(○○_l_english.yml)、ファイルの文字コード、ス...
無事にテキストが読み込まれていれば、以下のようになります。
#ref(decision003.jpg)
**最後に [#f6fe8031]
ディシジョンの構造および作成方法については以上です。
なお、ディシジョンおよびイベントにどのような条件や効果を...
終了行:
[[MOD]]
#contents
**ディシジョンファイルの構造 [#md805fbb]
ディシジョンの基本的な構造は以下の通りです。
country_decisions = { #各ディシジョンファイルはcountry_d...
decision_text = { # ディシジョンのタイトル
potential = { # ディシジョンがゲーム中のディシジョン...
}
allow = { # ディシジョンを実行する条件
}
effect = { # ディシジョンの効果
}
ai_will_do = { # AIの実行可能性
factor = 1
}
}
}
実際のディシジョンファイルを見ると各項目が複雑に見えます...
以下では、「ウルバン砲の導入」を題材に、実際にディシジョ...
**タイトル [#d25cf66d]
タイトルはintroduce_the_dardanelles_gun(ウルバン砲の英語...
country_decisions = {
introduce_the_dardanelles_gun = {
**ポテンシャル (Potential) [#sf48dd7d]
前述のようにポテンシャルは、「ディシジョンがゲームに登場...
ウルバン砲ディシジョンがゲームに現れる条件として、ここで...
1.対象国はオスマン朝
2.時代は1444年以降だが、大砲ユニットが製造できるように...
3.君主の軍事能力が高い
4.コンスタンティノープルがビザンツ領
5.国庫にある程度の資金がある
1については、国家タグを使います。これは、tag = (三文字の...
オスマン朝のタグはTURですので、以下のようになります。
tag = TUR
2については、年代の設定と技術の設定で対応します。
ディシジョンをある年以降に発生させるようにするにはis_year...
また、技術についてはadm_tech = (技術レベル)のような形です。
is_year = 1444
NOT = { mil_tech = 7 }
ここでNOT構文を使っているのは、技術レベルが7未満であるこ...
NOT構文が括弧で閉じることを忘れないようにしましょう。
3については、君主の能力を、ADM、DIP、MILの各分野と数値の...
MIL = 3
これにより、「君主の軍事能力が3以上の場合」にディシジョン...
4については、「コンスタンティノープルをオスマン朝が支配...
ある州を支配しているかどうかの判定は、owns = (州番号)で行...
今回の例では「支配していないこと」ですので、NOT構文を使う...
NOT = { owns = 151 } # Constantinople
5については、「年間収入の2割が国庫にあること」を条件にし...
この判定はyears_of_income = (小数点第一位以下)で行います...
years_of_income = 0.2
ポテンシャル部分の設定は基本的に以上ですが、このままです...
今回の例ではそれは都合が悪いので、再発しないようにしてや...
ポテンシャルで「フラグが立っていないこと」を条件にし、デ...
その際、フラグ(flag)を使う場合と国家用の変数(country modi...
フラグや変数の可否はhas_flag = (フラグ名)やhas_country_mo...
フラグはゲーム上で確認できないのに対し、国家用の変数はタ...
今回はフラグを使うことにします。
NOT = { has_country_flag = the_dardanelles_gun_introduce...
以上のポテンシャル部分のコードは、このようになります。
potential = {
tag = TUR
is_year = 1444
NOT = { mil_tech = 7 }
MIL = 3
NOT = { owns = 151 } # Constantinople
years_of_income = 0.2
NOT = { has_country_flag = the_dardanelles_gun_introduc...
}
**実行条件(allow) [#v68c2d65]
極端な話、実行条件はポテンシャルと全く同じでも構いません。
しかし、ポテンシャルとは違い、実行に必要な条件はゲーム中...
また、この「可視化される」という特徴を利用して、テストプ...
今回の例では、実行条件の部分はシンプルに、「君主の軍事能...
allow = {
MIL = 5
}
**効果(effect) [#v219ef65]
今回の例では、ディシジョンの効果を以下のものに設定します。
1.ウルバン砲導入のための出費
2.Military Powerの追加
3.オスマン朝の首都にArtilaryを2ユニット追加
4.先に設定したフラグ"the_dardanelles_gun_introduced"を...
1については、add_years_of_income = xによる国庫の増減で対...
add_years_of_income = -0.1
これにより、年間収入の1割の額が減少します。
2については、add_mil_powerで対応します。MILだけでなく、A...
add_mil_power = 100
3については、少々まわりくどい方法ですが「支配する州の中...
この前半部分については、効果の対象をランダムで選ばれた自...
また、追加するユニットは、(ユニット名) = (対象となる州)で...
random_owned_province = {
limit = {
is_capital = yes
}
large_cast_bronze_mortar = THIS
large_cast_bronze_mortar = THIS
}
最後に4のフラグを立ててやれば、ディシジョンの効果部分は...
effect = {
set_country_flag = the_dardanelles_gun_introduced
add_years_of_income = -0.1
add_mil_power = 100
random_owned_province = {
limit = {
is_capital = yes
}
large_cast_bronze_mortar = THIS
large_cast_bronze_mortar = THIS
}
}
ゲーム中では、上記の効果は以下のように表示されます。
#ref(decision004.jpg)
**AIの実行可能性(ai_will_do) [#p437c1d4]
AIが常に実行するようにしてもいいのですが、今回のように資...
ai_will_do = {
factor = 1
modifier = {
factor = 0
NOT = { years_of_income = 0.8 }
}
}
ディシジョン本体のコードは以上です。上記をまとめた完成形...
country_decisions = {
introduce_the_dardanelles_gun = {
potential = {
tag = TUR
is_year = 1444
NOT = { mil_tech = 7 }
MIL = 3
NOT = { owns = 151 } # Constantinople
years_of_income = 0.2
NOT = { has_country_flag = the_dardanelles_gun_introd...
}
allow = {
MIL = 5
}
effect = {
set_country_flag = the_dardanelles_gun_introduced
add_years_of_income = -0.1
add_mil_power = 100
random_owned_province = {
limit = {
is_capital = yes
}
large_cast_bronze_mortar = THIS
large_cast_bronze_mortar = THIS
}
}
ai_will_do = {
factor = 1
modifier = {
factor = 0
NOT = { years_of_income = 0.8 }
}
}
}
}
**ローカライゼーション(localisation) [#j31aeb60]
このコードがMODとして反映されていれば、1444年のオスマ...
なお、MODファイルの作り方については、[[MODファイルの作り...
#ref(decision001.jpg)
ご覧のとおり、新しく追加したディシジョンのみがむき出しの...
これらのテキストの設定は、ローカライゼーション(localisati...
Notepad++上では、以下のようになります。
#ref(decision005.jpg)
全テキストが"l_english:"の中に収納されていることに注意し...
-文字コードについて
EU4のバニラのファイルで使用されている文字コードは、スクリ...
Notepad++(英wikiのmodページで推奨されているエディタ)であ...
ローカリゼーションで使われているymlファイルは原則UTM-8-BO...
拡張子がtxtのものを含め、別のコードが使用されている場合は...
ファイル名(○○_l_english.yml)、ファイルの文字コード、ス...
無事にテキストが読み込まれていれば、以下のようになります。
#ref(decision003.jpg)
**最後に [#f6fe8031]
ディシジョンの構造および作成方法については以上です。
なお、ディシジョンおよびイベントにどのような条件や効果を...
ページ名: