命令百科

trigger · ships_in_area

Definition

  • Supported scope:COUNTRY
  • Supported target:none

Description

checks for amount of ships in specified area

实战 · 配合 · 坑

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

实战用法

ships_in_area 常用于检测某国在特定海域的海军存在,例如在海战事件或决策中判断玩家或 AI 是否已在目标海区部署足够舰队,从而触发后续剧情或解锁特定选项。典型场景包括:封锁某条航线前检测己方舰船是否就位,或在任务链中验证玩家是否完成了战略部署。

# 示例:检测本国在北海区域是否有足够舰船,作为决策的 available 条件
decision_example = {
    available = {
        ships_in_area = {
            area = north_sea
            count > 5
            type = ship
        }
    }
}

配合关系

  • [has_navy_size](/wiki/trigger/has_navy_size)(如果白名单中存在)→ 实际上可改为 [any_navy_leader](/wiki/trigger/any_navy_leader):检测是否存在海军指挥官,配合 ships_in_area 可以同时确认舰队部署与指挥链完整性。
  • [controls_state](/wiki/trigger/controls_state):确认己方控制沿岸州省的同时,再用 ships_in_area 验证对应海域的舰船存在,两者联合可精确描述"沿海封锁"条件。
  • [convoy_threat](/wiki/trigger/convoy_threat):与 ships_in_area 配合,既检查己方舰船规模,又评估对方护航压力,适用于判断是否应启动潜艇战决策。
  • [destroy_ships](/wiki/effect/destroy_ships):在 ships_in_area 触发确认海域有船后,可在 effect 块中执行摧毁命令,形成"有则清除"的完整逻辑闭环。

常见坑

  1. area 字段填写错误area 必须填写游戏内定义的战略海区 ID(如 north_seaenglish_channel 等),直接填写省份 ID 或州 ID 会导致 trigger 静默失败,不报错但永远返回 false,新手很难排查。
  2. 忽略 scope 限制ships_in_area 只能在 COUNTRY scope 下使用,若写在 STATE scope(例如某个州的 trigger 块内)会导致脚本报错或行为异常,需要先用 owner = { ... } 等方式切换回 COUNTRY scope 再调用。