effect · set_state_flag
Definition
- Supported scope:
STATE - Supported target:
none
Description
set state flag
set_state_flagSTATEnoneset state flag
实战内容由 AI 生成,并已对照 vanilla 命令词表校验 —— 请当作起点而非权威依据。上方的定义节才是游戏自带文档原文。
set_state_flag 常用于在事件链或决策中为特定地区打上"已处理"标记,防止同一效果被重复触发,或用来追踪某省份的特殊剧情状态(如"已被开发""起义已爆发"等)。典型场景是在占领/解放事件中标记该地区已完成初始化流程。
# 在某决策的 complete_effect 中,标记该州已完成工业开发
complete_effect = {
FROM = { # FROM 为目标 STATE scope
set_state_flag = industrial_developed
add_building_construction = {
type = industrial_complex
level = 1
instant_build = yes
}
}
}
[has_state_flag](/wiki/trigger/has_state_flag):最直接的搭档,用于在 trigger 块中检测该 flag 是否已被设置,从而实现"只执行一次"逻辑。[clr_state_flag](/wiki/effect/clr_state_flag):清除已设置的 flag,两者配合可构成"开关"状态机,动态切换地区的特殊标记。[modify_state_flag](/wiki/effect/modify_state_flag):在需要对 flag 附加数值(计数器)时与 set_state_flag 配合使用,先 set 初始化,再 modify 累加。[state_event](/wiki/effect/state_event):常在 flag 被设置后立即触发地区事件,将标记行为与事件链串联起来。set_state_flag 必须在 STATE scope 下执行,若在 COUNTRY scope 的 effect 块中直接写会报错;需要用 capital_scope 或显式指定某个州的 scope 进入后再调用。set_state_flag = my_Flag 与 has_state_flag = my_flag 因大小写不同会永远判定为 false,建议全程使用小写加下划线的统一命名规范。