發新話題
打印

[轉帖]WorldEdit触发器(Trigger)浅析

[Close]

[轉帖]WorldEdit触发器(Trigger)浅析

WorldEdit触发器(Trigger)浅析

作者:551155


序言:


WE发展至今,该研究的都被研究出来了,有人说,已经到了WE日暮时光,但我觉得现在WE依然在燃烧,还有很多人对此产生了兴趣。网上有各种各样的教程,包含我自己早年写的,但很多内容,特别是重点的触发器(Trigger)方面,却大多没有一个相对详细的说明,很多新手止步的原因就在于此。尽管SC2即将发布,但WAR3也不会这么快就没落,何况风格不同,而且触发器方面多少会有一些共通的地方;因此,我决定再制作一部教程,浅析关于触发器(Trigger)的方方面面,希望可以帮助喜欢WE的新人们。
  《浅析》的内容是分析Trigger的界面操作,并不包含JASS部分,而分析的主要目的是引导新人做出准确的判断和更加简洁的触发器。触发器是由事件、条件和动作组成,其关系就是由事件运行触发器,条件判断运行内容,动作就是执行具体动作。文中有说明,也有一些即兴演示,但相对会更加突出重点,比如在事件的说明中,着重介绍事件,但也会带有具体的条件或动作,可做参考。
  在具体的分析之前,我想说一下的是,其实运用触发器真的很简单,因为是完全界面化的,你只需要点击再点击基本上就可以了。我们要做的,是熟悉各个触发函数(内部设定好的一个动作模块,我们就是使用这些函数来制作触发)的作用,并将他们相互搭配起来。演示的作用只是提供一个思考的方式,而不是需要照本宣科,同样的事件和动作经过不同的组合就可以产生不一样的效果,不要一味的模仿。

第一章 ★ Trigger事件



第一章 ★ Trigger事件



  Trigger是由事件、条件、动作组成。事件是Trigger的开端,所有事件都是并行的,也就是说,在多个事件的情况下,只要触发一个事件就会执行触发器。大部分事件可以直接指定,但有部分事件却需要后期添加或者必须要有指定类型的变量才可以添加,后期添加也比较方便,后面会介绍到“动态注册事件”,这里我们先说一下具体的事件内容。
  还有需要注意到触发的关联性,比如“玩家事件”产生的触发是不可能会有“触发单位”这样的单位函数的,对应的只是“触发玩家”之类的玩家函数,但可以通过一些特殊情况转换,比如可以通过单位组动作的条件来选取玩家的单位,而且“触发单位所属玩家”就是一个很典型的单位事件调用玩家的函数。

TOP



第一节 ☆ 单位事件


Unit - Specific Unit Event

指定单位事件

Unit - Player-Owned Unit Event

玩家单位事件

Unit - Generic Unit Event

一般单位事件

Unit - Unit Enters Region

单位进入区域

Unit - Unit Leaves Region

单位离开区域

Unit - Unit Within Range

接近指定单位

Unit - Life

单位生命变化

Unit - Mana

单位法力变化


这里先说明一下“指定单位”的定义,顾名思义,这个需要针对已经存在的可以直接选取的具体的单位;不单单是事件,还包括一些条件和动作;不过不同事件可以用“动态注册”来达到添加事件的目的,而条件和动作可以通过“单位类型”的变量来读取。
三种单位事件所对应的事件稍有不同,如下帖:




TOP

Dies

单位死亡

共有

Decays

单位腐烂

共有

Changes owner

改变单位所属

共有

Damaged

单位接受伤害

指定单位事件

Gains a level

单位提升一个等级

共有

Learns a Skill

单位学习一个技能

共有

Becomes revivable

单位变为可重生的

共有

Uses an item

单位使用一个物品

共有

Acquires an item

单位获得一个物品

共有

Loses an item

单位掉落一个物品

共有

Sells a unit

出售一个单位

共有

Sells an item (from shop)

购买物品(从商店)

共有

Pawns an item (to shop)

出售物品(到商店)

共有

Is attacked

单位被攻击

共有

Is rescued

单位被营救

共有





TOP

Selected

单位被选择

指定单位事件

Deselected

单位被取消选择

指定单位事件

Spawns a summoned unit

召唤一个单位

共有

Begins channeling an alility

准备施放技能

共有

Begins casting an ability

开始施放技能

共有

Stops casting an ability

停止施放技能

共有

Starts the effect of an ability

发动技能效果

共有

Finishes casting an ability

技能施放结束

共有

Is loaded into a transport

被运输机装载的单位

共有

Acquired target

获得一个目标

指定单位事件

Target in range

获得攻击范围内目标

指定单位事件

Begins training a unit

开始训练的单位

共有

Cancels training a unit

取消训练的单位

共有

Finishes training a unit

完成训练的单位

共有

Begins construction

开始建造的单位

玩家/一般单位事件

Cancels construction

取消建造的单位

玩家/一般单位事件

Finishes construction

完成建筑的单位

玩家/一般单位事件

Begins reviving

正在复活的单位

共有

Cancels reviving

取消复活的单位

共有

Finishes reviving

完成复活的单位

共有

Begins an upgrade

正在升级的单位

共有

Cancels an upgrade

取消升级的单位

共有

Finishes an upgrade

完成升级的单位

共有

Begins research

正在研究的单位

共有

Cancels research

取消研究的单位

共有

Finishes research

完成研究的单位

共有

Is issued an order targeting an object

单位目标是物品的命令

共有

Is issued an order targeting a point

单位目标是点的命令

共有

Is issued an order with no target

发布没有目标的命令

共有



[ 本帖最後由 殺戮乂之夜 於 2010-6-7 14:41 編輯 ]

TOP

在制作触发的时候,我们先要考虑到,自己需要在什么样的情况下运行这个触发器,然后再有选择的添加事件。
例题1:如何让敌对的某某玩家(玩家6)某某单位(圣骑士0000)死亡后执行游戏胜利
这里分别对应三种事件来说明各自的用法:
1、指定单位事件:
事件:
(圣骑士 0000) 死亡

条件:
(死亡单位)所属是(玩家6)

动作:
游戏-设置 (凶手单位)所属玩家 胜利

2、玩家单位事件
事件:
(玩家6)的单位死亡

条件:
(死亡单位)是(圣骑士0000)

动作:
游戏-设置 (凶手单位)所属玩家 胜利

3、一般单位事件
事件:
任意单位死亡

条件:
(死亡单位)是(圣骑士 0000)
(死亡单位)所属是(玩家6 )

动作:
游戏-设置 (凶手单位)所属玩家 胜利





TOP

“单位进入区域”和“单位离开区域”这个就很好理解了,以练功房为例简单说明。
例题2:当(大法师0001)进入(区域0000)的时候开始刷兵,单位离开(区域0000)的时候停止刷兵-练功房区域。
1、 单位进入区域


事件:
单位进入(区域0000)

条件:
触发单位 等于 (大法师0001)

动作:
运行触发器 <刷兵>

2、 单位离开区域
事件:
单位离开(区域0000)

条件:
触发单位 等于 (大法师0001)

动作:
关闭触发器 <刷兵>

3、 刷兵<暂时只简单的调用一下,后面会细说>
事件:
每2秒触发事件

条件:


动作:
创建1个 步兵 在 区域0000 的中心点,面向 默认的建筑角度

PS:这里的刷兵事件触发器默认是初始关闭的。

“接近指定单位事件”就像前面所说,需要用到具体的可指定的单位才可以使用。
例题3:(大法师0001)靠近(圣骑士0000)500码内会召唤水元素。







TOP

事件:
单位进入500 范围距离 (圣骑士0000)

条件:
触发单位 等于 (大法师0001)

动作:
单位 - 对 (触发单位) 发布 人族大法师 - 召唤水元素 命令

“单位生命值变化”和“单位法力值变量”这个同样属于“指定单位”事件。
例题4:当(大法师0001)生命值少于100的时候使物品“生命药水”。


事件:
单位 - (大法师0001)的生命值变为小于 100.00

条件:


动作:
英雄 - 命令 (大法师0001) 使用 (大法师0001) 所持有的 生命药水

第一节 完

TOP

留位...

留位..後續內容稍候補回...好累

[ 本帖最後由 殺戮乂之夜 於 2010-6-7 14:46 編輯 ]

TOP

發新話題