Aller au contenu principal

Zones Elite Script

Les zones sont des emplacements définis par une forme pouvant servir de cibles aux scripteurs pour exécuter tout type d’action.

Une seule zone peut être définie par script.

Pour cibler des zones, les types de cible ZONE_FULL ou ZONE_BORDER peuvent être utilisés.

Les zones elles-mêmes utilisent également des cibles de script pour définir l'endroit où la zone apparaîtra.

shape

Définit la forme de la zone. Formes valides :

Type de formeDétailsAnimableBordure
CYLINDERForme cylindrique
SPHEREForme sphérique
DOMEForme de dôme (demi-sphère)
CUBOIDForme de cuboïde
STATIC_RAYUne ligne fixe entre deux points
ROTATING_RAYUne ligne rotative entre deux points
TRANSLATING_RAYUne ligne qui se déplace entre deux points initiaux et deux points finaux
CONEForme de cône

Animable

Les zones avec animations démarrent l’animation de la zone lors du premier appel du script.

Cela signifie que si une action possède un temps d’attente, la zone s’est déjà déplacée pendant que l’action attendait, avant même que celle-ci ne démarre.

Les zones sont toujours animées à chaque tick. Cela signifie que si vous utilisez l’action SPAWN_PARTICLES, vous pouvez la régler pour qu’elle s’exécute à chaque tick puisque la zone se déplacera à chaque tick. Si vous l’exécutez chaque seconde, vous verrez les particules sauter d’un endroit à l’autre car la zone a continué de bouger même durant les ticks où aucune particule n’a été générée.

Si vous souhaitez créer une action de zone rotative mais attendre un certain nombre de ticks avant de démarrer l’action, faites-en un script distinct et appelez ce script via RUN_SCRIPT. Assurez-vous que le RUN_SCRIPT comporte le temps d’attente souhaité.

Les zones resteront à l’emplacement final une fois l’animation terminée.

Toutes les zones animables sont réglées pour ne pas suivre les cibles du script, car le mouvement supplémentaire rendrait les choses trop difficiles à comprendre pour les scripteurs et les joueurs. Cela signifie que ces zones ne suivront pas les boss ni les joueurs et se déplaceront toujours par rapport à leur point d’apparition initial.


Bordure

Certaines zones peuvent avoir des bordures. Une bordure signifie que ZONE_BORDER peut être utilisé comme cible de la zone. Les bordures sont définies en créant une seconde forme, plus petite, à l’intérieur de la première forme, plus grande. La zone comprise entre la petite zone et la grande zone constitue la bordure.

Exemple
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

Ce script crée des particules de fumée qui n’apparaissent que dans la bordure de la zone pendant 5 secondes (repeatEvery 5 x times 20 = 100 ticks).

Si vous n’aviez pas utilisé l’option ZONE_BORDER mais l’option ZONE_FULL à la place, la zone entière serait couverte de particules de fumée, comme ceci :

elitescript_zones_borderfull.jpg


SPHERE

CléDétailsObligatoire
shapeDéfinit la forme de la zone. Doit être SPHERE
targetDéfinit l’emplacement du centre de la sphère
filterDéfinit quels types d’entités sont ciblés
radiusRayon de la sphère
borderRadiusRayon de la sphère intérieure
Exemple
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

Ce script démontre la forme d’une sphère avec des particules de nuage.


DOME

CléDétailsObligatoire
shapeDéfinit la forme de la zone. Doit être DOME
targetDéfinit l’emplacement du centre du dôme
filterDéfinit quels types d’entités sont ciblés
radiusRayon du dôme
borderRadiusRayon du dôme intérieur
Exemple
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

Ce script démontre la forme d’un dôme avec des particules de nuage.


CONE

CléDétailsObligatoire
shapeDéfinit la forme de la zone. Doit être CONE
targetDéfinit l’emplacement de l’apex (la pointe) du cône
target2Définit l’emplacement du centre de la base du cône
filterDéfinit quels types d’entités sont ciblés
radiusRayon de la base du cône
borderRadiusRayon du cône intérieur
Exemple
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

Ce script démontre la forme d’un cône avec des particules de nuage. Gardez à l’esprit que cette zone est une forme CONE, c’est-à-dire un volume en 3D, un point important à considérer si vous cherchez à créer des effets de balayage.


CYLINDER

CléDétailsObligatoire
shapeDéfinit la forme de la zone. Doit être CYLINDER
targetDéfinit l’emplacement du centre du cylindre
filterDéfinit quels types d’entités sont ciblés
radiusRayon du cylindre
borderRadiusRayon du cylindre intérieur
heightHauteur du cylindre
Exemple
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

Ce script démontre la forme d’un cylindre avec des particules de nuage.


CUBOID

CléDétailsObligatoire
shapeDéfinit la forme de la zone. Doit être CUBOID
targetDéfinit l’emplacement du centre du cuboïde
filterDéfinit quels types d’entités sont ciblés
xDéfinit la longueur du cuboïde
yDéfinit la hauteur du cuboïde
zDéfinit la largeur du cuboïde, vaut x par défaut
xBorderDéfinit la longueur du cuboïde intérieur
yBorderDéfinit la hauteur du cuboïde intérieur
zBorderDéfinit la largeur du cuboïde intérieur, vaut x par défaut
Exemple
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

Ce script démontre la forme d’un cuboïde avec des particules de nuage.


STATIC_RAY

CléDétailsObligatoire
shapeDéfinit la forme de la zone. Doit être STATIC_RAY
targetDéfinit l’emplacement du premier point de la ligne
target2Définit l’emplacement du dernier point de la ligne
filterDéfinit quels types d’entités sont ciblés
ignoresSolidBlocksDéfinit si le rayon traversera les blocs solides. Vaut true par défaut
pointRadiusDéfinit l’épaisseur du rayon. La valeur par défaut est 0.5 bloc.
Exemple
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

Ce script démontre la forme d’un rayon statique avec des particules de nuage.

Nous avons ajusté la hauteur de la zone en utilisant l’option offset aux deux extrémités de la zone afin que le rayon parte du milieu du joueur et du boss ; sinon, le rayon apparaîtrait à leurs pieds.


ROTATING_RAY

CléDétailsObligatoire
shapeDéfinit la forme de la zone. Doit être ROTATING_RAY
filterDéfinit quels types d’entités sont ciblés
targetDéfinit l’emplacement du premier point de la ligne
target2Définit l’emplacement du dernier point de la ligne
animationDurationDéfinit, en ticks, la durée de la rotation
pitchPreRotationApplique une rotation initiale au pitch avant l’animation
yawPreRotationApplique une rotation initiale au yaw avant l’animation
pitchRotationDéfinit la rotation du pitch pour l’animation
yawRotationDéfinit la rotation du yaw pour l’animation
ignoresSolidBlocksDéfinit si le rayon traversera les blocs solides. Vaut true par défaut
pointRadiusDéfinit l’épaisseur du rayon. La valeur par défaut est 0.5 bloc.
Exemple
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

Ce script montre à quoi ressemble un rayon rotatif avec des particules de nuage.

D’abord, il crée un rayon allant du boss jusqu’au joueur qui l’a blessé, avec des particules de nuage. Ensuite, il ajuste légèrement les positions vers le haut d’un bloc à l’aide d’offset.

Puis il fait tourner le rayon en un cercle complet autour du joueur ciblé. Cette rotation prend 5 secondes (100 ticks) pour s’achever, avec le joueur ciblé comme centre.


TRANSLATING_RAY

CléDétailsObligatoire
shapeDéfinit la forme de la zone. Doit être TRANSLATING_RAY
filterDéfinit quels types d’entités sont ciblés
animationDurationDéfinit, en ticks, la durée de la translation
targetDéfinit l’emplacement du premier point de la ligne
finalTargetDéfinit l’emplacement de destination du premier point de la ligne
target2Définit l’emplacement du deuxième point de la ligne
finalTarget2Définit l’emplacement de destination du deuxième point de la ligne
ignoresSolidBlocksDéfinit si le rayon traversera les blocs solides. Vaut true par défaut
pointRadiusDéfinit l’épaisseur du rayon. La valeur par défaut est 0.5 bloc.
Exemple
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

Ce script montre à quoi ressemble un rayon en mouvement avec des particules de nuage.

D’abord, il crée un rayon allant du boss jusqu’au joueur qui l’a blessé, avec des particules de nuage.

Ensuite, il anime le rayon pour qu’il monte de 10 blocs depuis les deux cibles, à l’aide de l’offset sur FinalTarget1 et FinalTarget2.

L’animation prend 5 secondes (100 ticks) pour s’achever.

Nous pouvons facilement faire se déplacer le rayon latéralement en réglant l’offset en Z sur quelque chose comme offset: 0,0,10 :

elitescript_zones_translatingray2.gif

Ce comportement peut changer selon la direction vers laquelle vous êtes tourné dans le jeu.
Si nous modifions l’offset en X dans le script montré dans l’image GIF, le rayon semblerait s’éloigner de nous en ligne droite de notre point de vue.


filter

La propriété filter peut être utilisée pour ne cibler que certaines entités à l’intérieur de la zone. Ces entités peuvent être :

ValeurDétails
PLAYERNe cible que les joueurs dans la zone (par défaut)
ELITENe cible que les élites dans la zone
LIVINGCible toutes les entités vivantes dans la zone
Exemple
eliteScript:
FilterExample:
Events:
- PlayerDamagedByEliteMobEvent
Zone:
shape: SPHERE
radius: 12
borderRadius: 11
filter: ELITE
Target:
targetType: SELF
track: false

Cet exemple de script montre comment utiliser le filtre pour que la zone ne cible que les élites.