Saltar al contenido principal

EliteScript

webapp_banner.jpg

EliteScript es un sistema de scripting integral para los Plugins de MagmaGuy, proporcionando opciones avanzadas de personalización para crear comportamientos dinámicos para jefes y otras entidades en Minecraft.

Descripción general

EliteScript permite a los administradores de servidores crear comportamientos complejos basados en eventos para jefes personalizados y mobs. El sistema de scripting está construido sobre cinco componentes principales:

  • Eventos: Disparadores que inician la ejecución del script (daño, generación, muerte, etc.)
  • Condiciones: Requisitos que deben cumplirse para que se ejecuten las acciones
  • Acciones: Los comportamientos a realizar (daño, teletransporte, generar partículas, etc.)
  • Objetivos: Qué entidades o ubicaciones afectan las acciones
  • Zonas: Áreas definidas en el mundo para objetivos y detección
  • Tiempos de enfriamiento: Restricciones de tiempo para prevenir spam de scripts

Los Elite Scripts pueden añadirse como archivos de poderes independientes o directamente en archivos de configuración de jefes personalizados.

Ejemplo de inicio rápido

Aquí hay un EliteScript simple que hace que un jefe lance un rayo a los jugadores cuando es dañado:

eliteScript:
LightningStrike:
Events:
- EliteMobDamagedByPlayerEvent
Actions:
- action: STRIKE_LIGHTNING
Target:
targetType: DIRECT_TARGET
repeatEvery: 20
times: 3
Cooldowns:
local: 60
global: 20

Este script se activa cuando un jugador daña al jefe, luego lanza un rayo al jugador 3 veces (una vez por segundo), con un tiempo de enfriamiento de 60 ticks antes de que pueda activarse nuevamente.

Componentes del script

EliteScript proporciona una amplia personalización a través de su sistema de componentes. Para información detallada sobre cada componente, consulta las siguientes páginas:

Componentes principales

  • Eventos - 13 tipos de eventos incluyendo daño, muerte, generación, combate y disparadores basados en zonas
  • Acciones - 35 tipos de acciones para crear comportamientos complejos
  • Objetivos - 17 tipos de objetivos para seleccionar entidades y ubicaciones
  • Condiciones - Condiciones de filtrado y bloqueo con múltiples tipos de verificación
  • Zonas - 8 formas de zona (esferas, cilindros, cuboides, rayos, conos, etc.)
  • Tiempos de enfriamiento - Sistemas de tiempo de enfriamiento local y global
  • Vectores relativos - Posicionamiento y movimiento avanzado

Casos de uso comunes

EliteScript se usa comúnmente para:

  • Peleas de jefes por fases: Diferentes patrones de ataque a diferentes porcentajes de salud
  • Mecánicas de arena: Daño, buffs o generaciones basadas en zonas en áreas específicas
  • Ataques personalizados: Efectos de partículas únicos, proyectiles y ataques de área
  • Peligros ambientales: Rayos periódicos, bloques que caen o fuego
  • Mecánicas interactivas: Teletransporte, generación de mobs y modificación del mundo
  • Comunicación con jugadores: Mensajes, títulos, barras de acción y barras de jefe
  • Comportamientos condicionales: Diferentes acciones basadas en el número de jugadores, ubicación o estado del jefe

Implementación

Los scripts pueden implementarse de dos maneras:

  1. Archivos de poderes: Crea archivos .yml independientes en ~/plugins/EliteMobs/powers/
  2. Archivos de jefes personalizados: Añade secciones eliteScript: directamente a las configuraciones de jefes personalizados

Para instrucciones detalladas sobre cómo crear poderes y jefes personalizados, consulta:

Consideraciones de rendimiento

Al crear scripts, ten en cuenta estas mejores prácticas:

  • Usa tiempos de enfriamiento para prevenir problemas de rendimiento por scripts de disparo rápido
  • Los eventos basados en zonas (ZoneEnterEvent, ZoneLeaveEvent) son computacionalmente costosos - usa zonas pequeñas y tiempos de enfriamiento apropiados
  • Usa condiciones de filtrado para reducir verificaciones innecesarias
  • Prueba los scripts a fondo antes de desplegarlos en servidores de producción

Próximos pasos

Para comenzar a crear tus propios EliteScripts:

  1. Revisa la página de Eventos para entender qué puede activar los scripts
  2. Explora la página de Acciones para ver qué comportamientos puedes crear
  3. Aprende sobre Objetivos para controlar qué afectan tus acciones
  4. Estudia los ejemplos en cada página de componentes
  5. Comienza con scripts simples y añade complejidad gradualmente