DH/イベントコマンドリスト のバックアップソース(No.7)

/////1.05追加分が未記載、記入者大募集

 
----

''関連項目''

-[[トリガーリスト>MOD/イベントトリガーリスト]]
-[[コマンドリスト>MOD/イベントコマンドリスト]]
-[[AOD/イベントトリガーリスト]]
-[[AOD/イベントコマンドリスト]]
-[[DH/イベントトリガーリスト]]
-[[DH/イベントコマンドリスト]] 本ページ

----

 
#contents
 




**基本構文 [#ica075ad]

DA/AODまでは「action_a」〜「action_d」まで、最大4つしか選択肢を指定できなかったが、この制限が撤廃され、単に「action」を重ねていくだけで、無限に選択肢を設けられる。
従来の「action_a」〜「action_d」の表記も引き続き使用可能だが、こちらは最大4つまでの制限を受ける。
また、同一イベント中に「action」と「action_a」の混在するのは不可。

 
「action」の後に「trigger = 」と書くと、条件指定できるようになった。
これにより、条件ごとにイベントを増やしていかずとも、単一のイベントで処理できるようになった。

例:fullのラインラント進駐

 action = {
  name = "2003005a"
  command = { type = relation which = FRA value = -15 }
  command = { type = relation which = ENG value = -5 }
  ......
  command = { 
    trigger = { alliance = { country = FRA country = BEL } }
    type = trigger which = 2015008 } #ベルギーがフランスと同盟していれば、同盟から抜けるイベントに飛ぶ。
  command = { 
    trigger = { ai = yes } 
    type = ai which = "switch/GER_Rhine.ai" } #ドイツがAIなら、AIを切り替える。
 }

 
また、上の例は、コマンド内部にトリガーを用意し、それに応じた効果を現したものだが、
下のように、action内にトリガーを設定すれば、「トリガーの条件を満たす」ことでその選択肢が表示されるようになる。

 action = {
  trigger = { local_flag = GER_ECO_PLANNED_ECONOMY } #この条件を満たさないと選択肢が表示されない。
  command = { type = industrial_modifier which = total value = 20 }
  command = { type = sleepevent which = 908049 }
 }



 
 
**1.00で追加 [#bf41756e]

:type = event which = [event_ID] where = TAG when = x|TAGで、x日数以降、[event_ID]のイベントを発生させる。

:type = name where = TAG which = "string"|TAGの国名を、"string"に変更する。"string"は、任意の文字列でも、csv参照でも良い。

例1:csvファイルにあらかじめ定義しておいた国名へ変更
 SPRCIVILWAR;スペイン(共和派);Republican Spain;;;;;;;;;x
「スペイン共和国」の国名を「スペイン(共和派)」に変更
 command = {
  type = name where = SPR which = SPRCIVILWAR
 }

例2:任意の国名へ変更(2バイト文字使用例) ※日本語化前提
「日本」の国名を「大日本帝国」へ変更する
 command = {
  type = name where = JAP which = "大日本帝国"
 }

:type = flag_ext where = TAG which = "string"|TAGの国旗を、"string"に変更する。

:type = wartime_ic_mod value = x|戦時のIC効率を、x%上下する。

:type = land_fort_eff value = x|陸上要塞効率を、x%上下する。value 1=100%。

:type = coast_fort_eff value = x|沿岸要塞効率、x%上下する。value 1=100%。

:type = convoy_def_eff value = x|輸送船団護衛効率、x%上下する。value 1=100%。

:type = ground_def_eff value = x when = [0/1/2]|対地防御効率を、x%上下する。value 1=100%。
when = 0が、指定値への置き換え。
when = 1が、指定値を加減。
when = 2が、1.0にリセット。

:type = wakeminister which = [minister_ID]|[minister_ID]の大臣を登場年以降に利用可能にする。
ministerファイルに登録されている大臣を即時使用可能にするコマンドではない。
シナリオ設定でdormantされている大臣や、sleepされている大臣を、登場させるのに用いる。

:type = add_leader_skill which = [leader_ID/-1] value = x|[leader_ID]の司令官、または-1でランダムの司令官のレベルを、x上下する。

:type = alliance_leader which = TAG where = 0/1/2/3|TAGが同盟の盟主になる。
where = 0で、現在の同盟。
where = 1で、枢軸。
where = 2で、連合。
where = 3で、共産。

:type = alliance_name which = "name" where = 1/2/3|三代同盟の名称を、"name"に変更する。
whichに、名称(csv参照)を指定する。スコア画面に表示される同盟旗は、gfx\interface\name_ledg.bmp、gfx\interface\frontend\endgame_name.bmpに入れる。
where = 1で、枢軸。
where = 2で、連合。
where = 3で、共産。

:type = military_control which = TAG1 where = TAG2 value = 1/0|TAG1がTAG2の統帥権を獲得=''1''/返還=''0''する。

:type = stockpile which = industry/supplies/all when = war/peace/all ) value = x|資源備蓄の用途(?)を指定する。

:type = auto_trade which = energy/metal/rare_materials/oil/supplies/money when = import/export/stockpile value = 1/0|指定された資源の貿易設定を、AIに委任=1/解除=0する。

:type = auto_trade_reset|AIへの貿易委任を解除する。

:type = trade which = TAG1 where = TAG2 energy/metal/rare_materials/oil/supplies/money = x when = y value = 1/0|TAG1がTAG2と、指定された資源量xの、y日間の貿易協定を締結する。
value = 1で、手動破棄可。
value = 0で、手動破棄不可。

:type = embargo which = TAG1 where = TAG2 value = -2/-1/0/1/2/3]TAG1がTAG2に禁輸/禁輸解除する。
value = -2で、青写真の禁輸を解除。
value = -1で、貿易の禁輸を解除。
value =  0で、すべての禁輸を解除。
value =  1で、貿易を禁輸。
value =  2で、青写真を禁輸。
value =  3で、すべてを禁輸。

:type = secedearea which = TAG/-1/-2 value = "AREA_NAME" when = 0/1/2|TAG/''-1''で占領国/''-2''で所有国に、"AREA_NAME"のエリアのプロヴィンスを割譲する。
when = 0で、どこにも占領されていないか、TAGが占領しているとき、TAG/-1/-2に割譲する。
when = 1で、占領されているプロヴィンスのみ占領国に割譲し、TAG/-1/-2に、残ったプロヴィンスを割譲する。
when = 2で、TAG/-1/-2に、地域を割譲する。

:type = secederegion which = TAG/-1/-2 value = "REGION_NAME" when = 0/1/2|TAG/''-1''で占領国/''-2''で所有国に、"REGION_NAME"のリージョンのプロヴィンスを割譲する。
TAGは-1が占領国-2が所有国
when = 0で、どこにも占領されていないか、TAGが占領しているとき、TAG/-1/-2に割譲する。
when = 1で、占領されているプロヴィンスのみ占領国に割譲し、TAG/-1/-2に、残ったプロヴィンスを割譲する。
when = 2で、TAG/-1/-2に、地域を割譲する。

:type = addclaim which = [prov_ID]|[prov_ID]に領有権を主張する。

:type = removeclaim which = [prov_ID]|[prov_ID]の領有権主張を撤回する。

:type = strength which = [all/land/naval/air/division_type] when = 0/1 where = 0/1 org = x value = y|whichで指定したユニットの戦力を、 when=''0''ならyの値にし、when=''1''ならy上下する。指揮統制を、xとする。
where = 0で、戦力の増減分をMPプールに反映する。
where = 1で、MPプールを無視する。

:type = demobilize which = [land/naval/air/division_type] when = 1/0 where = 1/0 value = x|whichで指定したユニットを削除する。
value = 正で、残すユニット数を指定する。
value = 負で、削除するユニット数を指定する。
when = 0で、旧型のユニットから削除する。
when = 1で、新型のユニットから削除する。
where = 0で、戦力の増減分をMPプールに反映する。
where = 1で、MPプールを無視する。


 
 
**1.00で変更 [#td9452a2]

:type = build_division which = [division_type] value = [brigade_type] when = x cost = y name = "unit_name" where = z|生産画面に指定の師団・旅団を追加する。でき上がった物がもらえるわけではない。
xで連続生産数、yで生産IC、"unit_name”を指定できるようになった。
zの役割は不明。

:type = manpowerpool value = x when = 1/0|MPの備蓄が、x上下する。
when = 0が、従来のもの。
when = 1で、占領下にある全中核州の総MPを、xに乗算した分が上下する。
動員用として使われている。

:type = inherit which = TAG value = 1/0|TAGを併合する。
Value = 1で、併合する国が、元の国のユニット(生産ラインも含む)を引き継ぐように設定できるようになった。

:type = alliance which = TAG where = 1/2/3|TAGと同盟を組む。
whereがあれば、三大同盟に加盟するようになった。
where = 1で、枢軸。
where = 2で、連合。
where = 3で、共産。


 
 
**1.03で追加 [#v88fb5a1]

:type = strength_cap which = [unit_type/land/nava/airl] when = 1/0 where = 1/0 value = x|whichで指定したユニットの戦力の上限値を設定する。
when = 0で、xの値にする。
when = 1で、x上下する。
where = 0で、すべてのユニット(新規生産されるユニットを含む)に適用する。
where = 1で、生産済みのユニットにのみ適用する。

 
 
**1.03で変更 [#sba670de]


下記のコマンドにおいて、TAGの代わりに、イベント発生国(-1)が使えるようになった。

:type = name where = TAG which = "string"|
:type = flag_ext where = TAG which = "string"|
:type = embargo which = TAG where = TAG value = -2/-1/0/1/2/3|
:type = control which = TAG value = [prov_ID]|
:type = addcore which = [prov_ID] where = TAG|
:type = removecore which = [prov_ID] where = TAG|
:type = addclaim which = [prov_ID] where = TAG |
:type = removeclaim which = [prov_ID] where = TAG|
:type = transport_pool which = TAG value = x|
:type = escort_pool which = TAG value = x|

 
下記のコマンドにおいて、TAGの代わりに、イベント発生国(-3)が使えるようになった。

:type = secedeprovince which = TAG/-2/-3] value = [prov_ID] when = 0/1/2]|
:type = secedearea which = TAG/-2/-3 value = "AREA_NAME" when = 0/1/2|
:type = secederegion which = TAG/-2/-3 value = "REGION_NAME" when = 0/1/2|

 
:type = revolt which = [Prov_ID/-1/-2/-3] when = 0/1|[prov_ID]のプロヴィンスでパルチザンを発生させる。プロヴィンスをランダムに選べるようになった。
which = -1は、所有・占領している非中核州からランダム、whenを無効化。
which = -2は、所有・占領している全プロヴィンスからランダム。whenを無効化。
which = -3は、占領している全プロヴィンスからランダム、whenを無効化け。
when = 0は、所有プロヴィンスのみ。
when = 1は、占領プロヴィンスのみ。

 
:type = [unit_value] which = [land/naval/air/division_type/brigade_type] value = x|[division_type/brigade_type]の、[unit_value]を、x上下する。
''unit value''が''build_time''もしくは''build_cost''の場合に、''where = relative''を追加できるようになり、日数・ICを絶対値ではなく、%で増減できるようになった。


 
 
**1.04で追加 [#u1e73fa4]

:type = damage_division which = "name" value = TAG where = x|"name"の師団の戦力を、x減少する。xが負なら、戦力が回復する。

:type = remove_units which = [all/land/air/naval/division_type] [where = TAG/-1/-2] [when = 0/1/2/3] value = [prov_ID/Area Name/Region Name/Continent Name] |TAGの指定する大陸/地方(リージョン)/地域(エリア)/プロヴィンスの指定ユニット(which指定)をすべて解散するwhere以下TAGは対象国のタグ指定-1はイベント発生国-2は存在するすべての国家が対象when以下0がプロヴィンス(when省略時のデフォルト)1が地域(エリア)2が地方(リージョン)3が大陸value以下when = 0のとき、prov_IDwhen = 1のとき、地域(エリア)名称when = 2のとき、地方(リージョン)名称when = 3のとき、大陸名称注:whenとvalueはセットで使用する(セットでない場合無効となる)when省略時はprov_ID以外無効command 

例1:地方(リージョン)「ドイツ(Germany)」に存在する対象国「ドイツ(GER)」のすべての「陸軍ユニット(land)」を解散する
 command = { 
  type = remove_units which = land where = GER when = 2 value = Germany
  }
例2:プロヴィンス「ベルリン(163)」に存在する「全国家(-2)」のすべての「陸海空ユニット(all)」を解散する(when省略可)
 command = { 
  type = remove_units which = all where = -2 when = 0 value = 163 #when = 0省略可
  }
例3:地域(エリア)「ブランデンブルク(Brandenburg)」に存在する「イベント発生国(-1)」のすべての「歩兵(infantry)」を解散する
 command = { 
  type = remove_units which = infantry where = -1 when = 1 value = Brandenburg
  }
remove_unitsのコマンド機能的に、''strength''や''demobilize''とは異なり、解散したユニットのMPプールへの還元は無い。


 
 
**1.04で変更 [#h53adbf3]

:type = setflag which = [キー名] when = 0(標準)/1 value = x (初期値1、0も1として解釈される)|グローバルフラグの値を
(when = 0)[キー名]=xとする。
(when = 1)[キー名]=[キー名]+xとする。

:type = local_setflag which = [キー名] when = 0(標準)/1 value = x (初期値1、0も1として解釈される)|ローカルフラグの値を
(when = 0)[キー名]=xとする。
(when = 1)[キー名]=[キー名]+xとする。
旧バージョンからの変更点:flag/local_flagが拡張され、-32767〜0〜+32767までの範囲の任意の整数を持つことができるようになった。
一例として、これを使えばある国でのイベントの発生回数を数えたりすることができるだろう。

:type =	inherit which = TAG when = 0(default)/1/2/3 value = 1/0(default)|対象国(tag)を併合する。-1でランダムValue以下1が併合する国が元の国のユニットを引き継ぐ(生産中も含む)0が引き継がない
when以下0がデフォルト(従来通り、AI国家のみコマンドが適用される)1がマルチプレイの場合、HOSTにはコマンドが適用されない。SPG(シングルプレイヤーゲーム)の場合、AI国家のみコマンドが適用される、SPGはwhen=0と同じ効果2がMPGの場合、HOSTにはコマンドが適用されない(ゲーム停止防止のため)、MPGのみ対象の機能3がMPG/SPGともいずれのプレイヤー国家にもコマンドが適用される旧バージョンからの変更点:MPG(マルチプレイヤーゲーム)関連の機能を新設

:type = end_access which = TAG [when = 0(default) /1]|軍事通行権を破棄when以下0はイベント発生国が対象国(tag)に与えていた軍事通行権を破棄(デフォルト、従来形式)1は対象国(tag)がイベント発生国に与えていた軍事通行権を破棄
旧バージョンからの変更点:対象国からイベント発生国への通行権剥奪機能を新設

:type = province_revoltrisk which = [Province_ID] value = x|[prov_ID]のプロヴィンスのパルチザン発生率をx上昇させる
[prov_ID]が-1の場合、所有/占領プロヴィンスからランダム選択旧バージョンからの変更点:-1の「プロヴィンスをランダム選択→所有/占領プロヴィンスからランダム選択」


:type = add_prov_resource which = [prov_ID/-1/-4] value = x where = [energy/metal/oil/rare_materials]|指定プロヴィンス([prov_ID])に資源を追加する-1は所有プロヴィンスからランダム選択-2は首都プロヴィンス-4は原子炉が存在するプロヴィンス旧バージョンからの変更点:-1の「プロヴィンスをランダム選択→所有プロヴィンスからランダム選択」

:type = sleepteam which = [tech_team_ID] [when = 0(default)/ 1 ]|対象研究機関(tech_team_ID)を使用不能にするwhen以下0はデフォルト、従来形式(start yearを2001年に設定する)1はstart/end yearsを変えずにdormant設定(コマンドwaketeamで再登場させることも可能)にする
旧バージョンからの変更点:dormant設定機能を新設

:type = sleepleader which = [leader_ID/-1]|[leader_ID]の司令官を使用不能(dormant設定)にする。-1でランダムdormant設定のため、コマンドwakeleaderで再登場させることも可能。コマンド機能的にはDAの粛正機能から左遷機能に変わったというイメージ。旧バージョンからの変更点:司令官の永久使用停止から''dormant設定''に変更された旧バージョンでは司令官の永久使用停止機能が機能していない(wakeleaderで復活する)ため実質的には何ら変わらない

:type = build_division which = [division_type] value = [brigade_type] when = xxx cost = x.xx name = "unit_name" where = [days for 1st]|生産画面に追加する。でき上がった物がもらえるわけではない。MPが必要。when =は連続生産数を整数で指定(最大99)。cost =はAI用として初期コスト(IC)を正の値で指定する。name = "unit_name"は最大で''半角255文字まで使用可能''、半角256文字を超えるとバグるなお、DA/AOD/旧VerのDHまでは半角31文字までの制限がある旧バージョンからの変更点:半角31文字までの制限を半角255文字まで拡張


:type = add_division which = [name] value = [division_type] when = model where = [brigade_type / negative number]|師団が配備されるいわゆる魔法の壺からでき上がった物がもらえるwhich以下ユニットネームは最大で''半角255文字まで使用可能''where以下旅団の設定(brigade_type)がある場合、コマンド実行時点で研究完了している旅団の最新型が付属されるなお、付属旅団は1種類のみ、このコマンドでDHの機能である複数旅団を付属させることはできない負の数値を入力した場合、その数値分が戦力値(戦力)から減少させた師団が配備されるコマンドadd_corpsとセットでの使用を推奨(使用しない場合、未配置プールに配備)なお、本コマンドの機能的に「未研究で解禁されていないユニット/研究完了していないユニット世代」であっても、無視されて配備されるたとえば「空母未解禁状態/超大型空母世代指定」でも無視されて配備可能また、DA1.2(2.2.2)の有名なバグであるイベント追加海軍ユニットのユニットアイコンに付属旅団が表示されないバグは解消している。


旧バージョンからの変更点:師団配備コマンドに戦力値(戦力)減少設定する機能を新設なお減少戦力値はキャップされてないので、補充用IC割り当てとMPがあれば上限値まで補充可能。

例1:「第1歩兵師団」という名称の36年型歩兵師団(付属旅団砲兵)を配備する
 command = { 
  type = add_division which = "第1歩兵師団" value = infantry when = 9 where = artillery
  }
例2:「第1歩兵師団」という名称の36年型歩兵師団を戦力値(戦力)20%に設定して配備する
 command = { 
  type = add_division which = "第1歩兵師団" value = infantry when = 9 where = -80
  }