命令百科

effect · add_scientist_xp

Definition

  • Supported scope:CHARACTER
  • Supported target:none

Description

Add experience to a special project specialization for a scientist character in scope.
The `experience` parameter is a scoped variable.

#### Example

ex: my_character = { add_scientist_xp = { experience = 2 # accepts variables specialization = specialization_nuclear } }

实战 · 配合 · 坑

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

实战用法

add_scientist_xp 常用于核武器、火箭或特殊项目 mod 中,当科学家完成某阶段任务或触发特定事件时,给其累积专项经验以加速特殊项目进度。例如,可在国家焦点完成后为指定科学家的核物理专精加经验:

# 在国家焦点 completion_reward 中
my_nuclear_scientist = {
    add_scientist_xp = {
        experience = 5
        specialization = specialization_nuclear
    }
}

配合关系

  • [is_active_scientist](/wiki/trigger/is_active_scientist) — 在执行前判断角色是否处于激活状态的科学家,避免对非科学家角色错误调用。
  • [add_scientist_level](/wiki/effect/add_scientist_level) — 经验累积到一定程度后可配合此命令直接提升科学家等级,实现"经验→升级"的连贯逻辑。
  • [add_scientist_trait](/wiki/effect/add_scientist_trait) — 科学家在获得足够经验后,常同时授予专属特质,强化特定研究方向的叙事表现。
  • [has_scientist_level](/wiki/trigger/has_scientist_level) — 用于检查科学家当前等级,配合条件判断决定是否需要继续追加经验。

常见坑

  1. scope 指向错误:此命令必须在 CHARACTER scope 下执行,新手常在 COUNTRY scope 中直接调用,导致脚本报错或静默无效。务必先用 my_character = { ... } 进入对应角色的 scope。
  2. specialization 填写不合法specialization 字段必须填写游戏内定义的合法专精标签(如 specialization_nuclear),填写自造字符串不会报错但经验会被丢弃,难以排查。