effect · clear_variable
Definition
- Supported scope:
any - Supported target:
none
Description
Clears a variable
Example: clear_variable = num_dogs
clear_variableanynoneClears a variable
Example: clear_variable = num_dogs
实战内容由 AI 生成,并已对照 vanilla 命令词表校验 —— 请当作起点而非权威依据。上方的定义节才是游戏自带文档原文。
clear_variable 常用于 mod 中变量的生命周期管理,例如在某个事件流程结束后清除不再需要的计数器或临时状态标记,避免变量残留导致后续逻辑误判。也可以在循环或递归效果结束时,将用于迭代的变量重置干净,保持脚本状态整洁。
# 当外交谈判事件链结束时,清除用于追踪回合数的变量
country_event = {
id = diplomacy.10
option = {
name = diplomacy.10.a
# 处理结算逻辑...
clear_variable = negotiation_rounds
}
}
[set_variable](/wiki/effect/set_variable):set_variable 负责初始化或赋值变量,而 clear_variable 是其对应的"销毁"操作,两者构成变量完整的创建-销毁生命周期。[has_variable](/wiki/trigger/has_variable):在调用 clear_variable 之前,建议先用 has_variable 触发器确认变量存在,避免对不存在的变量执行清除时产生意外行为。[if](/wiki/effect/if):通常将 clear_variable 包裹在 if 条件块中,配合 has_variable 做保护性判断,是防御式脚本编写的标准模式。[clear_array](/wiki/effect/clear_array):如果同一套逻辑中同时使用了变量和数组来追踪状态,clear_variable 与 clear_array 往往成对出现,一并清理所有临时数据。option 块中先 clear_variable,随后又在下方的触发器或效果中引用该变量(如 check_variable),此时变量已不存在会导致条件永远不满足或脚本报错,应确认清除时机在所有读取操作完成之后。clear_variable 的值直接是变量名字符串(如 clear_variable = num_dogs),不需要也不支持写成 var:num_dogs 或带 scope 前缀的形式,照搬 set_variable 的赋值语法会导致解析失败。