精英脚本事件
EliteScript 是基于事件的。这意味着它们在特定事件触发时启动。以下是当前有效的事件:
| 事件 | 详情 | 直接目标 [?] |
|---|---|---|
| EliteMobDamagedByEliteMobEvent | 精英被另一个精英伤害 | ❌ |
| EliteMobDamagedByPlayerEvent | 精英被玩家伤害 | 造成伤害的玩家 |
| EliteMobDamagedEvent | 精英被任何东西伤害 | ❌ |
| EliteMobDeathEvent | 精英死亡 | ❌ |
| EliteMobEnterCombatEvent | 精英与玩家进入战斗 | 交战中的玩家 |
| EliteMobExitCombatEvent | 精英退出战斗 | ❌ |
| EliteMobHealEvent | 精英治愈(包括完全治愈) | ❌ |
| EliteMobSpawnEvent | 精英生成 | ❌ |
| EliteMobTargetPlayerEvent | 精英锁定玩家 | 被锁定的玩家 |
| PlayerDamagedByEliteMobEvent | 精英对玩家造成伤害 | 受伤的玩家 |
| ElitePhaseSwitchEvent | Boss因阶段切换而生成 | ❌ |
| ZoneEnterEvent (ScriptZoneEnterEvent) | 实体进入区域。需要设置区域! | 进入区域的实体 |
| ZoneLeaveEvent (ScriptZoneLeaveEvent) | 实体离开区域。需要设置区域! | 离开区域的实体 |
注意:"精英"指的是插件生成的任何攻击性实体,无论是增援、Boss还是其他任何类型。 注意:ZoneEnterEvent 和 ZoneLeaveEvent 的计算开销较大,请谨慎使用!
Direct Target 由脚本目标使用,更多信息请参见此处。
注意: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
此脚本会在精英被玩家攻击或锁定玩家时使其跳跃。