跳到主要内容

精英脚本事件

EliteScript 是基于事件的。这意味着它们在特定事件触发时启动。以下是当前有效的事件:

事件详情直接目标 [?]
EliteMobDamagedByEliteMobEvent精英被另一个精英伤害
EliteMobDamagedByPlayerEvent精英被玩家伤害造成伤害的玩家
EliteMobDamagedEvent精英被任何东西伤害
EliteMobDeathEvent精英死亡
EliteMobEnterCombatEvent精英与玩家进入战斗交战中的玩家
EliteMobExitCombatEvent精英退出战斗
EliteMobHealEvent精英治愈(包括完全治愈)
EliteMobSpawnEvent精英生成
EliteMobTargetPlayerEvent精英锁定玩家被锁定的玩家
PlayerDamagedByEliteMobEvent精英对玩家造成伤害受伤的玩家
ElitePhaseSwitchEventBoss因阶段切换而生成
ZoneEnterEvent (ScriptZoneEnterEvent)实体进入区域。需要设置区域!进入区域的实体
ZoneLeaveEvent (ScriptZoneLeaveEvent)实体离开区域。需要设置区域!离开区域的实体

注意:"精英"指的是插件生成的任何攻击性实体,无论是增援、Boss还是其他任何类型。 注意:ZoneEnterEvent 和 ZoneLeaveEvent 的计算开销较大,请谨慎使用!

Direct Target 由脚本目标使用,更多信息请参见此处

注意:EliteMobDamagedEvent 在精英受到任何来源的伤害时触发,而 EliteMobDamagedByPlayerEvent 和 EliteMobDamagedByEliteMobEvent 是更具体的版本,分别仅在受到玩家或精英怪物伤害时触发。

ZoneEnterEventZoneLeaveEvent 是特殊事件,允许脚本编写者根据实体进入和离开脚本中设置的区域来触发动作。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

此脚本会在精英被玩家攻击或锁定玩家时使其跳跃。