effect · set_relation_rule
Definition
- Supported scope:
COUNTRY - Supported target:
THIS
Description
DEPRECATED: See add_relation_rule_override
set_relation_ruleCOUNTRYTHISDEPRECATED: See add_relation_rule_override
实战内容由 AI 生成,并已对照 vanilla 命令词表校验 —— 请当作起点而非权威依据。上方的定义节才是游戏自带文档原文。
set_relation_rule 是一个已废弃的旧版指令,历史上用于设置国家间的外交关系规则(如是否允许宣战、贸易等),在早期 mod 中常见于阵营关系或傀儡关系的初始化阶段。由于官方已将其标记为 DEPRECATED,任何新 mod 应改用 add_relation_rule_override 替代。若你在维护老旧 mod,见到此指令时请视其为迁移标记。
# ❌ 旧写法(已废弃,不推荐在新 mod 中使用)
GER = {
set_relation_rule = {
# 旧参数写法,行为已不受保证
}
}
# ✅ 新写法(应替换为)
GER = {
add_relation_rule_override = {
# 使用当前支持的参数
}
}
[add_relation_rule_override](/wiki/effect/add_relation_rule_override) — 这是官方指定的替代品,迁移时应直接用此指令重写原有逻辑,功能语义相同但受到持续支持。[diplomatic_relation](/wiki/effect/diplomatic_relation) — 常与关系规则类指令搭配,用于同步设置正式外交关系状态(如保证、不侵犯条约等)。[add_opinion_modifier](/wiki/effect/add_opinion_modifier) — 在调整关系规则的同时修改双边好感度,使外交状态与 AI 行为倾向保持一致。[has_active_rule](/wiki/trigger/has_active_rule) — 用于检测某条关系规则是否已生效,可在条件判断中配合使用以避免重复设置。set_relation_rule 的老 mod 代码而不替换为 add_relation_rule_override,会导致规则根本不生效且难以排查。option 中写在 state scope 内(例如通过 every_owned_state 进入后调用),游戏不会报语法错误但指令会被跳过,造成逻辑静默失败。