命令百科

trigger · get_highest_scored_country_temp

Definition

  • Supported scope:COUNTRY
  • Supported target:none

Description

calculates the highest scored country that is defined in a country scorer and sets it to a variable. Example: 
get_highest_scored_country_temp = { 
  scorer = scorer_id 
  var = var_name # variable name that the result will be stored. default is highest_scored_country 
}

实战 · 配合 · 坑

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

实战用法

get_highest_scored_country_temp 常用于动态外交或事件脚本中,在不修改游戏状态的情况下查询某个评分器(scorer)当前得分最高的国家,并将结果临时存入变量以供后续条件判断使用。例如,在一个决策的 available 块中,先用本 trigger 将得分最高的国家存入变量,再检查该变量是否符合特定条件:

available = {
    get_highest_scored_country_temp = {
        scorer = my_alliance_scorer
        var = top_alliance_candidate
    }
    # 之后可以通过 var:top_alliance_candidate 引用该国家
    var:top_alliance_candidate = { exists = yes }
}

配合关系

  • [get_highest_scored_country](/wiki/effect/get_highest_scored_country):effect 版本的同名命令,会实际将结果写入持久变量;当需要在 trigger 块中仅做判断时用 _temp 版,需要持久保存结果时改用 effect 版,两者配合可区分「只读查询」与「写入状态」的场景。
  • [get_sorted_scored_countries_temp](/wiki/effect/get_sorted_scored_countries_temp):同为基于 scorer 的查询系列,当需要获取前 N 名排列而非单一最高分国家时配合使用,逻辑上高度相关。
  • [get_sorted_scored_countries_temp](/wiki/trigger/get_sorted_scored_countries_temp):在同一条件块中,可先用 get_highest_scored_country_temp 确认最高分国家,再用此 trigger 获取完整排名列表做进一步筛选,两者共用同一套 scorer 体系。

常见坑

  1. 误将其当作 effect 使用:新手容易把此 trigger 写进 immediateeffect 块中期望它持久保存变量,但 _temp 版本存储的变量仅在当前 trigger 链求值期间有效,跨事件或跨 tick 后会失效,需要持久化时必须改用 effect 版的 get_highest_scored_country
  2. 忘记声明 scorerscorer 字段对应的 scorer 定义必须事先在 common/country_scorers/ 下注册,若拼写错误或文件未加载,trigger 将静默失败(不报错但结果变量为空),后续依赖该变量的条件判断会因引用空值而产生非预期行为。