Aller au contenu principal

Zones Elite Script

Les zones sont des emplacements définis par une forme qui peuvent être utilisés comme cibles par les scripteurs pour exécuter tout type d'action.

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

Pour cibler les zones, le type de cible ZONE_FULL ou ZONE_BORDER peut être utilisé.

Les zones elles-mêmes utilisent également les Cibles de Script pour définir 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 cuboïde (type cube)
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 vers deux points finaux
CONEForme de cône

Animable

Les zones avec animations démarrent l'animation de la zone lorsque le script est appelé pour la première fois.

Cela signifie que si une action a un temps d'attente, lorsque l'action démarre, la zone s'est déjà déplacée pendant que l'action attendait.

Les zones sont toujours animées à chaque tick. Cela signifie que si vous utilisez l'action SPAWN_PARTICLES, vous pouvez la configurer pour s'exécuter à chaque tick car la zone se déplacera à chaque tick. Si vous l'exécutez chaque seconde, vous verrez les particules sauter car la zone a continué à se déplacer même lors des ticks où aucune particule n'a été générée.

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

Les zones resteront à l'emplacement final une fois qu'elles auront terminé leur animation.

Toutes les zones animables sont configuré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 ou les joueurs et se déplaceront toujours par rapport à leurs points d'apparition initiaux.


Bordure

Certaines zones peuvent avoir des bordures. Les bordures signifient 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 entre la zone plus petite et la zone plus grande est 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 apparaissent uniquement dans la bordure de la zone pendant 5 secondes (repeat every 5 x times 20 = 100 ticks).

Si vous n'utilisiez pas l'option ZONE_BORDER mais plutôt l'option ZONE_FULL, alors toute la zone 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 en utilisant 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 en utilisant des particules de nuage.


CONE

CléDétailsObligatoire
shapeDéfinit la forme de la zone. Doit être CONE
targetDéfinit l'emplacement du premier point du cône
target2Définit l'emplacement du dernier point du centre du cône
filterDéfinit quels types d'entités sont ciblés
radiusRayon de la seconde cible du cône
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 cylindre en utilisant des particules de nuage. Gardez à l'esprit que cette zone est une forme de CÔNE, ce qui signifie qu'il s'agit d'un volume 3D, important à considérer si vous visez à 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 en utilisant 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, par défaut x
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, par défaut x
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 en utilisant 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
pointRadiusDéfinit l'épaisseur du rayon. Par défaut 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 en utilisant 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 pour faire apparaître le rayon depuis le 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, le temps pour la rotation
pitchPreRotationApplique une rotation initiale au tangage avant l'animation
yawPreRotationApplique une rotation initiale au lacet avant l'animation
pitchRotationDéfinit la rotation de tangage pour l'animation
yawRotationDéfinit la rotation de lacet pour l'animation
ignoresSolidBlocksDéfinit si le rayon traversera les blocs solides
pointRadiusDéfinit l'épaisseur du rayon. Par défaut 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 en utilisant des particules de nuage.

Tout d'abord, il crée un rayon du boss vers le joueur qui l'a blessé, en utilisant des particules de nuage. Ensuite, il ajuste légèrement les positions vers le haut d'un bloc en utilisant offset.

Ensuite, il fait tourner le rayon en cercle complet autour du joueur qui a été ciblé. Cette rotation dure 5 secondes (100 ticks) pour se terminer, 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, le temps pour la translation
targetDéfinit l'emplacement du premier point de la ligne
finalTargetDéfinit l'emplacement de la destination pour le premier point de la ligne
target2Définit l'emplacement du second point de la ligne
finalTarget2Définit l'emplacement de la destination pour le second point de la ligne
ignoresSolidBlocksDéfinit si le rayon traversera les blocs solides
pointRadiusDéfinit l'épaisseur du rayon. Par défaut 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 translation en utilisant des particules de nuage.

Tout d'abord, il crée un rayon du boss vers le joueur qui l'a blessé, en utilisant des particules de nuage.

Ensuite, il anime le rayon pour qu'il monte de 10 blocs depuis les deux cibles en utilisant le offset sur le FinalTarget1 et le FinalTarget2.

L'animation prend 5 secondes (100 ticks) pour se terminer.

Nous pouvons facilement faire bouger le rayon latéralement en ajustant le Z offset à quelque chose comme offset: 0,0,10:

elitescript_zones_translatingray2.gif

Ce comportement peut changer en fonction de l'endroit où vous regardez dans le jeu.
Si nous modifions le X offset dans le script montré dans l'image GIF, le rayon semblerait s'éloigner de nous en ligne droite de notre perspective.


filter

La propriété filter peut être utilisée pour cibler uniquement des entités spécifiques à l'intérieur de la zone. Ces entités peuvent être :

ValeurDétails
PLAYERCible uniquement les joueurs dans la zone (par défaut)
ELITECible uniquement 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 faire en sorte que la zone cible uniquement les élites.