命令百科

effect · clr_global_flag

Definition

  • Supported scope:any
  • Supported target:none

Description

clear global flag

实战 · 配合 · 坑

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

实战用法

clr_global_flag 常用于 mod 中清除跨国家、跨事件链的全局状态标记,例如在一场战争结束、某个剧情阶段完成或玩家做出关键选择后,将之前设置的全局 flag 重置,以允许该事件链重新触发或解锁其他分支。典型场景包括:清除"世界大战已爆发"标记以允许二次触发检测,或在周期性事件结束时清理临时全局状态。

# 在某个事件选项中,结束一个全局剧情阶段
option = {
    name = my_event.1.a
    # 执行结束逻辑后,清除全局标记
    clr_global_flag = global_crisis_phase_one_active
}

配合关系

  • [set_global_flag](/wiki/effect/set_global_flag):通常成对使用,set_global_flag 负责设置标记,clr_global_flag 在条件满足后将其清除,构成完整的"开关"控制流。
  • [has_global_flag](/wiki/trigger/has_global_flag):在清除 flag 之前,往往需要先用此 trigger 检查该 flag 是否存在,避免逻辑混乱或重复清除。
  • [modify_global_flag](/wiki/effect/modify_global_flag):当需要修改 flag 的值而非彻底清除时可作为替代;了解二者区别有助于选择正确指令。
  • [if](/wiki/effect/if):配合条件块使用,只在特定条件成立时才清除 flag,防止无条件清除破坏其他事件链的状态依赖。

常见坑

  1. 拼写不一致导致清除失效clr_global_flag 使用的 flag 名称必须与 set_global_flag 完全一致(包括大小写),哪怕只有一个字母不同也会导致清除的是一个不存在的 flag,而原 flag 仍然保留,引发事件链逻辑错误且极难排查。
  2. 误用 scope 导致意外:虽然该 effect 支持任意 scope,但新手容易在国家 scope 内误以为它清除的是"国家 flag"(应使用 clr_country_flag),实际上 clr_global_flag 始终操作全局标记,不受当前 scope 的国家身份影响,混淆两者会导致清除目标错误。