命令百科

trigger · career_profile_check_ratio

Definition

  • Supported scope:any
  • Supported target:any

Description

Compares the ratio (first/second) of two career profile values to a number

实战 · 配合 · 坑

实战内容由 AI 生成,并已对照 vanilla 命令词表校验 —— 请当作起点而非权威依据。上方的定义节才是游戏自带文档原文。

实战用法

career_profile_check_ratio 适合在生涯模式相关的 mod 中,根据玩家两项生涯数据的比值动态解锁奖励、勋章或特殊事件,例如判断"胜仗次数/总战役次数"是否达到一定水准。常见于检查玩家表现比例后决定是否触发特定剧情分支。

# 判断某两项生涯数值的比值是否达到阈值
trigger = {
    career_profile_check_ratio = {
        first = career_wins
        second = career_total_battles
        ratio > 0.75
    }
}

配合关系

  • [career_profile_check_value](/wiki/trigger/career_profile_check_value) — 单独检查某一项生涯数值的绝对量,常与比值检查并列使用,确保分母(第二项)不为零时才做比率判断更安全。
  • [career_profile_check_points](/wiki/trigger/career_profile_check_points) — 检查生涯积分总量,通常和比率条件一起放入 and 块,构成"积分达标且表现比率达标"的复合门槛。
  • [career_profile_check_medal](/wiki/trigger/career_profile_check_medal) — 比率通过后往往紧接着判断是否已获得对应勋章,避免重复授予奖励。
  • [and](/wiki/trigger/and) / [or](/wiki/trigger/or) — 将比率检查与其他生涯条件组合成复合逻辑,是包裹多个 career_profile_check_* 系列 trigger 的标准写法。

常见坑

  1. 分母为零导致除零错误:若 second 对应的生涯数值在某些存档中可能为 0(例如玩家从未打过战役),直接使用该 trigger 可能引发脚本报错或非预期结果,应先用 career_profile_check_value 确认第二项大于 0 再做比率判断。
  2. 比较符号写法错误:HOI4 脚本中比较运算符(><>= 等)与字段赋值写法容易混淆,新手有时误写成 ratio = 0.75 而非 ratio > 0.75,导致条件永远不满足或仅在精确相等时成立。