trigger · not
Definition
- Supported scope:
any - Supported target:
THIS,ROOT,PREV,FROM,OWNER,CONTROLLER,OCCUPIED,CAPITAL
Description
negates content of trigger
notanyTHIS, ROOT, PREV, FROM, OWNER, CONTROLLER, OCCUPIED, CAPITALnegates content of trigger
实战内容由 AI 生成,并已对照 vanilla 命令词表校验 —— 请当作起点而非权威依据。上方的定义节才是游戏自带文档原文。
not 是 mod 脚本中最高频的逻辑取反工具,常用于"玩家不处于某种状态时才允许触发"的场景,例如确保某个事件只在国家尚未拥有特定旗帜、尚未完成某条件时才出现。它可以嵌套在 and/or 内构成复杂逻辑。
# 仅当该国没有全局旗帜且不处于历史焦点模式时触发
trigger = {
not = {
has_global_flag = my_mod_event_fired
}
not = {
is_historical_focus_on = yes
}
}
[and](/wiki/trigger/and) — not 常与 and 搭配,将多个条件整体取反(等价于德摩根定律),避免写多个分散的 not。[or](/wiki/trigger/or) — 与 or 搭配可构建"既非 A 也非 B"的逻辑,是复杂准入条件的基础结构。[has_global_flag](/wiki/trigger/has_global_flag) — 最典型的取反对象,用于检测"某事件尚未触发过",防止重复触发。[custom_trigger_tooltip](/wiki/trigger/custom_trigger_tooltip) — 当 not 内逻辑较复杂时,外套 custom_trigger_tooltip 可提供友好的本地化提示,避免 UI 显示混乱的双重否定文本。not 内放多个子条件时,整体语义是"这些条件全部成立才为假"(即内部隐含 and),而非"任意一个成立就为假"——新手经常误以为 not { A B } 等价于"非A 且 非B",实际上它等价于"非(A 且 B)",若要表达"非A 且 非B",必须写两个独立的 not = { A } 和 not = { B },或使用 not = { or = { A B } }。limit 块中对数值型 trigger(如 check_variable)取反时,注意边界值——例如 not = { check_variable = { var = x value > 5 } } 包含 x = 5 的情况,与直觉上的"小于 5"不同,忽略边界会导致难以排查的逻辑漏洞。