触发

来自星际争霸重制版地图研究所
Chinodaisuki讨论 | 贡献2021年10月23日 (六) 22:24的版本 (创建页面,内容为“=== 定义 === 触发器,即Triggers,简称为触发,一般指SCMD(或其他基础地图编辑器)内的触发器语句,广义上也可以包括EUD编辑…”)
(差异) ←上一版本 | 最后版本 (差异) | 下一版本→ (差异)
跳到导航 跳到搜索

定义

触发器,即Triggers,简称为触发,一般指SCMD(或其他基础地图编辑器)内的触发器语句,广义上也可以包括EUD编辑器内的EUD触发,但在EUD中更推荐使用代码思维而非触发思维去进行理解。

触发结构

一条完整的触发必须包含三个部分(或称为参数):执行者(Player),条件(Condition),动作(Action)。一般的,这三个部分被称为“触发三要素”。

执行者(Player)

该参数表明由谁来执行该条触发,参数有:Player1-Player8(Player9-Player12无法作为触发的执行者),CurrentPlayer,Force1-Force4 等。

一条触发不一定只有一个执行者,可以有多个执行者。

条件(Condition)

该参数表明触发的执行条件,当执行条件满足时,则执行触发中的所有动作。

一条触发可以有多个条件同时存在,当有多个条件存在时,所有条件为 and 关系,即所有条件都为真时,才会执行对应的动作。

SCMD默认的触发编辑器(TE)无法编写 or关系的条件,但有另外的方法可以实现 or关系的条件编写。

动作(Action)

该参数表明触发的条件满足时会执行的动作,一条触发的动作可以不止一个,在SCMD默认的触发编辑器中,每条触发的动作上限为64个。

动作的执行顺序是从上到下依次执行,在某些情况下,动作的执行顺序错误会导致非常严重的问题。