精英腳本事件
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
此腳本會在精英被玩家攻擊或鎖定玩家時使其跳躍。