建立能力
EliteMobs 腳本系統
以下頁面介紹如何建立精英腳本!
這是一個進階功能,需要對 EliteMobs 有一定深入的了解。
注意:精英腳本可以作為能力檔案添加,或添加到自訂首領檔案中! 如果作為能力檔案使用,您可以使用自訂首領的 powers 設定選項,像平常一樣將它們作為普通能力添加到首領中。
添加 EliteScript
要開始將 EliteScript 添加到首領,請在首領檔案中添加以下條目:
eliteScript:
注意:以下內容對大小寫和空格極為敏感!請確保您的空格、換行和整體格式與範例相符!
現在您已經宣告了腳本的開始,可以添加您的特定腳本。在此範例中,我們將建立一個名為 Example 的腳本:
eliteScript:
Example:
EliteScripts 有 5 個不同的部分:Events、Conditions、Zones、Actions 和 Cooldowns。只有 Actions 是必需的。
讓我們看一個簡單的範例:
eliteScript:
Example:
Events:
- EliteMobDamagedByPlayerEvent
Actions:
- action: PUSH
Target:
targetType: SELF
vValue: 0,0.5,0
Cooldowns:
local: 60
global: 20
此腳本會使精英在被玩家擊中時向上推,並且在 3 秒內不會再次執行(由於我們在 Cooldowns 部分設定的參數,它將在 1 秒內阻止其他能力觸發)。
現在您已經知道腳本結構的一般格式,是時候了解每個部分可以做什麼了!
Events (事件)
點擊上方連結了解如何使用事件!
Targets (目標)
點擊上方連結了解如何使用目標!
Actions (動作)
點擊上方連結了解如何使用動作!
Zones (區域)
點擊上方連結了解如何使用區域!
Conditions (條件)
點擊上方連結了解如何使用條件!
Cooldowns (冷卻時間)
點擊上方連結了解如何使用冷卻時間!
添加多個 EliteScripts
您可以在一個事件上執行多個動作,但如果您想在同一個首領上添加多個腳本怎麼辦?這很簡單,只需建立一個新的腳本條目!讓我們擴展前面的範例,並向其添加另一個腳本:
eliteScript:
Example:
Events:
- EliteMobDamagedByPlayerEvent
Actions:
- action: PUSH
Target:
targetType: SELF
vValue: 0,0.5,0
Cooldowns:
local: 60
global: 20
Example2:
Events:
- PlayerDamagedByEliteMobEvent
Actions:
- action: SET_ON_FIRE
Target:
targetType: DIRECT_TARGET
Cooldowns:
local: 200
global: 60
在此範例中,我們添加了一個名為 Example2 的第二個腳本。Example2 將點燃被首領傷害的玩家,這是因為 targetType 設定為 DIRECT_TARGET。
此腳本的冷卻時間設定為 200 刻,意味著首領每 10 秒只能點燃玩家一次。
製作獨立能力
獨立能力幾乎完全由精英腳本組成。只有兩個欄位是可選的。不要忘記,要使獨立能力正常工作,它們必須放置在 ~plugins/EliteMobs/powers 資料夾中。
獨立能力範例:
isEnabled: true
powerType: UNIQUE
eliteScript:
Example:
Events:
- EliteMobDamagedByPlayerEvent
Actions:
- action: PUSH
Target:
targetType: SELF
vValue: 0,.3,0
Cooldowns:
local: 60
global: 20
isEnabled
與外掛中其他地方一樣,設定能力是否啟用。
powerType
能力類型設定能力如何分配。可用的值有:
UNIQUE:能力僅會應用於在能力部分設定了該能力的自訂首領。DEFENSIVE/MISCELLANEOUS/OFFENSIVE:任何精英都能夠獲得這些能力,並且它們將計入特定的能力子集。MAJOR_ZOMBIE、MAJOR_SKELETON、MAJOR_BLAZE、MAJOR_ENDERMAN、MAJOR_GHAST:只有適當實體類型的精英才能自然生成這些能力,並且它們將計入主要能力。
