EliteScript
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:
- Arquivos de poder: Crie arquivos
.ymlindependentes em~/plugins/EliteMobs/powers/ - 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:
- Revise a página de Events para entender o que pode ativar scripts
- Explore a página de Actions para ver quais comportamentos você pode criar
- Aprenda sobre Targets para controlar o que suas ações afetam
- Estude os exemplos em cada página de componentes
- Comece com scripts simples e aumente gradualmente a complexidade
