Top / DH / イベントコマンドリスト

DH/イベントコマンドリスト


関連項目


基本構文

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で追加

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"に変更する。(1文でflag,icon,shield等の全てのファイルを変更する。)

例:「〜_CHI」から「〜_CHI_REP」へ変更
国タグより後の部分を記述する。

command = { type = flag_ext where = CHI which = "_REP" }
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日間の貿易協定を締結する。
xの値はTAG1が受け取る場合に正。
value = 0で、手動破棄可。
value = 1で、手動破棄不可。
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"のリージョン内のプロヴィンスを割譲する。
when = 0で、どこにも占領されていないか、TAGが占領しているとき、TAG/-1/-2に割譲する。
when = 1で、占領されているプロヴィンスのみ占領国に割譲し、TAG/-1/-2に、残ったプロヴィンスを割譲する。
when = 2で、すべてをTAG/-1/-2に割譲する。
type = addclaim which = [Province_ID]
[Province_ID]に領有権を主張する。
type = removeclaim which = [Province_ID]
[Province_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で変更

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

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で変更

下記のコマンドにおいて、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 = [Province_ID]
type = addcore which = [Province_ID] where = TAG
type = removecore which = [Province_ID] where = TAG
type = addclaim which = [Province_ID] where = TAG
type = removeclaim which = [Province_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 = [Province_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 = [Province_ID/-1/-2/-3] when = 0/1
プロヴィンスをランダムに選べるようになった。
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
unit valuebuild_timeもしくはbuild_costの場合に、where = relativeを追加できるようになり、日数・ICを絶対値ではなく、%で増減できるようになった。

1.04で追加

type = damage_division which = "name" value = TAG where = x
"name"の師団の戦力を、x減少する。xが負なら、戦力が回復する。
type = remove_units which = [all/land/naval/air/division_type] where = TAG/-1/-2 when = 0/1/2/3 value = [Province_ID/Area_Name/Region_Name/Continent_Name]
TAGで、指定するプロヴィンス/地域/地方/大陸の、全軍/陸軍/海軍/空軍/特定師団を、削除する。
where = -1で、イベント発生国が対象
where = -2で、存在する全国家が対象。
when = 0で、プロヴィンス指定。 ※省略時のデフォルト
when = 1で、地域指定。
when = 2で、地方指定。
when = 3で、大陸指定。
whenとvalueはセットで利用し、正確なID/名称を記述する。

例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
 }

1.04で変更

type = setflag which = name when = 0/1 value = x
32767〜0〜+32767までの範囲の任意の整数を持つことができるようになった。
一例として、ある国でのイベントの発生回数を数えることができる。
when = 0で、name=xとする。
when = 1で、name=name+xとする。
type = local_setflag which = name when = 0/1 value = x
32767〜0〜+32767までの範囲の任意の整数を持つことができるようになった。
type = inherit which = TAG when = 0/1/2/3 value = 1/0
従来は、プレイヤー国家に対しては機能しなかったが、when以下で機能の有無を設定できるようになった。
when = 0で、従来のまま。
when = 1で、マルチプレイ・シングルプレイの、ホスト以外のプレイヤー国家も併合可能。
when = 2で、マルチプレイの、ホスト以外のプレイヤー国家も併合可能。
when = 3で、どんなプレイヤー国家も併合可能。
type = end_access which = TAG when = 0/1]
when = 0で、従来のまま、イベント発生国がTAGに与えていた軍事通行権を破棄する。
when = 1で、TAGがイベント発生国に与えていた軍事通行権を破棄できるようになった。
type = add_prov_resource which = [Province_ID/-1/-4] value = x where = energy/metal/rare_materials/oil
which = -1の効果が、プロヴィンスをランダム選択から、所有・占領プロヴィンスからランダム選択に変更された。
type = province_revoltrisk which = [Province_ID/-1] value = x
which = -1の効果が、プロヴィンスをランダム選択から、所有・占領プロヴィンスからランダム選択に変更された。
type = sleepteam which = [tech_team_ID] when = 0/1
when = 0で、従来のまま。一旦sleepすると、再登場させることはできない。
when = 1で、start/end yearsを変えずに、dormantすることで、waketeamで再登場させることが可能になった。
type = build_division which = [division_type] value = [brigade_type] when = x cost = y name = "name" where = [days_for_1st]
"name"の半角31文字までの制限が、半角255文字まで拡張された。
type = add_division which = "name" value = [division_type] when = model where = [brigade_type/negative_number]
where以下で、旅団の代わりに、戦力を設定できるようになった。

例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
 }

1.05で追加

type = add_core_area which = AREA_NAME [where = TAG/-1]
AREA_NAME内の全プロヴィンスを中核州に追加、-1でイベント発生国、whereの記述なしでもイベント発生国
type = add_core_region which = REGION_NAME [where = TAG/-1]
上記のREGION版
type = remove_core_area which = AREA_NAME [where = TAG/-1]
上記の削除版
type = remove_core_region which = REGION_NAME [where = TAG/-1]
省略
type = add_claim_area which = AREA_NAME [where = TAG/-1]
上記の領有権主張地版
type = add_claim_region which = REGION_NAME [where = TAG/-1]
省略
type = remove_claim_area which = AREA_NAME [where = TAG/-1]
省略
type = remove_claim_region which = REGION_NAME [where = TAG/-1]
省略
type = dig_in_max value = X [when = 0(default)/1/2]
when = 0で、塹壕の最大値をvalueの値だけ上昇(正の値で最大値が上昇)
when = 1で、塹壕の最大値がvalueの値に設定される
when = 2で、misc.txtの値にリセットされる
misc.txtでの規定値は(Mod等で変更が加えられていなければ)20
type = dig_in_daily value = X [when = 0(default)/1/2]
when = 0で、一日当たりの塹壕の増加量をvalueの数値だけ上昇(正の値で最大値が上昇)
when = 1で、一日当たりの塹壕の増加量がvalueの値に設定される
when = 2で、misc.txtの値にリセットされる
misc.txtでの規定値は(Mod等で変更が加えられていなければ)1
type = add_brigade value = [brigade type] when = model
未配備プールにmodelの[brigade type]旅団を配置する
type = build_brigade value = [brigade type] when = XXX cost = x.xx where = [days for 1st]
生産画面に指定の旅団を追加する。できあがった物がもらえるわけではない。
when = Xが旅団の型式
cost = Xが生産コスト
この値はプレイヤーの場合、及びAIが本来のコストより高いコストを指定されている場合、本来のコストに自動的に修正される。
ここに負の値、例えば-2.0の値のを記述した場合、上記の場合に関係なく必ず2.0のコストで生産される
where = Xが生産日数
Note that it cannot be bigger then default completion time of 1 item!
このコマンドによりMPは増えないので、旅団を生産するためのMPが不足している場合、何も起こらない。
AIに対しては、このコマンドで指定された旅団は生産キューの上部に配置される
type = disable_task which = [task type]
[task type]を無効にする

1.05で変更

type = industrial_modifier which = [total/supplies/oil/metal/energy/rare_materials/money/ic] value = [X]
生産効率を修正するコマンド
既存のtotal(ICと物資)/suppliesに加え、新たにoil/metal/energy/rare_materials/money/icも変更可能になった
type = non_aggression which = [TAG1] where = [TAG2] [when = duration in days]
TAG1とTAG2に不可侵条約を結ばせるコマンド
追加されたwhenでは期限満了までの日数を設定できる
whenを記述しなかった場合、及び0と指定した場合はデフォルトで720日となる

   以下のコマンドでwhenの部分が追加された
   when = 0で、現在の値からvalueの数値だけ上昇
   when = 1で、valueの値に設定される
   when = 2で、misc.txtの値にリセットされる

type = peacetime_ic_mod value = X(%) [when = 0(default)/1/2]
type = wartime_ic_mod value = X(%) [when = 0(default)/1/2]
type = tc_mod value = X(%) [when = 0(default)/1/2]
type = tc_occupied_mod value = X(%) [when = 0(default)/1/2]
type = attrition_mod value = X(%) [when = 0(default)/1/2]
type = trickleback_mod value = X(%) [when = 0(default)/1/2]
type = max_amphib_mod value = X(%) [when = 0(default)/1/2]
type = supply_dist_mod value = X(%) [when = 0(default)/1/2]
type = repair_mod value = X(%) [when = 0(default)/1/2]
type = radar_eff value = X(%) [when = 0(default)/1/2]
type = research_mod value = X(%)[when = 0(default)/1/2]

*1 Modding documentationフォルダにあるevent commands.txtによれば生産日数と思われる

Top / DH / イベントコマンドリスト