命令百科

effect · modify_project_flag

Definition

  • Supported scope:SPECIAL_PROJECT
  • Supported target:none

Description

modify project flag. Only modifies if flag already exists.
Example: modify_facility_flag = { flag = <name> value = <number> }

实战 · 配合 · 坑

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

实战用法

modify_project_flag 适用于需要对特殊项目上已有的数值型 flag 做累加或递减的场景,例如追踪某项目的研究阶段计数器或资源消耗累计值。注意它只会在 flag 已经存在时才生效,因此通常与初始化逻辑配合使用。典型场景是在项目每次推进时将进度标记加一:

# 在特殊项目的某个阶段触发块中
SPECIAL_PROJECT = {
    modify_project_flag = {
        flag = research_stage_counter
        value = 1
    }
}

配合关系

  • [set_project_flag](/wiki/effect/set_project_flag) — 用于在首次进入项目时初始化 flag 的初始值,确保后续 modify_project_flag 有旗标可操作。
  • [clr_project_flag](/wiki/effect/clr_project_flag) — 当累计值达到上限或阶段重置时,配合清除旗标以便重新开始计数周期。
  • [has_project_flag](/wiki/trigger/has_project_flag) — 在执行修改前用作条件检查,确认旗标存在并符合预期状态,避免逻辑错误。
  • [add_project_progress_ratio](/wiki/effect/add_project_progress_ratio) — 常在同一执行块中配合使用,在修改 flag 计数的同时推动项目实际进度,保持数据与进度同步。

常见坑

  1. 忘记预先初始化 flagmodify_project_flag 在 flag 不存在时静默失败,不会报错也不会创建新 flag,新手常因此误以为脚本正常运行,实际上计数器从未更新——务必先用 set_project_flag 赋予初始值。
  2. 在错误 scope 下调用:该 effect 仅在 SPECIAL_PROJECT scope 内有效,若在 country 或 state 等其他 scope 中调用不会产生任何效果,调试时难以察觉,需确认外层 scope 已正确切换至对应特殊项目。