Zonas do Elite Script
Zonas são locais definidos por uma forma que podem ser usados como alvos por criadores de scripts para executar qualquer tipo de ação.
Apenas uma zona pode ser definida por script.
Para visar zonas, pode usar-se o tipo de alvo ZONE_FULL ou ZONE_BORDER.
As próprias zonas também usam Alvos de Script para definir onde a zona vai 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 de cuboide | ❌ | ✅ |
STATIC_RAY | Uma linha fixa entre dois pontos | ❌ | ❌ |
ROTATING_RAY | Uma linha giratória entre dois pontos | ✅ | ❌ |
TRANSLATING_RAY | Uma linha que se move entre dois pontos iniciais e 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.
Isto significa que, se uma ação tiver um tempo de espera, quando a ação começar a zona já se andou a mover enquanto a ação estava à espera.
As zonas são sempre animadas a cada tick. Isto significa que, se usar a ação SPAWN_PARTICLES, pode definir que ela corra a cada tick, já que a zona estará a mover-se a cada tick. Se a executar a cada segundo, verá as partículas a saltar de um lado para o outro, pois a zona continuou a mover-se mesmo nos ticks em que não foram geradas partículas.
Se quiser criar uma ação de zona rotativa mas quiser esperar um determinado número de ticks antes de iniciar a ação, faça disso um script diferente e chame esse script através do RUN_SCRIPT. Certifique-se de que o RUN_SCRIPT tem o tempo de espera que deseja.
As zonas permanecerão no local final após o término da animação.
Todas as zonas animáveis estão definidas para não acompanhar (track) os alvos do script, já que o movimento extra tornaria as coisas demasiado difíceis de entender para criadores de scripts e jogadores. Isto significa que estas zonas não seguirão bosses nem jogadores e mover-se-ão sempre relativamente aos seus pontos de spawn iniciais.
Borda
Certas zonas podem ter bordas. Ter borda significa que ZONE_BORDER pode ser usado como alvo da zona. As bordas são definidas criando uma segunda forma, mais pequena, dentro da primeira forma, maior. A área entre a zona mais pequena 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 cria partículas de fumo que aparecem apenas na borda da zona durante 5 segundos (repeat de 5 x 20 = 100 ticks).
Se não tivesse usado a opção ZONE_BORDER mas sim a opção ZONE_FULL, então a zona inteira ficaria coberta de partículas de fumo, 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 que tipos de entidades são visados | ❌ |
radius | Raio da esfera | ✅ |
borderRadius | Raio da esfera interior | ❌ |
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 que tipos de entidades são visados | ❌ |
radius | Raio da cúpula | ✅ |
borderRadius | Raio da cúpula interior | ❌ |
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 ápice (ponta) do cone | ✅ |
target2 | Define a localização do centro da base do cone | ✅ |
filter | Define que tipos de entidades são visados | ❌ |
radius | Raio da base do cone | ✅ |
borderRadius | Raio do cone interior | ❌ |
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 cone usando partículas de nuvem. Tenha em mente que esta zona tem a forma CONE, ou seja, é um volume 3D — importante ter em conta se pretende criar efeitos de varrimento.
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 que tipos de entidades são visados | ❌ |
radius | Raio do cilindro | ✅ |
borderRadius | Raio do cilindro interior | ❌ |
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 que tipos de entidades são visados | ❌ |
x | Define o comprimento do cuboide | ✅ |
y | Define a altura do cuboide | ✅ |
z | Define a largura do cuboide; por predefinição, igual a x | ❌ |
xBorder | Define o comprimento do cuboide interior | ❌ |
yBorder | Define a altura do cuboide interior | ❌ |
zBorder | Define a largura do cuboide interior; por predefinição, igual a 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 que tipos de entidades são visados | ❌ |
ignoresSolidBlocks | Define se o raio atravessa blocos sólidos. Predefinição: true | ❌ |
pointRadius | Define a espessura do raio. A predefiniçã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.
We have adjusted the height of the zone by using the offset option on both ends of the zone to make the ray appear from the middle of the player and the boss, otherwise the ray would appear at their feet.
ROTATING_RAY
| Chave | Detalhes | Obrigatório |
|---|---|---|
shape | Define a forma da zona. Deve ser ROTATING_RAY | ✅ |
filter | Define que tipos de entidades são visados | ❌ |
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 duração da 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 de pitch da animação | ❌ |
yawRotation | Define a rotação de yaw da animação | ❌ |
ignoresSolidBlocks | Define se o raio atravessa blocos sólidos. Predefinição: true | ❌ |
pointRadius | Define a espessura do raio. A predefiniçã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 giratório se parece usando partículas de nuvem.
Primeiro, cria um raio do boss até ao jogador que o feriu, usando partículas de nuvem. Depois, ajusta as posições ligeiramente para cima, um bloco, usando o offset.
Em seguida, faz o raio girar num círculo completo em torno do jogador visado. Esta rotação leva 5 segundos (100 ticks) a completar-se, tendo o jogador visado como centro.
TRANSLATING_RAY
| Chave | Detalhes | Obrigatório |
|---|---|---|
shape | Define a forma da zona. Deve ser TRANSLATING_RAY | ✅ |
filter | Define que tipos de entidades são visados | ❌ |
animationDuration | Define, em ticks, a duração da translação | ✅ |
target | Define a localização do primeiro ponto da linha | ✅ |
finalTarget | Define a localização de destino do primeiro ponto da linha | ✅ |
target2 | Define a localização do segundo ponto da linha | ✅ |
finalTarget2 | Define a localização de destino do segundo ponto da linha | ✅ |
ignoresSolidBlocks | Define se o raio atravessa blocos sólidos. Predefinição: true | ❌ |
pointRadius | Define a espessura do raio. A predefiniçã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 em movimento se parece usando partículas de nuvem.
Primeiro, cria um raio do boss até ao jogador que o feriu, usando partículas de nuvem.
Depois, anima o raio para subir 10 blocos a partir de ambos os alvos, usando o offset no FinalTarget1 e no FinalTarget2.
A animação leva 5 segundos (100 ticks) a completar-se.
Podemos facilmente fazer o raio mover-se de lado ajustando o offset do Z para algo como offset: 0,0,10:

Este comportamento pode mudar dependendo da direção para onde estiver virado no jogo.
Se modificarmos o offset do X no script mostrado na imagem GIF, o raio pareceria afastar-se de nós numa linha reta, do nosso ponto de vista.
filter
A propriedade filter pode ser usada para visar apenas entidades específicas dentro da zona. Estas entidades podem ser:
| Valor | Detalhes |
|---|---|
PLAYER | Apenas mira em jogadores na zona (padrão) |
ELITE | Apenas mira em elites na zona |
LIVING | Mira em 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 script de exemplo mostra como usar o filter para fazer com que a zona vise apenas elites.