Elite Script 事件
EliteScripts是基于事件的。这意味着它们在特定事件触发时启动。以下是当前有效的事件:
| 事件 | 详情 | 直接目标 [?] |
|---|---|---|
| EliteMobDamagedByEliteMobEvent | 精英被另一个精英伤害 | ❌ |
| EliteMobDamagedByPlayerEvent | 精英被玩家伤害 | 造成伤害的玩家 |
| EliteMobDamagedEvent | 精英被任何东西伤害 | ❌ |
| EliteMobDeathEvent | 精英死亡 | ❌ |
| EliteMobEnterCombatEvent | 精英与玩家进入战斗 | 交战玩家 |
| EliteMobExitCombatEvent | 精英退出战斗 | ❌ |
| EliteMobHealEvent | 精英治疗(包括完全治疗) | ❌ |
| EliteMobSpawnEvent | 精英生成 | ❌ |
| EliteMobTargetPlayerEvent | 精英瞄准玩家 | 目标玩家 |
| PlayerDamagedByEliteMobEvent | 精英伤害玩家 | 受伤玩家 |
| ElitePhaseSwitchEvent | Boss从阶段切换生成 | ❌ |
| ZoneEnterEvent (ScriptZoneEnterEvent) | 实体进入区域。需要设置区域! | 进入区域的实体 |
| ZoneLeaveEvent (ScriptZoneLeaveEvent) | 实体离开区域。需要设置区域! | 离开区域的实体 |
注意:"精英"指的是插件生成的任何攻击性实体,无论它们是增援、Boss还是其他任何东西。 注意:ZoneEnterEvent和ZoneLeaveEvent在计算上是昂贵的,请谨慎使用!
直接目标被脚本目标使用,更多信息请参阅此处。
注意:EliteMobDamagedEvent在精英受到任何来源的伤害时触发,而EliteMobDamagedByPlayerEvent和EliteMobDamagedByEliteMobEvent是更具体的版本,分别仅在玩家或精英生物伤害时触发。
ZoneEnterEvent和ZoneLeaveEvent是特殊事件,允许脚本制作者根据实体进入和离开脚本中设置的区域来触发动作。ZoneEnterEvent和ZoneLeaveEvent的DIRECT_TARGET是进入或离开的实体(这意味着您不能将直接目标用作区域的目标),并且由于内部逻辑的工作方式,只有绝对点(特定坐标)和相对于Boss的点可以用于扫描进入和离开(不能使用瞄准玩家的区域)。
每个脚本只能有一个事件部分。但是,可以将多个事件设置为脚本的触发器:
示例
eliteScript:
Example:
Events:
- EliteMobDamagedByPlayerEvent
- EliteMobTargetPlayerEvent
Actions:
- action: PUSH
Target:
targetType: SELF
vValue: 0,.3,0
Cooldowns:
local: 60
global: 20
这个脚本会在被玩家击中或瞄准玩家时让精英跳跃。