Zum Hauptinhalt springen

Elite Script Zonen

Zonen sind Bereiche, die durch eine Form definiert werden und von Scriptern als Ziele verwendet werden können, um beliebige Aktionen auszuführen.

Pro Skript kann nur eine Zone festgelegt werden.

Um Zonen anzusprechen, kann der Zieltyp ZONE_FULL oder ZONE_BORDER verwendet werden.

Zonen selbst verwenden ebenfalls Script Targets, um festzulegen, wo die Zone erscheinen wird.

shape

Legt die Form der Zone fest. Gültige Formen:

Form-TypDetailsAnimierbarRand
CYLINDERZylindrische Form
SPHEREKugelförmige Form
DOMEKuppelform (Halbkugel)
CUBOIDQuaderform (würfelähnlich)
STATIC_RAYEine feste Linie zwischen zwei Punkten
ROTATING_RAYEine rotierende Linie zwischen zwei Punkten
TRANSLATING_RAYEine Linie, die sich von zwei Anfangspunkten zu zwei Endpunkten bewegt
CONEKegelform

Animierbar

Zonen mit Animationen starten die Zonenanimation, wenn das Skript zum ersten Mal aufgerufen wird.

Das bedeutet, dass wenn eine Aktion eine Wartezeit hat, sich die Zone bereits bewegt hat, während die Aktion gewartet hat, wenn die Aktion startet.

Zonen werden immer in jedem Tick animiert. Das bedeutet, dass wenn Sie die Aktion SPAWN_PARTICLES verwenden, Sie sie so einstellen können, dass sie jeden Tick ausgeführt wird, da sich die Zone jeden Tick bewegt. Wenn Sie jede Sekunde ausführen, werden Sie sehen, dass die Partikel herumspringen, da sich die Zone auch in Ticks weiterbewegt hat, in denen keine Partikel erzeugt wurden.

Wenn Sie eine rotierende Zonenaktion erstellen möchten, aber eine bestimmte Anzahl von Ticks warten möchten, bevor die Aktion startet, machen Sie das zu einem anderen Skript und rufen Sie dieses Skript über RUN_SCRIPT auf. Stellen Sie sicher, dass RUN_SCRIPT die gewünschte Wartezeit hat.

Zonen bleiben an der finalen Position, sobald sie mit der Animation fertig sind.

Alle animierbaren Zonen sind so eingestellt, dass sie die Skript-Ziele nicht verfolgen, da die zusätzliche Bewegung für Scripter und Spieler zu schwer verständlich wäre. Das bedeutet, dass diese Zonen weder Bossen noch Spielern folgen und sich immer relativ zu ihren ursprünglichen Spawn-Punkten bewegen.


Rand

Bestimmte Zonen können Ränder haben. Ränder bedeuten, dass ZONE_BORDER als Ziel der Zone verwendet werden kann. Ränder werden definiert, indem eine zweite, kleinere Form innerhalb der ersten, größeren Form erstellt wird. Der Bereich zwischen der kleineren Zone und der größeren Zone ist der Rand.

Beispiel
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

Dieses Skript erzeugt Rauchpartikel, die nur im Zonenrand für 5 Sekunden erscheinen (repeatEvery 5 x times 20 = 100 Ticks).

Wenn Sie nicht die Option ZONE_BORDER, sondern stattdessen die Option ZONE_FULL verwenden würden, wäre die gesamte Zone mit Rauchpartikeln bedeckt, wie hier:

elitescript_zones_borderfull.jpg


SPHERE

SchlüsselDetailsErforderlich
shapeLegt die Form der Zone fest. Sollte SPHERE sein
targetLegt den Standort für das Zentrum der Kugel fest
filterLegt fest, welche Arten von Entitäten anvisiert werden
radiusRadius der Kugel
borderRadiusRadius der inneren Kugel
Beispiel
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

Dieses Skript demonstriert die Form einer Kugel mithilfe von Wolkenpartikeln.


DOME

SchlüsselDetailsErforderlich
shapeLegt die Form der Zone fest. Sollte DOME sein
targetLegt den Standort für das Zentrum der Kuppel fest
filterLegt fest, welche Arten von Entitäten anvisiert werden
radiusRadius der Kuppel
borderRadiusRadius der inneren Kuppel
Beispiel
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

Dieses Skript demonstriert die Form einer Kuppel mithilfe von Wolkenpartikeln.


CONE

SchlüsselDetailsErforderlich
shapeLegt die Form der Zone fest. Sollte CONE sein
targetLegt den Standort für den ersten Punkt des Kegels fest
target2Legt den Standort für den letzten Punkt des Kegelzentrums fest
filterLegt fest, welche Arten von Entitäten anvisiert werden
radiusRadius des zweiten Ziels des Kegels
Beispiel
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

Dieses Skript demonstriert die Form eines Zylinders mithilfe von Wolkenpartikeln. Beachten Sie, dass diese Zone eine CONE-Form hat, was bedeutet, dass es ein 3D-Volumen ist, wichtig zu bedenken, wenn Sie Schwungeffekte erstellen möchten.


CYLINDER

SchlüsselDetailsErforderlich
shapeLegt die Form der Zone fest. Sollte CYLINDER sein
targetLegt den Standort für das Zentrum des Zylinders fest
filterLegt fest, welche Arten von Entitäten anvisiert werden
radiusRadius des Zylinders
borderRadiusRadius des inneren Zylinders
heightHöhe des Zylinders
Beispiel
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

Dieses Skript demonstriert die Form eines Zylinders mithilfe von Wolkenpartikeln.


CUBOID

SchlüsselDetailsErforderlich
shapeLegt die Form der Zone fest. Sollte CUBOID sein
targetLegt den Standort für das Zentrum des Quaders fest
filterLegt fest, welche Arten von Entitäten anvisiert werden
xLegt die Länge des Quaders fest
yLegt die Höhe des Quaders fest
zLegt die Breite des Quaders fest, Standard ist x
xBorderLegt die Länge des inneren Quaders fest
yBorderLegt die Höhe des inneren Quaders fest
zBorderLegt die Breite des inneren Quaders fest, Standard ist x
Beispiel
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

Dieses Skript demonstriert die Form eines Quaders mithilfe von Wolkenpartikeln.


STATIC_RAY

SchlüsselDetailsErforderlich
shapeLegt die Form der Zone fest. Sollte STATIC_RAY sein
targetLegt den Standort für den ersten Punkt der Linie fest
target2Legt den Standort für den letzten Punkt der Linie fest
filterLegt fest, welche Arten von Entitäten anvisiert werden
ignoresSolidBlocksLegt fest, ob der Strahl durch feste Blöcke hindurchgeht
pointRadiusLegt die Dicke des Strahls fest. Standard ist 0,5 Blöcke.
Beispiel
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

Dieses Skript demonstriert die Form eines statischen Strahls mithilfe von Wolkenpartikeln.

Wir haben die Höhe der Zone angepasst, indem wir die offset-Option an beiden Enden der Zone verwendet haben, damit der Strahl von der Mitte des Spielers und des Bosses ausgeht, andernfalls würde der Strahl an ihren Füßen erscheinen.


ROTATING_RAY

SchlüsselDetailsErforderlich
shapeLegt die Form der Zone fest. Sollte ROTATING_RAY sein
filterLegt fest, welche Arten von Entitäten anvisiert werden
targetLegt den Standort für den ersten Punkt der Linie fest
target2Legt den Standort für den letzten Punkt der Linie fest
animationDurationLegt in Ticks die Zeitdauer für die Rotation fest
pitchPreRotationWendet eine anfängliche Rotation auf den Pitch vor der Animation an
yawPreRotationWendet eine anfängliche Rotation auf den Yaw vor der Animation an
pitchRotationLegt die Pitch-Rotation für die Animation fest
yawRotationLegt die Yaw-Rotation für die Animation fest
ignoresSolidBlocksLegt fest, ob der Strahl durch feste Blöcke hindurchgeht
pointRadiusLegt die Dicke des Strahls fest. Standard ist 0,5 Blöcke.
Beispiel
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

Dieses Skript zeigt, wie ein rotierender Strahl mithilfe von Wolkenpartikeln aussieht.

Zunächst erstellt es einen Strahl vom Boss zum Spieler, der ihn verletzt hat, unter Verwendung von Wolkenpartikeln. Dann passt es die Positionen mit offset leicht um einen Block nach oben an.

Als Nächstes dreht es den Strahl in einem vollständigen Kreis um den Spieler, der anvisiert wurde. Diese Rotation dauert 5 Sekunden (100 Ticks), um abgeschlossen zu werden, wobei der anvisierte Spieler als Zentrum dient.


TRANSLATING_RAY

SchlüsselDetailsErforderlich
shapeLegt die Form der Zone fest. Sollte TRANSLATING_RAY sein
filterLegt fest, welche Arten von Entitäten anvisiert werden
animationDurationLegt in Ticks die Zeitdauer für die Verschiebung fest
targetLegt den Standort für den ersten Punkt der Linie fest
finalTargetLegt den Standort des Ziels für den ersten Punkt der Linie fest
target2Legt den Standort für den zweiten Punkt der Linie fest
finalTarget2Legt den Standort des Ziels für den zweiten Punkt der Linie fest
ignoresSolidBlocksLegt fest, ob der Strahl durch feste Blöcke hindurchgeht
pointRadiusLegt die Dicke des Strahls fest. Standard ist 0,5 Blöcke.
Beispiel
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

Dieses Skript zeigt, wie ein sich verschiebender Strahl mithilfe von Wolkenpartikeln aussieht.

Zunächst erstellt es einen Strahl vom Boss zum Spieler, der ihn verletzt hat, unter Verwendung von Wolkenpartikeln.

Dann animiert es den Strahl, um sich von beiden Zielen aus 10 Blöcke nach oben zu bewegen, indem der offset bei FinalTarget1 und FinalTarget2 verwendet wird.

Die Animation dauert 5 Sekunden (100 Ticks), um abgeschlossen zu werden.

Wir können den Strahl leicht seitlich bewegen lassen, indem wir den Z-offset auf etwas wie offset: 0,0,10 anpassen:

elitescript_zones_translatingray2.gif

Dieses Verhalten kann sich je nachdem ändern, wohin Sie im Spiel schauen.
Wenn wir den X-offset im Skript ändern würden, das im GIF-Bild gezeigt wird, würde der Strahl aus unserer Perspektive in einer geraden Linie von uns weg zu bewegen scheinen.


filter

Die filter-Eigenschaft kann verwendet werden, um nur bestimmte Entitäten innerhalb der Zone anzuvisieren. Diese Entitäten können sein:

WertDetails
PLAYERVisiert nur Spieler in der Zone an (Standard)
ELITEVisiert nur Elites in der Zone an
LIVINGVisiert alle lebenden Entitäten in der Zone an
Beispiel
eliteScript:
FilterExample:
Events:
- PlayerDamagedByEliteMobEvent
Zone:
shape: SPHERE
radius: 12
borderRadius: 11
filter: ELITE
Target:
targetType: SELF
track: false

Dieses Beispielskript zeigt, wie man den Filter verwendet, damit die Zone nur Elites anvisiert.