Wiki

effect · clr_character_flag

Definition

  • Supported scope:CHARACTER
  • Supported target:none

Description

clear character flag

实战 · 配合 · 坑

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

实战用法

clr_character_flag 用于清除之前通过 set_character_flag 打在角色身上的临时标记,常见于事件链的状态重置,例如某个任务完成后清除"正在执行任务"的标志位,或在角色死亡/退休触发时清理残留 flag 以避免后续逻辑误判。

character_event = {
    id = my_mod.10
    ...
    option = {
        name = my_mod.10.a
        # 任务结束,清除进行中标记
        clr_character_flag = on_special_mission
    }
}

配合关系

  • [has_character_flag](/wiki/trigger/has_character_flag):在清除之前通常先用此触发器检查 flag 是否存在,避免在 flag 未设置时执行无意义的清除操作。
  • [set_character_flag](/wiki/effect/set_character_flag):两者构成"设置/清除"的完整生命周期,配合使用可控制角色的状态机流转。
  • [modify_character_flag](/wiki/effect/modify_character_flag):当需要的不是完全清除而是修改 flag 的值时,可与 clr_character_flag 组合,在不同分支选择清除还是修改。

常见坑

  1. Scope 错误clr_character_flag 必须在 CHARACTER scope 下执行。若在 COUNTRY scope 中误用,游戏不会报错但 flag 不会被清除,应通过 = { clr_character_flag = ... } 先切换到目标角色 scope。
  2. flag 名拼写不一致:flag 名称是纯字符串匹配,set_character_flag = my_flagclr_character_flag = My_Flag 不是同一个 flag,大小写或下划线差异会导致清除失败且不会有任何报错提示。

Hands-On Notes

Hands-on notes are AI-generated and checked against the vanilla command vocabulary — treat them as a starting point, not authoritative reference. The definition above is the game's own documentation.

Hands-On Usage

clr_character_flag is used to clear temporary flags previously set on a character via set_character_flag. It is commonly employed in event chains for state resets, such as clearing an "ongoing task" flag after a mission completes, or cleaning up residual flags when a character dies or retires to prevent subsequent logic errors.

character_event = {
    id = my_mod.10
    ...
    option = {
        name = my_mod.10.a
        # Task completed, clear in-progress flag
        clr_character_flag = on_special_mission
    }
}

Synergy

  • [has_character_flag](/wiki/trigger/has_character_flag): Before clearing, typically use this trigger to check whether the flag exists first, avoiding meaningless clear operations when the flag is not set.
  • [set_character_flag](/wiki/effect/set_character_flag): Together with clr_character_flag, they form a complete "set/clear" lifecycle. Used in combination, they allow fine-grained control over character state machine transitions.
  • [modify_character_flag](/wiki/effect/modify_character_flag): When you need to modify a flag's value rather than completely clear it, you can combine this with clr_character_flag, selecting either to clear or modify based on different branches.

Common Pitfalls

  1. Scope Error: clr_character_flag must execute within a CHARACTER scope. If misused in a COUNTRY scope, the game will not error but the flag will not be cleared. Use = { clr_character_flag = ... } to first switch to the target character's scope.
  2. Flag Name Typos: Flag names are pure string matches. set_character_flag = my_flag and clr_character_flag = My_Flag are not the same flag. Case sensitivity or underscore differences will cause the clear to fail silently with no error message.