命令百科

trigger · has_license

Definition

  • Supported scope:COUNTRY
  • Supported target:any

Description

Country has specific active license
Example: has_license = {
	from = TAG # has license from this country, optional
	 #if archetype is specified equipment should not be specified
	archetype = light_tank_chassis #any light tank chassis license
	equipment = { # classical equipment reference
		type = light_tank_equipment_2
		version = 0 # optional: omit to match any version of the type
	}
}

实战 · 配合 · 坑

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

实战用法

has_license 常用于判断某国是否已从其他国家获得特定装备的生产授权,从而解锁专属决策、国策或科研奖励。例如在二战 mod 中,可以检测某小国是否拥有德国坦克的生产许可,进而允许其建造特定的装甲师模板或触发外交事件。

# 只有在持有轴心国坦克授权时,才允许执行该决策
available = {
    has_license = {
        from = GER
        archetype = medium_tank_equipment
    }
}

配合关系

  • [has_any_license](/wiki/trigger/has_any_license):当不关心具体来源国或型号、只需判断"是否持有任何授权"时,与 has_license 互为精粗两档搭配使用。
  • [create_production_license](/wiki/effect/create_production_license):通常在 effect 块中用该命令授予许可,随后在 trigger 块中用 has_license 验证是否授予成功,形成"给予—检测"闭环。
  • [has_design_based_on](/wiki/trigger/has_design_based_on):与 has_license 配合可区分"拥有授权"与"已基于授权设计了变体"这两个不同阶段,避免逻辑混淆。
  • [any_purchase_contract](/wiki/trigger/any_purchase_contract):区分"生产授权"与"采购合同"两种不同的装备获取方式,在复杂军贸 mod 中常需同时检测两者。

常见坑

  1. archetypeequipment 不能同时使用:官方定义明确说明二者互斥,若同时填写则脚本行为未定义,新手容易误以为可以叠加过滤,实际上应根据需要二选一。
  2. 省略 from 不等于匹配所有来源:省略 from 字段时会匹配来自任意国家的授权,但若误将 from 写成自身 TAG,则永远无法满足条件(国家不能向自己颁发授权),导致条件始终为假。