跳至主要内容

精英腳本事件

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

此腳本會在精英被玩家攻擊或鎖定玩家時使其跳躍。