Перейти к основному содержимому

EliteScript

webapp_banner.jpg

EliteScript — это комплексная система скриптов для плагинов MagmaGuy, предоставляющая расширенные возможности настройки для создания динамического поведения боссов и других сущностей в Minecraft.

Обзор

EliteScript позволяет администраторам серверов создавать сложное поведение, управляемое событиями, для пользовательских боссов и мобов. Система скриптов построена на шести основных компонентах:

  • События (Events): Триггеры, запускающие выполнение скрипта (урон, спаун, смерть и т.д.)
  • Условия (Conditions): Требования, которые должны быть выполнены для выполнения действий
  • Действия (Actions): Поведение для выполнения (урон, телепортация, создание частиц и т.д.)
  • Цели (Targets): Какие сущности или места затрагивают действия
  • Зоны (Zones): Определенные области в мире для нацеливания и обнаружения
  • Перезарядки (Cooldowns): Временные ограничения для предотвращения спама скриптов

EliteScript можно добавить как отдельные файлы способностей или непосредственно в файлы конфигурации пользовательских боссов.

Пример быстрого старта

Вот простой 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 предоставляет обширные возможности настройки через систему компонентов. Для получения подробной информации о каждом компоненте см. следующие страницы:

Основные компоненты

Распространенные случаи использования

EliteScript обычно используется для:

  • Фазовые бои с боссами: Различные паттерны атак при разном проценте здоровья
  • Механики арен: Урон на основе зон, баффы или спауны в определенных областях
  • Пользовательские атаки: Уникальные эффекты частиц, снаряды и атаки по области
  • Опасности окружения: Периодические молнии, падающие блоки или огонь
  • Интерактивные механики: Телепортация, спаун мобов и модификация мира
  • Коммуникация с игроками: Сообщения, титры, панель действий и панели боссов
  • Условное поведение: Различные действия в зависимости от количества игроков, местоположения или состояния босса

Реализация

Скрипты могут быть реализованы двумя способами:

  1. Файлы способностей (Power Files): Создайте отдельные файлы .yml в ~/plugins/EliteMobs/powers/
  2. Файлы пользовательских боссов (Custom Boss Files): Добавьте разделы eliteScript: непосредственно в конфигурации пользовательских боссов

Для получения подробных инструкций по созданию способностей и пользовательских боссов см.:

Соображения производительности

При создании скриптов учитывайте эти рекомендации:

  • Используйте перезарядки для предотвращения проблем с производительностью из-за скриптов с быстрым срабатыванием
  • События на основе зон (ZoneEnterEvent, ZoneLeaveEvent) требуют больших вычислительных ресурсов - используйте небольшие зоны и соответствующие перезарядки
  • Используйте условия фильтрации для уменьшения ненужных проверок
  • Тщательно тестируйте скрипты перед развертыванием на производственных серверах

Следующие шаги

Чтобы начать создавать свои собственные EliteScript:

  1. Просмотрите страницу События (Events), чтобы понять, что может запускать скрипты
  2. Изучите страницу Действия (Actions), чтобы увидеть, какое поведение вы можете создать
  3. Узнайте о Целях (Targets), чтобы контролировать, на что влияют ваши действия
  4. Изучите примеры на каждой странице компонентов
  5. Начните с простых скриптов и постепенно добавляйте сложность