实战用法
activate_mission 常用于剧本 mod 中,通过事件或国策完成后绕过任务自身的触发条件,强制激活某个限时任务(mission),适合那些需要在特定剧情节点推进任务链而又无法保证触发条件满足的场景。例如,玩家完成某个国策后立刻激活一个外交限时任务:
focus = {
id = GER_activate_diplomatic_mission
...
completion_reward = {
activate_mission = GER_ultimatum_mission
}
}
配合关系
[has_active_mission](/wiki/trigger/has_active_mission):激活任务前或任务期间,常用此触发器检测该任务是否已处于激活状态,防止重复触发逻辑或给出提示。
[activate_mission_tooltip](/wiki/effect/activate_mission_tooltip):在 UI 提示块(如 custom_effect_tooltip)中配合使用,向玩家显示即将激活的任务信息,提升可读性。
[add_days_mission_timeout](/wiki/effect/add_days_mission_timeout):任务激活后可配合此命令动态延长或调整任务的倒计时天数,灵活控制任务时限。
[country_event](/wiki/effect/country_event):任务激活时通常同步触发一个事件,给玩家交代背景叙事或提供额外选项。
常见坑
- 对已激活的任务再次调用会静默失效:官方明确指出不能激活一个已经处于激活状态的任务,但游戏不会报错,只会什么都不做,新手常因此误以为脚本有 bug,应在调用前用
[has_active_mission](/wiki/trigger/has_active_mission) 加条件判断。
- 任务本体必须存在于
missions 文件夹中:activate_mission 填入的任务 ID 必须在 common/missions/ 下有完整定义,且所属国家 scope 必须正确对应;若任务归属国家与当前 scope 不匹配,任务同样不会被激活,不会有任何报错提示。