Pular para o conteúdo principal

EliteScript

webapp_banner.jpg

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

Visão geral

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

  • Events: Gatilhos que iniciam a execução do script (dano, surgimento, morte, etc.)
  • Conditions: Requisitos que devem ser atendidos para que as ações sejam executadas
  • Actions: Os comportamentos a serem executados (dano, teletransporte, gerar partículas, etc.)
  • Targets: Quais entidades ou localizações as ações afetam
  • Zones: Áreas definidas no mundo para seleção de alvos 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 nos 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 nos 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 é ativado quando um jogador causa dano ao chefe, e então lança raios no jogador 3 vezes (uma vez por segundo), com um tempo de recarga de 60 ticks antes de poder ser ativado novamente.

Componentes do script

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

Componentes principais

  • Events - 13 tipos de eventos incluindo dano, morte, surgimento, combate e gatilhos baseados em zonas
  • Actions - 35 tipos de ações para criar comportamentos complexos
  • Targets - 17 tipos de alvos para selecionar entidades e localizações
  • Conditions - Condições de filtragem e bloqueio com múltiplos tipos de verificação
  • Zones - 8 formas de zona (esferas, cilindros, cuboides, raios, cones, etc.)
  • Cooldowns - Sistemas de tempo de recarga local e global
  • Vetores relativos - Posicionamento e movimento avançado

Casos de uso comuns

EliteScript é comumente usado para:

  • Lutas de chefe baseadas em fases: Diferentes padrões de ataque em diferentes percentuais de vida
  • Mecânicas de arena: Dano baseado em zonas, melhorias ou surgimentos em áreas específicas
  • Ataques personalizados: Efeitos de partículas únicos, projéteis e ataques em área
  • Perigos ambientais: Raios periódicos, blocos caindo ou fogo
  • Mecânicas interativas: Teletransporte, geração 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 personalizado: Adicione seções eliteScript: diretamente às configurações de chefes personalizados

Para instruções detalhadas sobre a criação de poderes e chefes personalizados, consulte:

Considerações de desempenho

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

  • Use tempos de recarga para prevenir problemas de desempenho com scripts de ativação rápida
  • Eventos baseados em zonas (ZoneEnterEvent, ZoneLeaveEvent) são computacionalmente caros - use zonas pequenas e tempos de recarga apropriados
  • Use condições de filtragem para reduzir verificações desnecessárias
  • Teste scripts completamente antes de implantá-los em servidores de produção

Próximos passos

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

  1. Revise a página de Events para entender o que pode ativar scripts
  2. Explore a página de Actions para ver quais comportamentos você pode criar
  3. Aprenda sobre Targets para controlar o que suas ações afetam
  4. Estude os exemplos em cada página de componentes
  5. Comece com scripts simples e aumente gradualmente a complexidade