Pular para o conteúdo principal

EliteScript

webapp_banner.jpg

EliteScript é um sistema de script abrangente para os Plugins da MagmaGuy, fornecendo opções avançadas de personalização para criar comportamentos dinâmicos para chefes e outras entidades no Minecraft.

Visão Geral

EliteScript permite que administradores de servidores criem comportamentos complexos orientados a eventos para chefes e mobs personalizados. O sistema de script é construído sobre cinco componentes principais:

  • Eventos: Gatilhos que iniciam a execução do script (dano, spawn, morte, etc.)
  • Condições: Requisitos que devem ser atendidos para que as ações sejam executadas
  • Ações: Os comportamentos a serem executados (dano, teletransporte, spawn de partículas, etc.)
  • Alvos: Quais entidades ou localizações as ações afetam
  • Zonas: Áreas definidas no mundo para mira e detecção
  • Cooldowns: Restrições de tempo para prevenir spam de scripts

Elite Scripts podem ser adicionados como arquivos de poder independentes ou diretamente em arquivos de configuração de chefes personalizados.

Exemplo de Início Rápido

Aqui está um EliteScript simples que faz um chefe lançar raios em jogadores quando danificado:

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

Este script é acionado quando um jogador danifica o chefe, então lança raios no jogador 3 vezes (uma vez por segundo), com um cooldown de 60 ticks antes que possa ser acionado novamente.

Componentes do Script

EliteScript fornece personalização extensiva através do seu sistema de componentes. Para informações detalhadas sobre cada componente, veja as seguintes páginas:

Componentes Principais

  • Eventos - 13 tipos de eventos incluindo dano, morte, spawn, combate e gatilhos baseados em zona
  • Ações - 35 tipos de ação para criar comportamentos complexos
  • Alvos - 17 tipos de alvo para selecionar entidades e localizações
  • Condições - Condições de filtragem e bloqueio com múltiplos tipos de verificação
  • Zonas - 8 formas de zona (esferas, cilindros, cuboides, raios, cones, etc.)
  • Cooldowns - Sistemas de cooldown local e global
  • Vetores Relativos - Posicionamento e movimento avançados

Casos de Uso Comuns

EliteScript é comumente usado para:

  • Lutas de chefe baseadas em fases: Diferentes padrões de ataque em diferentes porcentagens de saúde
  • Mecânicas de arena: Dano baseado em zona, buffs ou spawns em áreas específicas
  • Ataques personalizados: Efeitos de partículas únicos, projéteis e ataques de área
  • Perigos ambientais: Raios periódicos, blocos caindo ou fogo
  • Mecânicas interativas: Teletransporte, spawn de mobs e modificação do mundo
  • Comunicação com jogadores: Mensagens, títulos, barras de ação e barras de chefe
  • Comportamentos condicionais: Diferentes ações baseadas na contagem de jogadores, localização ou estado do chefe

Implementação

Scripts podem ser implementados de duas maneiras:

  1. Arquivos de Poder: Crie arquivos .yml independentes em ~/plugins/EliteMobs/powers/
  2. Arquivos de Chefe Personalizados: Adicione seções eliteScript: diretamente às configurações de chefes personalizados

Para instruções detalhadas sobre como criar poderes e chefes personalizados, veja:

Considerações de Desempenho

Ao criar scripts, tenha estas melhores práticas em mente:

  • Use cooldowns para prevenir problemas de desempenho de scripts de disparo rápido
  • Eventos baseados em zona (ZoneEnterEvent, ZoneLeaveEvent) são computacionalmente caros - use zonas pequenas e cooldowns apropriados
  • Use condições de filtragem para reduzir verificações desnecessárias
  • Teste scripts completamente antes de implantar em servidores de produção

Próximos Passos

Para começar a criar seus próprios EliteScripts:

  1. Revise a página de Eventos para entender o que pode acionar scripts
  2. Explore a página de Ações para ver quais comportamentos você pode criar
  3. Aprenda sobre Alvos para controlar o que suas ações afetam
  4. Estude os exemplos em cada página de componente
  5. Comece com scripts simples e gradualmente adicione complexidade