EliteScript
EliteScript — это комплексная система скриптов для плагинов MagmaGuy, предоставляющая расширенные возможности настройки для создания динамического поведения боссов и других сущностей в Minecraft.
Обзор
EliteScript позволяет администраторам серверов создавать сложное, событийно-управляемое поведение для пользовательских боссов и мобов. Система скриптов построена на пяти основных компонентах:
- Events: Триггеры, запускающие выполнение скрипта (урон, появление, смерть и т.д.)
- Conditions: Требования, которые должны быть выполнены для запуска действий
- Actions: Выполняемые поведения (урон, телепортация, создание частиц и т.д.)
- Targets: Какие сущности или местоположения затрагиваются действиями
- Zones: Определённые области в мире для нацеливания и обнаружения
- Cooldowns: Временные ограничения для предотвращения спама скриптами
Elite Scripts можно добавлять как автономные файлы способностей или напрямую в файлы конфигурации пользовательских боссов.
Пример быстрого старта
Вот простой EliteScript, который заставляет босса бить игроков молнией при получении урона:
eliteScript:
LightningStrike:
Events:
- EliteMobDamagedByPlayerEvent
Actions:
- action: STRIKE_LIGHTNING
Target:
targetType: DIRECT_TARGET
repeatEvery: 20
times: 3
Cooldowns:
local: 60
global: 20
Этот скрипт срабатывает, когда игрок наносит урон боссу, затем бьёт молнией по игроку 3 раза (раз в секунду), с перезарядкой в 60 тиков перед повторным срабатыванием.
Компоненты скрипта
EliteScript предоставляет обширные возможности настройки через систему компонентов. Подробную информацию о каждом компоненте смотрите на следующих страницах:
Основные компоненты
- Events - 13 типов событий, включая урон, смерть, появление, бой и зональные триггеры
- Actions - 35 типов действий для создания сложного поведения
- Targets - 17 типов целей для выбора сущностей и местоположений
- Conditions - Условия фильтрации и блокировки с множеством типов проверок
- Zones - 8 форм зон (сферы, цилиндры, кубоиды, лучи, конусы и т.д.)
- Cooldowns - Системы локальной и глобальной перезарядки
- Относительные векторы - Продвинутое позиционирование и перемещение
Распространённые случаи использования
EliteScript обычно используется для:
- Фазовые бои с боссами: Различные паттерны атак при разных процентах здоровья
- Механики арены: Зональный урон, усиления или спавн в определённых областях
- Пользовательские атаки: Уникальные эффекты частиц, снаряды и атаки по области
- Опасности окружающей среды: Периодические молнии, падающие блоки или огонь
- Интерактивные механики: Телепортация, спавн мобов и модификация мира
- Общение с игроками: Сообщения, заголовки, панели действий и панели босса
- Условное поведение: Различные действия в зависимости от количества игроков, местоположения или состояния босса
Реализация
Скрипты можно реализовать двумя способами:
- Файлы способностей: Создайте автономные файлы
.ymlв~/plugins/EliteMobs/powers/ - Файлы пользовательских боссов: Добавьте секции
eliteScript:напрямую в конфигурации пользовательских боссов
Подробные инструкции по созданию способностей и пользовательских боссов см.:
Соображения по производительности
При создании скриптов учитывайте следующие лучшие практики:
- Используйте перезарядки для предотвращения проблем производительности от часто срабатывающих скриптов
- Зональные события (ZoneEnterEvent, ZoneLeaveEvent) являются вычислительно затратными — используйте маленькие зоны и подходящие перезарядки
- Используйте условия фильтрации для сокращения ненужных проверок
- Тщательно тестируйте скрипты перед развёртыванием на рабочих серверах
Следующие шаги
Чтобы начать создавать свои собственные EliteScripts:
- Просмотрите страницу Events, чтобы понять, что может запускать скрипты
- Изучите страницу Actions, чтобы увидеть, какое поведение можно создать
- Узнайте о Targets, чтобы контролировать, на что влияют ваши действия
- Изучите примеры на каждой странице компонентов
- Начните с простых скриптов и постепенно увеличивайте сложность
