trigger · has_game_rule
Definition
- Supported scope:
any - Supported target:
none
Description
Checks if a game rule is set to a particular option.
Example:
has_game_rule = {
rule = GER_can_remilitarize_rhineland
option = yes
}
has_game_ruleanynoneChecks if a game rule is set to a particular option.
Example:
has_game_rule = {
rule = GER_can_remilitarize_rhineland
option = yes
}
实战内容由 AI 生成,并已对照 vanilla 命令词表校验 —— 请当作起点而非权威依据。上方的定义节才是游戏自带文档原文。
has_game_rule 常用于根据房间规则动态调整 focus tree 可用性或 event 走向,例如让某个国策仅在"允许历史事件"规则开启时才可选。在多人联机 mod 中,也经常用它来检查是否开启了特定的平衡性选项,从而决定是否触发某段脚本逻辑。
# 仅当规则允许时,某个决议才可用
available = {
has_game_rule = {
rule = GER_can_remilitarize_rhineland
option = GER_CAN_REMILITARIZE_RHINELAND_YES
}
}
[has_global_flag](/wiki/trigger/has_global_flag):常与 has_game_rule 并列放在同一 and 块中,一个检查规则设定,另一个确认某全局事件是否已触发,共同把守条件入口。[is_historical_focus_on](/wiki/trigger/is_historical_focus_on):两者经常组合使用,用于区分"历史模式"与自定义规则之间的优先级,避免规则冲突。[custom_trigger_tooltip](/wiki/trigger/custom_trigger_tooltip):将 has_game_rule 包裹其中,可以为玩家提供更友好的本地化提示,说明为何某功能被规则禁用。[or](/wiki/trigger/or):当同一条件需要兼容多个规则选项时,用 or 包住多个 has_game_rule 块,逻辑更清晰。option 值写错大小写或拼写:option 字段必须与游戏规则文件(common/game_rules/)中定义的选项 token 完全一致,包括大小写;写成 yes/no 这类简写仅在规则选项本身就叫那个名字时才有效,切勿想当然地省略前缀。rule 在当前 mod 或基础游戏中未定义,trigger 不会报错而是静默返回 false,导致条件块永远不满足,排查时极易被忽视;务必确认规则已在 common/game_rules/ 中正确注册。