Saltar al contenido principal

Zonas de Elite Script

Las zonas son ubicaciones definidas por una forma que pueden ser usadas como objetivos por los programadores de scripts para ejecutar cualquier tipo de acción.

Solo se puede establecer una zona por script.

Para apuntar a zonas, se puede usar el tipo de objetivo ZONE_FULL o ZONE_BORDER.

Las zonas también usan Objetivos de Script para definir dónde aparecerá la zona.

shape

Establece la forma de la zona. Formas válidas:

Tipo de FormaDetallesAnimableBorde
CYLINDERForma cilíndrica
SPHEREForma esférica
DOMEForma de domo (media esfera)
CUBOIDForma cuboide (similar a un cubo)
STATIC_RAYUna línea fija entre dos puntos
ROTATING_RAYUna línea giratoria entre dos puntos
TRANSLATING_RAYUna línea que se mueve entre dos puntos iniciales a dos puntos finales
CONEForma de cono

Animable

Las zonas con animaciones inician la animación de zona cuando el script se ejecuta por primera vez.

Esto significa que si una acción tiene un tiempo de espera, cuando la acción comienza, la zona ya ha estado moviéndose mientras la acción estaba esperando.

Las zonas siempre se animan en cada tick. Esto significa que si usas la acción SPAWN_PARTICLES, puedes configurarla para que se ejecute cada tick ya que la zona se moverá cada tick. Si lo ejecutas cada segundo, verás las partículas saltando mientras la zona seguía moviéndose en los ticks donde no se generaron partículas.

Si quieres hacer una acción de zona giratoria pero quieres esperar una cantidad determinada de ticks antes de iniciar la acción, hazlo en un script diferente y llama ese script a través de RUN_SCRIPT. Asegúrate de que RUN_SCRIPT tenga el tiempo de espera que deseas.

Las zonas permanecerán en la ubicación final una vez que terminen de animarse.

Todas las zonas animables están configuradas para no rastrear los objetivos del script, ya que el movimiento adicional haría las cosas demasiado difíciles de entender para los programadores de scripts y jugadores. Esto significa que estas zonas no seguirán a los jefes o jugadores y siempre se moverán en relación con sus puntos de aparición iniciales.


Borde

Ciertas zonas pueden tener bordes. Los bordes significan que ZONE_BORDER puede usarse como el objetivo de la zona. Los bordes se definen creando una segunda forma más pequeña dentro de la primera forma más grande. El área entre la zona más pequeña y la zona más grande es el borde.

Ejemplo
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 hace que aparezcan partículas de humo que solo aparecen en el borde de la zona durante 5 segundos (repetir cada 5 x veces 20 = 100 ticks).

Si no usaste la opción ZONE_BORDER sino la opción ZONE_FULL en su lugar, toda la zona estaría cubierta de partículas de humo así:

elitescript_zones_borderfull.jpg


SPHERE

ClaveDetallesObligatorio
shapeEstablece la forma de la zona. Debe ser SPHERE
targetEstablece la ubicación del centro de la esfera
filterEstablece qué tipos de entidades serán objetivo
radiusRadio de la esfera
borderRadiusRadio de la esfera interna
Ejemplo
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 demuestra la forma de una esfera usando partículas de nube.


DOME

ClaveDetallesObligatorio
shapeEstablece la forma de la zona. Debe ser DOME
targetEstablece la ubicación del centro del domo
filterEstablece qué tipos de entidades serán objetivo
radiusRadio del domo
borderRadiusRadio del domo interno
Ejemplo
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 demuestra la forma de un domo usando partículas de nube.


CONE

ClaveDetallesObligatorio
shapeEstablece la forma de la zona. Debe ser CONE
targetEstablece la ubicación del primer punto del cono
target2Establece la ubicación del último punto del centro del cono
filterEstablece qué tipos de entidades serán objetivo
radiusRadio del segundo objetivo del cono
Ejemplo
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 demuestra la forma de un cilindro usando partículas de nube. Ten en cuenta que esta zona es una forma de CONO, lo que significa que es un volumen 3D, importante a considerar si tu objetivo es crear efectos de barrido.


CYLINDER

ClaveDetallesObligatorio
shapeEstablece la forma de la zona. Debe ser CYLINDER
targetEstablece la ubicación del centro del cilindro
filterEstablece qué tipos de entidades serán objetivo
radiusRadio del cilindro
borderRadiusRadio del cilindro interno
heightAltura del cilindro
Ejemplo
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 demuestra la forma de un cilindro usando partículas de nube.


CUBOID

ClaveDetallesObligatorio
shapeEstablece la forma de la zona. Debe ser CUBOID
targetEstablece la ubicación del centro del cuboide
filterEstablece qué tipos de entidades serán objetivo
xEstablece la longitud del cuboide
yEstablece la altura del cuboide
zEstablece el ancho del cuboide, por defecto x
xBorderEstablece la longitud del cuboide interno
yBorderEstablece la altura del cuboide interno
zBorderEstablece el ancho del cuboide interno, por defecto x
Ejemplo
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 demuestra la forma de un cuboide usando partículas de nube.


STATIC_RAY

ClaveDetallesObligatorio
shapeEstablece la forma de la zona. Debe ser STATIC_RAY
targetEstablece la ubicación del primer punto de la línea
target2Establece la ubicación del último punto de la línea
filterEstablece qué tipos de entidades serán objetivo
ignoresSolidBlocksEstablece si el rayo pasará a través de bloques sólidos
pointRadiusEstablece el grosor del rayo. Por defecto es 0.5 bloques.
Ejemplo
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 demuestra la forma de un rayo estático usando partículas de nube.

Hemos ajustado la altura de la zona usando la opción offset en ambos extremos de la zona para hacer que el rayo aparezca desde el centro del jugador y el jefe, de lo contrario el rayo aparecería a sus pies.


ROTATING_RAY

ClaveDetallesObligatorio
shapeEstablece la forma de la zona. Debe ser ROTATING_RAY
filterEstablece qué tipos de entidades serán objetivo
targetEstablece la ubicación del primer punto de la línea
target2Establece la ubicación del último punto de la línea
animationDurationEstablece, en ticks, la cantidad de tiempo para la rotación
pitchPreRotationAplica una rotación inicial al pitch antes de la animación
yawPreRotationAplica una rotación inicial al yaw antes de la animación
pitchRotationEstablece la rotación de pitch para la animación
yawRotationEstablece la rotación de yaw para la animación
ignoresSolidBlocksEstablece si el rayo pasará a través de bloques sólidos
pointRadiusEstablece el grosor del rayo. Por defecto es 0.5 bloques.
Ejemplo
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 muestra cómo se ve un rayo giratorio usando partículas de nube.

Primero, crea un rayo desde el jefe hasta el jugador que lo dañó, usando partículas de nube. Luego, ajusta las posiciones ligeramente hacia arriba un bloque usando offset.

A continuación, gira el rayo en un círculo completo alrededor del jugador objetivo. Esta rotación dura 5 segundos (100 ticks) para completarse, con el jugador objetivo como el centro.


TRANSLATING_RAY

ClaveDetallesObligatorio
shapeEstablece la forma de la zona. Debe ser TRANSLATING_RAY
filterEstablece qué tipos de entidades serán objetivo
animationDurationEstablece, en ticks, la cantidad de tiempo para la traslación
targetEstablece la ubicación del primer punto de la línea
finalTargetEstablece la ubicación del destino para el primer punto de la línea
target2Establece la ubicación del segundo punto de la línea
finalTarget2Establece la ubicación del destino para el segundo punto de la línea
ignoresSolidBlocksEstablece si el rayo pasará a través de bloques sólidos
pointRadiusEstablece el grosor del rayo. Por defecto es 0.5 bloques.
Ejemplo
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 muestra cómo se ve un rayo trasladante usando partículas de nube.

Primero, crea un rayo desde el jefe hasta el jugador que lo dañó, usando partículas de nube.

Luego, anima el rayo para que suba 10 bloques desde ambos objetivos usando el offset en FinalTarget1 y FinalTarget2.

La animación toma 5 segundos (100 ticks) para completarse.

Podemos hacer fácilmente que el rayo se mueva lateralmente ajustando el offset de Z a algo como offset: 0,0,10:

elitescript_zones_translatingray2.gif

Este comportamiento podría cambiar dependiendo de dónde estés mirando en el juego.
Si modificamos el offset de X en el script mostrado en la imagen GIF, el rayo parecería moverse alejándose de nosotros en línea recta desde nuestra perspectiva.


filter

La propiedad filter puede usarse para apuntar solo a entidades específicas dentro de la zona. Estas entidades pueden ser:

ValorDetalles
PLAYERSolo apunta a jugadores en la zona (por defecto)
ELITESolo apunta a élites en la zona
LIVINGApunta a todas las entidades vivas en la zona
Ejemplo
eliteScript:
FilterExample:
Events:
- PlayerDamagedByEliteMobEvent
Zone:
shape: SPHERE
radius: 12
borderRadius: 11
filter: ELITE
Target:
targetType: SELF
track: false

Este script de ejemplo muestra cómo usar el filtro para hacer que la zona solo apunte a élites.