Создание способностей
Система скриптов EliteMobs
На следующей странице описано, как создавать Elite-скрипты!
Это продвинутая функция, требующая глубоких знаний EliteMobs.
Примечание: Elite-скрипты можно добавлять как файлы способностей или в файлы пользовательских боссов! При использовании в качестве файлов способностей вы можете добавлять их как обычные способности к боссам, используя параметр конфигурации 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 секунд (а также блокирует срабатывание других способностей на 1 секунду из-за настроек в разделе Cooldowns).
Теперь, когда вы знаете общий формат структуры скриптов, пора узнать, что можно делать с каждым разделом!
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 секунд.
Создание автономных способностей
Автономные способности почти полностью состоят из Elite Script. Есть только два необязательных поля. Не забывайте, что для работы автономных способностей они должны быть размещены в папке ~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: Только элиты соответствующего типа сущности смогут естественно появляться с этими способностями, и они будут считаться основными способностями.
effect
Устанавливает визуальный эффект или материал, используемый способностью. Это используется некоторыми жёстко закодированными способностями для определения их визуального эффекта частиц или материала.
| Ключ | Значения | По умолчанию |
|---|---|---|
effect | String | none |
powerCooldown
Устанавливает перезарядку в тиках для отдельной способности. Это контролирует, как часто эта конкретная способность может срабатывать.
| Ключ | Значения | По умолчанию |
|---|---|---|
powerCooldown | Integer | 0 |
globalCooldown
Устанавливает глобальную перезарядку в тиках, общую для всех способностей. После срабатывания этой способности никакая другая способность не может сработать, пока не истечёт глобальная перезарядка.
| Ключ | Значения | По умолчанию |
|---|---|---|
globalCooldown | Integer | 0 |
