Zonas do Elite Script
As zonas são localizações definidas por uma forma que podem ser usadas como alvos por programadores de scripts para executar qualquer tipo de ação.
Apenas uma zona pode ser definida por script.
Para segmentar zonas, o tipo de alvo ZONE_FULL ou ZONE_BORDER pode ser usado.
As próprias zonas também usam Alvos de Script para definir onde a zona aparecerá.
shape
Define a forma da zona. Formas válidas:
| Tipo de Forma | Detalhes | Animável | Borda |
|---|---|---|---|
CYLINDER | Forma cilíndrica | ❌ | ✅ |
SPHERE | Forma esférica | ❌ | ✅ |
DOME | Forma de cúpula (meia esfera) | ❌ | ✅ |
CUBOID | Forma cuboide (semelhante a um cubo) | ❌ | ✅ |
STATIC_RAY | Uma linha fixa entre dois pontos | ❌ | ❌ |
ROTATING_RAY | Uma linha rotativa entre dois pontos | ✅ | ❌ |
TRANSLATING_RAY | Uma linha que se move entre dois pontos iniciais até dois pontos finais | ✅ | ❌ |
CONE | Forma de cone | ❌ | ❌ |
Animável
Zonas com animações iniciam a animação da zona quando o script é chamado pela primeira vez.
Isso significa que se uma ação tiver um tempo de espera, quando a ação começar, a zona já estará se movendo enquanto a ação estava esperando.
As zonas são sempre animadas a cada tick. Isso significa que se você usar a ação SPAWN_PARTICLES, pode configurá-la para executar a cada tick, pois a zona estará se movendo a cada tick. Se você executar a cada segundo, verá as partículas pulando enquanto a zona continuou se movendo mesmo nos ticks em que as partículas não foram geradas.
Se você quiser fazer uma ação de zona rotativa, mas quiser esperar um número definido de ticks antes de iniciar a ação, faça isso em um script diferente e chame esse script através de RUN_SCRIPT. Certifique-se de que o RUN_SCRIPT tenha o tempo de espera que você deseja.
As zonas permanecerão na localização final depois de terminarem de animar.
Todas as zonas animáveis são configuradas para não rastrear os alvos do script, já que o movimento extra tornaria as coisas muito difíceis de entender para os programadores de scripts e jogadores. Isso significa que essas zonas não seguirão chefes ou jogadores e sempre se moverão em relação aos seus pontos de geração iniciais.
Borda
Certas zonas podem ter bordas. Bordas significam que ZONE_BORDER pode ser usado como o alvo da zona. As bordas são definidas criando uma segunda forma menor dentro da primeira forma maior. A área entre a zona menor e a zona maior é a borda.
Exemplo
eliteScript:
Example:
Events:
- EliteMobDamagedByPlayerEvent
Zone:
shape: CYLINDER
radius: 4
borderRadius: 3
height: 8
Target:
targetType: SELF
Actions:
- action: SPAWN_PARTICLE
particles:
- particle: SMOKE_LARGE
Target:
targetType: ZONE_BORDER
repeatEvery: 5
times: 20

Este script faz partículas de fumaça que aparecem apenas na borda da zona por 5 segundos (repetir a cada 5 x vezes 20 = 100 ticks).
Se você não usasse a opção ZONE_BORDER, mas sim a opção ZONE_FULL, toda a zona seria coberta com partículas de fumaça assim:

SPHERE
| Chave | Detalhes | Obrigatório |
|---|---|---|
shape | Define a forma da zona. Deve ser SPHERE | ✅ |
target | Define a localização do centro da esfera | ✅ |
filter | Define quais tipos de entidades são segmentadas | ❌ |
radius | Raio da esfera | ✅ |
borderRadius | Raio da esfera interna | ❌ |
Exemplo
eliteScript:
Example:
Events:
- EliteMobDamagedByPlayerEvent
Zone:
shape: SPHERE
radius: 4
borderRadius: 3
Target:
targetType: SELF
Actions:
- action: SPAWN_PARTICLE
particles:
- particle: CLOUD
Target:
targetType: ZONE_FULL
repeatEvery: 5
times: 20

Este script demonstra a forma de uma esfera usando partículas de nuvem.
DOME
| Chave | Detalhes | Obrigatório |
|---|---|---|
shape | Define a forma da zona. Deve ser DOME | ✅ |
target | Define a localização do centro da cúpula | ✅ |
filter | Define quais tipos de entidades são segmentadas | ❌ |
radius | Raio da cúpula | ✅ |
borderRadius | Raio da cúpula interna | ❌ |
Exemplo
eliteScript:
Example:
Events:
- EliteMobDamagedByPlayerEvent
Zone:
shape: DOME
radius: 4
borderRadius: 3
Target:
targetType: SELF
Actions:
- action: SPAWN_PARTICLE
particles:
- particle: CLOUD
Target:
targetType: ZONE_FULL
repeatEvery: 5
times: 20

Este script demonstra a forma de uma cúpula usando partículas de nuvem.
CONE
| Chave | Detalhes | Obrigatório |
|---|---|---|
shape | Define a forma da zona. Deve ser CONE | ✅ |
target | Define a localização do primeiro ponto do cone | ✅ |
target2 | Define a localização do último ponto do centro do cone | ✅ |
filter | Define quais tipos de entidades são segmentadas | ❌ |
radius | Raio do segundo alvo do cone | ✅ |
Exemplo
eliteScript:
Example:
Events:
- EliteMobDamagedByPlayerEvent
Zone:
shape: CONE
radius: 10
Target:
targetType: SELF
offset: 0,0,0
Target2:
targetType: SELF
offset: 0,10,0
Actions:
- action: SPAWN_PARTICLE
particles:
- particle: CLOUD
Target:
targetType: ZONE_FULL
coverage: 0.8
repeatEvery: 5
times: 20
Este script demonstra a forma de um cilindro usando partículas de nuvem. Tenha em mente que esta zona é uma forma de CONE, o que significa que é um volume 3D, importante a considerar se você está pretendendo criar efeitos de varredura.
CYLINDER
| Chave | Detalhes | Obrigatório |
|---|---|---|
shape | Define a forma da zona. Deve ser CYLINDER | ✅ |
target | Define a localização do centro do cilindro | ✅ |
filter | Define quais tipos de entidades são segmentadas | ❌ |
radius | Raio do cilindro | ✅ |
borderRadius | Raio do cilindro interno | ❌ |
height | Altura do cilindro | ❌ |
Exemplo
eliteScript:
Example:
Events:
- EliteMobDamagedByPlayerEvent
Zone:
shape: CYLINDER
radius: 4
borderRadius: 3
height: 8
Target:
targetType: SELF
Actions:
- action: SPAWN_PARTICLE
particles:
- particle: CLOUD
Target:
targetType: ZONE_FULL
repeatEvery: 5
times: 20

Este script demonstra a forma de um cilindro usando partículas de nuvem.
CUBOID
| Chave | Detalhes | Obrigatório |
|---|---|---|
shape | Define a forma da zona. Deve ser CUBOID | ✅ |
target | Define a localização do centro do cuboide | ✅ |
filter | Define quais tipos de entidades são segmentadas | ❌ |
x | Define o comprimento do cuboide | ✅ |
y | Define a altura do cuboide | ✅ |
z | Define a largura do cuboide, padrão é x | ❌ |
xBorder | Define o comprimento do cuboide interno | ❌ |
yBorder | Define a altura do cuboide interno | ❌ |
zBorder | Define a largura do cuboide interno, padrão é x | ❌ |
Exemplo
eliteScript:
Example:
Events:
- EliteMobDamagedByPlayerEvent
Zone:
shape: CUBOID
x: 4
y: 4
z: 4
xBorder: 3
yBorder: 3
zBorder: 3
Target:
targetType: SELF
Actions:
- action: SPAWN_PARTICLE
particles:
- particle: CLOUD
Target:
targetType: ZONE_FULL
repeatEvery: 5
times: 20

Este script demonstra a forma de um cuboide usando partículas de nuvem.
STATIC_RAY
| Chave | Detalhes | Obrigatório |
|---|---|---|
shape | Define a forma da zona. Deve ser STATIC_RAY | ✅ |
target | Define a localização do primeiro ponto da linha | ✅ |
target2 | Define a localização do último ponto da linha | ✅ |
filter | Define quais tipos de entidades são segmentadas | ❌ |
ignoresSolidBlocks | Define se o raio passará através de blocos sólidos | ❌ |
pointRadius | Define a espessura do raio. O padrão é 0,5 blocos. | ❌ |
Exemplo
eliteScript:
Example:
Events:
- EliteMobDamagedByPlayerEvent
Zone:
shape: STATIC_RAY
Target2:
targetType: DIRECT_TARGET
offset: 0,1,0
Target:
targetType: SELF
offset: 0,1,0
Actions:
- action: SPAWN_PARTICLE
particles:
- particle: CLOUD
Target:
targetType: ZONE_FULL
repeatEvery: 5
times: 20

Este script demonstra a forma de um raio estático usando partículas de nuvem.
Ajustamos a altura da zona usando a opção offset em ambas as extremidades da zona para fazer o raio aparecer do meio do jogador e do chefe, caso contrário, o raio apareceria aos seus pés.
ROTATING_RAY
| Chave | Detalhes | Obrigatório |
|---|---|---|
shape | Define a forma da zona. Deve ser ROTATING_RAY | ✅ |
filter | Define quais tipos de entidades são segmentadas | ❌ |
target | Define a localização do primeiro ponto da linha | ✅ |
target2 | Define a localização do último ponto da linha | ✅ |
animationDuration | Define, em ticks, a quantidade de tempo para a rotação | ✅ |
pitchPreRotation | Aplica uma rotação inicial ao pitch antes da animação | ❌ |
yawPreRotation | Aplica uma rotação inicial ao yaw antes da animação | ❌ |
pitchRotation | Define a rotação do pitch para a animação | ❌ |
yawRotation | Define a rotação do yaw para a animação | ❌ |
ignoresSolidBlocks | Define se o raio passará através de blocos sólidos | ❌ |
pointRadius | Define a espessura do raio. O padrão é 0,5 blocos. | ❌ |
Exemplo
eliteScript:
Example:
Events:
- EliteMobDamagedByPlayerEvent
Zone:
shape: ROTATING_RAY
animationDuration: 100
pitchPrerotation: 0
yawPrerotation: 0
pitchRotation: 0
yawRotation: 360
ignoresSolidBlocks: true
Target:
targetType: SELF
offset: 0,1,0
Target2:
targetType: DIRECT_TARGET
offset: 0,1,0
Actions:
- action: SPAWN_PARTICLE
particles:
- particle: CLOUD
Target:
targetType: ZONE_FULL
repeatEvery: 1
times: 100

Este script mostra como um raio rotativo se parece usando partículas de nuvem.
Primeiro, ele cria um raio do chefe para o jogador que o feriu, usando partículas de nuvem. Em seguida, ajusta as posições ligeiramente para cima em um bloco usando offset.
Depois, ele gira o raio em um círculo completo ao redor do jogador que foi alvo. Esta rotação leva 5 segundos (100 ticks) para completar, com o jogador alvo como o centro.
TRANSLATING_RAY
| Chave | Detalhes | Obrigatório |
|---|---|---|
shape | Define a forma da zona. Deve ser TRANSLATING_RAY | ✅ |
filter | Define quais tipos de entidades são segmentadas | ❌ |
animationDuration | Define, em ticks, a quantidade de tempo para a translação | ✅ |
target | Define a localização do primeiro ponto da linha | ✅ |
finalTarget | Define a localização do destino para o primeiro ponto da linha | ✅ |
target2 | Define a localização do segundo ponto da linha | ✅ |
finalTarget2 | Define a localização do destino para o segundo ponto da linha | ✅ |
ignoresSolidBlocks | Define se o raio passará através de blocos sólidos | ❌ |
pointRadius | Define a espessura do raio. O padrão é 0,5 blocos. | ❌ |
Exemplo
eliteScript:
Example:
Events:
- EliteMobDamagedByPlayerEvent
Zone:
shape: TRANSLATING_RAY
Target:
targetType: SELF
FinalTarget:
targetType: SELF
offset: 0,10,0
Target2:
targetType: DIRECT_TARGET
FinalTarget2:
targetType: DIRECT_TARGET
offset: 0,10,0
animationDuration: 100
ignoresSolidBlocks: true
Actions:
- action: SPAWN_PARTICLE
particles:
- particle: CLOUD
Target:
targetType: ZONE_FULL
repeatEvery: 1
times: 100

Este script mostra como um raio de translação se parece usando partículas de nuvem.
Primeiro, ele cria um raio do chefe para o jogador que o feriu, usando partículas de nuvem.
Em seguida, ele anima o raio para subir 10 blocos a partir de ambos os alvos usando o offset no FinalTarget1 e FinalTarget2.
A animação leva 5 segundos (100 ticks) para completar.
Podemos facilmente fazer o raio se mover lateralmente ajustando o offset Z para algo como offset: 0,0,10:

Este comportamento pode mudar dependendo de para onde você está olhando no jogo.
Se modificarmos o offset X no script mostrado na imagem GIF, o raio pareceria se afastar de nós em uma linha reta da nossa perspectiva.
filter
A propriedade filter pode ser usada para segmentar apenas entidades específicas dentro da zona. Essas entidades podem ser:
| Valor | Detalhes |
|---|---|
PLAYER | Segmenta apenas jogadores na zona (padrão) |
ELITE | Segmenta apenas elites na zona |
LIVING | Segmenta todas as entidades vivas na zona |
Exemplo
eliteScript:
FilterExample:
Events:
- PlayerDamagedByEliteMobEvent
Zone:
shape: SPHERE
radius: 12
borderRadius: 11
filter: ELITE
Target:
targetType: SELF
track: false
Este exemplo de script mostra como usar o filtro para fazer a zona segmentar apenas elites.