Pular para o conteúdo principal

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 FormaDetalhesAnimávelBorda
CYLINDERForma cilíndrica
SPHEREForma esférica
DOMEForma de cúpula (meia esfera)
CUBOIDForma cuboide (semelhante a um cubo)
STATIC_RAYUma linha fixa entre dois pontos
ROTATING_RAYUma linha rotativa entre dois pontos
TRANSLATING_RAYUma linha que se move entre dois pontos iniciais até dois pontos finais
CONEForma 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

elitescript_zones_border.jpg

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:

elitescript_zones_borderfull.jpg


SPHERE

ChaveDetalhesObrigatório
shapeDefine a forma da zona. Deve ser SPHERE
targetDefine a localização do centro da esfera
filterDefine quais tipos de entidades são segmentadas
radiusRaio da esfera
borderRadiusRaio 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

elitescript_zones_sphere.jpg

Este script demonstra a forma de uma esfera usando partículas de nuvem.


DOME

ChaveDetalhesObrigatório
shapeDefine a forma da zona. Deve ser DOME
targetDefine a localização do centro da cúpula
filterDefine quais tipos de entidades são segmentadas
radiusRaio da cúpula
borderRadiusRaio 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

elitescript_zones_dome.jpg

Este script demonstra a forma de uma cúpula usando partículas de nuvem.


CONE

ChaveDetalhesObrigatório
shapeDefine a forma da zona. Deve ser CONE
targetDefine a localização do primeiro ponto do cone
target2Define a localização do último ponto do centro do cone
filterDefine quais tipos de entidades são segmentadas
radiusRaio 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

ChaveDetalhesObrigatório
shapeDefine a forma da zona. Deve ser CYLINDER
targetDefine a localização do centro do cilindro
filterDefine quais tipos de entidades são segmentadas
radiusRaio do cilindro
borderRadiusRaio do cilindro interno
heightAltura 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

elitescript_zones_cylinder.jpg

Este script demonstra a forma de um cilindro usando partículas de nuvem.


CUBOID

ChaveDetalhesObrigatório
shapeDefine a forma da zona. Deve ser CUBOID
targetDefine a localização do centro do cuboide
filterDefine quais tipos de entidades são segmentadas
xDefine o comprimento do cuboide
yDefine a altura do cuboide
zDefine a largura do cuboide, padrão é x
xBorderDefine o comprimento do cuboide interno
yBorderDefine a altura do cuboide interno
zBorderDefine 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

elitescript_zones_cuboid.jpg

Este script demonstra a forma de um cuboide usando partículas de nuvem.


STATIC_RAY

ChaveDetalhesObrigatório
shapeDefine a forma da zona. Deve ser STATIC_RAY
targetDefine a localização do primeiro ponto da linha
target2Define a localização do último ponto da linha
filterDefine quais tipos de entidades são segmentadas
ignoresSolidBlocksDefine se o raio passará através de blocos sólidos
pointRadiusDefine 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

elitescript_zones_staticray.jpg

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

ChaveDetalhesObrigatório
shapeDefine a forma da zona. Deve ser ROTATING_RAY
filterDefine quais tipos de entidades são segmentadas
targetDefine a localização do primeiro ponto da linha
target2Define a localização do último ponto da linha
animationDurationDefine, em ticks, a quantidade de tempo para a rotação
pitchPreRotationAplica uma rotação inicial ao pitch antes da animação
yawPreRotationAplica uma rotação inicial ao yaw antes da animação
pitchRotationDefine a rotação do pitch para a animação
yawRotationDefine a rotação do yaw para a animação
ignoresSolidBlocksDefine se o raio passará através de blocos sólidos
pointRadiusDefine 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

elitescript_zones_rotatingray.gif

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

ChaveDetalhesObrigatório
shapeDefine a forma da zona. Deve ser TRANSLATING_RAY
filterDefine quais tipos de entidades são segmentadas
animationDurationDefine, em ticks, a quantidade de tempo para a translação
targetDefine a localização do primeiro ponto da linha
finalTargetDefine a localização do destino para o primeiro ponto da linha
target2Define a localização do segundo ponto da linha
finalTarget2Define a localização do destino para o segundo ponto da linha
ignoresSolidBlocksDefine se o raio passará através de blocos sólidos
pointRadiusDefine 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

elitescript_zones_translatingray.gif

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:

elitescript_zones_translatingray2.gif

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:

ValorDetalhes
PLAYERSegmenta apenas jogadores na zona (padrão)
ELITESegmenta apenas elites na zona
LIVINGSegmenta 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.