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 Forma | Detalles | Animable | Borde |
|---|---|---|---|
CYLINDER | Forma cilíndrica | ❌ | ✅ |
SPHERE | Forma esférica | ❌ | ✅ |
DOME | Forma de domo (media esfera) | ❌ | ✅ |
CUBOID | Forma cuboide (similar a un cubo) | ❌ | ✅ |
STATIC_RAY | Una línea fija entre dos puntos | ❌ | ❌ |
ROTATING_RAY | Una línea giratoria entre dos puntos | ✅ | ❌ |
TRANSLATING_RAY | Una línea que se mueve entre dos puntos iniciales a dos puntos finales | ✅ | ❌ |
CONE | Forma 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

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í:

SPHERE
| Clave | Detalles | Obligatorio |
|---|---|---|
shape | Establece la forma de la zona. Debe ser SPHERE | ✅ |
target | Establece la ubicación del centro de la esfera | ✅ |
filter | Establece qué tipos de entidades serán objetivo | ❌ |
radius | Radio de la esfera | ✅ |
borderRadius | Radio 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

Este script demuestra la forma de una esfera usando partículas de nube.
DOME
| Clave | Detalles | Obligatorio |
|---|---|---|
shape | Establece la forma de la zona. Debe ser DOME | ✅ |
target | Establece la ubicación del centro del domo | ✅ |
filter | Establece qué tipos de entidades serán objetivo | ❌ |
radius | Radio del domo | ✅ |
borderRadius | Radio 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

Este script demuestra la forma de un domo usando partículas de nube.
CONE
| Clave | Detalles | Obligatorio |
|---|---|---|
shape | Establece la forma de la zona. Debe ser CONE | ✅ |
target | Establece la ubicación del primer punto del cono | ✅ |
target2 | Establece la ubicación del último punto del centro del cono | ✅ |
filter | Establece qué tipos de entidades serán objetivo | ❌ |
radius | Radio 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
| Clave | Detalles | Obligatorio |
|---|---|---|
shape | Establece la forma de la zona. Debe ser CYLINDER | ✅ |
target | Establece la ubicación del centro del cilindro | ✅ |
filter | Establece qué tipos de entidades serán objetivo | ❌ |
radius | Radio del cilindro | ✅ |
borderRadius | Radio del cilindro interno | ❌ |
height | Altura 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

Este script demuestra la forma de un cilindro usando partículas de nube.
CUBOID
| Clave | Detalles | Obligatorio |
|---|---|---|
shape | Establece la forma de la zona. Debe ser CUBOID | ✅ |
target | Establece la ubicación del centro del cuboide | ✅ |
filter | Establece qué tipos de entidades serán objetivo | ❌ |
x | Establece la longitud del cuboide | ✅ |
y | Establece la altura del cuboide | ✅ |
z | Establece el ancho del cuboide, por defecto x | ❌ |
xBorder | Establece la longitud del cuboide interno | ❌ |
yBorder | Establece la altura del cuboide interno | ❌ |
zBorder | Establece 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

Este script demuestra la forma de un cuboide usando partículas de nube.
STATIC_RAY
| Clave | Detalles | Obligatorio |
|---|---|---|
shape | Establece la forma de la zona. Debe ser STATIC_RAY | ✅ |
target | Establece la ubicación del primer punto de la línea | ✅ |
target2 | Establece la ubicación del último punto de la línea | ✅ |
filter | Establece qué tipos de entidades serán objetivo | ❌ |
ignoresSolidBlocks | Establece si el rayo pasará a través de bloques sólidos | ❌ |
pointRadius | Establece 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

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
| Clave | Detalles | Obligatorio |
|---|---|---|
shape | Establece la forma de la zona. Debe ser ROTATING_RAY | ✅ |
filter | Establece qué tipos de entidades serán objetivo | ❌ |
target | Establece la ubicación del primer punto de la línea | ✅ |
target2 | Establece la ubicación del último punto de la línea | ✅ |
animationDuration | Establece, en ticks, la cantidad de tiempo para la rotación | ✅ |
pitchPreRotation | Aplica una rotación inicial al pitch antes de la animación | ❌ |
yawPreRotation | Aplica una rotación inicial al yaw antes de la animación | ❌ |
pitchRotation | Establece la rotación de pitch para la animación | ❌ |
yawRotation | Establece la rotación de yaw para la animación | ❌ |
ignoresSolidBlocks | Establece si el rayo pasará a través de bloques sólidos | ❌ |
pointRadius | Establece 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

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
| Clave | Detalles | Obligatorio |
|---|---|---|
shape | Establece la forma de la zona. Debe ser TRANSLATING_RAY | ✅ |
filter | Establece qué tipos de entidades serán objetivo | ❌ |
animationDuration | Establece, en ticks, la cantidad de tiempo para la traslación | ✅ |
target | Establece la ubicación del primer punto de la línea | ✅ |
finalTarget | Establece la ubicación del destino para el primer punto de la línea | ✅ |
target2 | Establece la ubicación del segundo punto de la línea | ✅ |
finalTarget2 | Establece la ubicación del destino para el segundo punto de la línea | ✅ |
ignoresSolidBlocks | Establece si el rayo pasará a través de bloques sólidos | ❌ |
pointRadius | Establece 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

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:

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:
| Valor | Detalles |
|---|---|
PLAYER | Solo apunta a jugadores en la zona (por defecto) |
ELITE | Solo apunta a élites en la zona |
LIVING | Apunta 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.