命令百科

effect · create_dynamic_country

Definition

  • Supported scope:any
  • Supported target:any

Description

creates a dynamic country and runs child effects on it. example :
create_dynamic_country = { 
  original_tag = ITA #original tag of new country
  copy_tag = ITA # if set, it will copy stuff from copy tag instead of original_tag
 #...effects to run on new country}

实战 · 配合 · 坑

实战内容由 AI 生成,并已对照 vanilla 命令词表校验 —— 请当作起点而非权威依据。上方的定义节才是游戏自带文档原文。

实战用法

create_dynamic_country 常用于 mod 中在游戏进行中动态生成一个全新的傀儡国、分裂国或特殊剧情国家,而无需在历史文件中预先定义该标签。例如在内战事件或分裂剧情中,可以基于原有国家(original_tag)复制基础数据,再立即在子块中执行一系列初始化效果(设定首都、给予省份、设置政府等)。

# 意大利内战:动态创建北意大利分裂政权
create_dynamic_country = {
    original_tag = ITA
    copy_tag = ITA
    set_capital = 516          # 米兰省
    transfer_state = 159
    transfer_state = 160
    set_politics = {
        ruling_party = communism
        elections_allowed = no
    }
    save_event_target_as = north_italy_breakaway
}

配合关系

  • [save_event_target_as](/wiki/effect/save_event_target_as) — 在子块内立即将新生成的动态国家保存为事件目标,方便后续其他事件或效果通过目标引用它,否则动态国家创建后将难以再次精确定位。
  • [hidden_effect](/wiki/effect/hidden_effect) — 将 create_dynamic_country 包裹在隐藏效果块中,避免玩家界面出现不必要的提示信息,适合在幕后静默初始化国家。
  • [every_country](/wiki/effect/every_country) — 创建完成后,用 every_country 遍历所有国家,对新动态国家的外交关系(如宣战理由、阵营关系)进行批量初始化。
  • [country_exists](/wiki/trigger/country_exists) — 在执行创建前或创建后的条件判断中,用于检查原始标签是否存在,防止脚本在目标国家已灭亡时报错或产生异常行为。

常见坑

  1. 子块效果的 scope 理解错误:新手容易忘记 create_dynamic_country 的花括号子块内,scope 已经自动切换到新创建的动态国家,不需要也不应该在子块内再写 = { } 来切换 scope,直接写效果即可;若误以为仍在原始 scope 下执行,会导致效果错误地作用于触发国而非新国家。
  2. original_tagcopy_tag 混用导致数据污染original_tag 决定新国家的基础模板(国旗、科技树等历史数据来源),而 copy_tag 会额外复制当前游戏内该国的运行时状态(科技、将领等);不清楚二者区别而同时乱填,容易使新国家意外继承不该有的军事或经济状态,导致平衡性问题。