命令百科

trigger · has_mio_flag

Definition

  • Supported scope:INDUSTRIAL_ORG
  • Supported target:any

Description

Check if flag has been set within the military industrial organization in scope.
May checks on the value or date/days since last modified date.
Examples:
has_mio_flag = my_flag
has_mio_flag = {
	flag = my_flag (mandatory)
	value < 12 (optional)
	date > 1936.3.25 (optional, compare with the date where the flag was last modified )
	days > 365 (optional, compare with the number of days since the flag was last modified )
}

实战 · 配合 · 坑

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

实战用法

has_mio_flag 常用于追踪军事工业组织的特定状态,例如判断某个 MIO 是否已完成过某次特殊任务、触发过某个剧情事件或达成过某个自定义里程碑。典型场景是在 MIO 的 trait 解锁条件或 available 块中,检查之前通过脚本打上的标记,从而实现阶段推进式的解锁逻辑。

# 在 MIO trait 的 available 中,判断是否设置过"完成第一阶段研究"的标记
some_mio_trait = {
    available = {
        has_mio_flag = first_phase_complete
    }
}

# 也可以结合值或天数做更精细的判断
available = {
    has_mio_flag = {
        flag = production_boosted
        days < 180
    }
}

配合关系

  • [set_mio_flag](/wiki/effect/set_mio_flag)has_mio_flag 检查的标记正是由 set_mio_flag 写入的,两者构成"写入—读取"的完整逻辑闭环,缺一不可。
  • [clr_mio_flag](/wiki/effect/clr_mio_flag):当某个条件达成后需要重置状态时,用 clr_mio_flag 清除标记,再由 has_mio_flag 在下一阶段重新判断,适合实现循环或多阶段流程。
  • [modify_mio_flag](/wiki/effect/modify_mio_flag)modify_mio_flag 可修改标记的数值,配合 has_mio_flagvalue 比较字段,可实现类似"计数器"的累计判断逻辑。
  • [is_mio_trait_completed](/wiki/trigger/is_mio_trait_completed):通常与 has_mio_flag 并列写在同一 trigger 块中,同时检查 MIO 的 trait 完成情况与自定义标记,共同构成复合解锁条件。

常见坑

  1. Scope 写错位置has_mio_flag 只能在 INDUSTRIAL_ORG scope 下使用,新手常将其直接写在国家或角色 scope 的 trigger 块中导致静默失效或报错,使用前务必确认已通过 any_mio / every_mio 等方式切换到正确 scope。
  2. flag 名拼写不一致set_mio_flaghas_mio_flag 引用的 flag 名称必须完全一致(区分大小写),新手在不同文件中复制粘贴时容易出现大小写或下划线差异,导致条件永远返回假却难以排查。