Zum Hauptinhalt springen

Elite-Script-Zonen

Zonen sind durch eine Form definierte Bereiche, die Skript-Autoren als Ziele verwenden können, um beliebige Aktionen auszuführen.

Pro Skript kann nur eine Zone festgelegt werden.

Um Zonen anzuvisieren, können die Zieltypen ZONE_FULL oder ZONE_BORDER verwendet werden.

Zonen selbst verwenden ebenfalls Skript-Ziele, um festzulegen, wo die Zone erscheint.

shape

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

FormtypDetailsAnimierbarRand
CYLINDERZylindrische Form
SPHEREKugelform
DOMEKuppelform (Halbkugel)
CUBOIDQuaderform (würfelartig)
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, sobald das Skript zum ersten Mal aufgerufen wird.

Das bedeutet: Hat eine Aktion eine Wartezeit, hat sich die Zone beim Start der Aktion bereits bewegt, während die Aktion gewartet hat.

Zonen werden immer in jedem Tick animiert. Das bedeutet: Wenn du die Aktion SPAWN_PARTICLES verwendest, kannst du sie in jedem Tick ausführen lassen, da sich die Zone in jedem Tick bewegt. Führst du sie einmal pro Sekunde aus, wirst du sehen, wie die Partikel umherspringen, da sich die Zone auch in den Ticks weiterbewegt hat, in denen keine Partikel erzeugt wurden.

Wenn du eine rotierende Zonenaktion erstellen möchtest, aber vor dem Start der Aktion eine bestimmte Anzahl Ticks warten willst, mache daraus ein separates Skript und rufe dieses über RUN_SCRIPT auf. Achte darauf, dass RUN_SCRIPT die gewünschte Wartezeit hat.

Zonen bleiben an ihrer Endposition, sobald die Animation abgeschlossen ist.

Alle animierbaren Zonen sind so eingestellt, dass sie den Skript-Zielen nicht folgen, da die zusätzliche Bewegung die Sache für Skript-Autoren und Spieler zu unübersichtlich machen würde. Das bedeutet, dass diese Zonen Bossen oder Spielern nicht hinterherlaufen und sich immer relativ zu ihren ursprünglichen Erscheinungspunkten bewegen.


Rand

Bestimmte Zonen können Ränder haben. Ränder bedeuten, dass ZONE_BORDER als Ziel der Zone verwendet werden kann. Ränder entstehen dadurch, dass eine zweite, kleinere Form innerhalb der ersten, größeren Form erzeugt wird. Der Bereich zwischen der kleineren 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).

Hättest du statt der Option ZONE_BORDER die Option ZONE_FULL verwendet, wäre die gesamte Zone wie folgt mit Rauchpartikeln bedeckt:

elitescript_zones_borderfull.jpg


SPHERE

SchlüsselDetailsPflicht
shapeLegt die Form der Zone fest. Sollte SPHERE sein
targetLegt die Position für den Mittelpunkt der Kugel fest
filterLegt fest, welche Entitätstypen 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 veranschaulicht die Form einer Kugel mithilfe von Wolkenpartikeln.


DOME

SchlüsselDetailsPflicht
shapeLegt die Form der Zone fest. Sollte DOME sein
targetLegt die Position für den Mittelpunkt der Kuppel fest
filterLegt fest, welche Entitätstypen 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 veranschaulicht die Form einer Kuppel mithilfe von Wolkenpartikeln.


CONE

SchlüsselDetailsPflicht
shapeLegt die Form der Zone fest. Sollte CONE sein
targetLegt die Position für die Spitze des Kegels fest
target2Legt die Position für den Mittelpunkt der Grundfläche des Kegels fest
filterLegt fest, welche Entitätstypen anvisiert werden
radiusRadius der Grundfläche des Kegels
borderRadiusRadius des inneren 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 veranschaulicht die Form eines Kegels mithilfe von Wolkenpartikeln. Denk daran, dass diese Zone eine CONE-Form hat, also ein 3D-Volumen ist -- wichtig, wenn du Schwungeffekte erzeugen möchtest.


CYLINDER

SchlüsselDetailsPflicht
shapeLegt die Form der Zone fest. Sollte CYLINDER sein
targetLegt die Position für den Mittelpunkt des Zylinders fest
filterLegt fest, welche Entitätstypen 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 veranschaulicht die Form eines Zylinders mithilfe von Wolkenpartikeln.


CUBOID

SchlüsselDetailsPflicht
shapeLegt die Form der Zone fest. Sollte CUBOID sein
targetLegt die Position für den Mittelpunkt des Quaders fest
filterLegt fest, welche Entitätstypen 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 veranschaulicht die Form eines Quaders mithilfe von Wolkenpartikeln.


STATIC_RAY

SchlüsselDetailsPflicht
shapeLegt die Form der Zone fest. Sollte STATIC_RAY sein
targetLegt die Position für den ersten Punkt der Linie fest
target2Legt die Position für den letzten Punkt der Linie fest
filterLegt fest, welche Entitätstypen anvisiert werden
ignoresSolidBlocksLegt fest, ob der Strahl feste Blöcke durchdringt. Standard ist true
pointRadiusLegt die Dicke des Strahls fest. Standard sind 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 veranschaulicht die Form eines statischen Strahls mithilfe von Wolkenpartikeln.

Wir haben die Höhe der Zone mit der Option offset an beiden Enden der Zone angepasst, damit der Strahl aus der Mitte von Spieler und Boss erscheint -- andernfalls würde der Strahl auf Höhe ihrer Füße erscheinen.


ROTATING_RAY

SchlüsselDetailsPflicht
shapeLegt die Form der Zone fest. Sollte ROTATING_RAY sein
filterLegt fest, welche Entitätstypen anvisiert werden
targetLegt die Position für den ersten Punkt der Linie fest
target2Legt die Position für den letzten Punkt der Linie fest
animationDurationLegt in Ticks die Dauer der Rotation fest
pitchPreRotationWendet vor der Animation eine anfängliche Drehung auf den Pitch an
yawPreRotationWendet vor der Animation eine anfängliche Drehung auf den Yaw an
pitchRotationLegt die Pitch-Drehung für die Animation fest
yawRotationLegt die Yaw-Drehung für die Animation fest
ignoresSolidBlocksLegt fest, ob der Strahl feste Blöcke durchdringt. Standard ist true
pointRadiusLegt die Dicke des Strahls fest. Standard sind 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 mit Wolkenpartikeln aussieht.

Zuerst erzeugt es einen Strahl vom Boss zu dem Spieler, der ihm Schaden zugefügt hat, mithilfe von Wolkenpartikeln. Anschließend verschiebt es die Positionen mit offset um einen Block nach oben.

Danach dreht es den Strahl in einem vollen Kreis um den anvisierten Spieler. Diese Rotation dauert 5 Sekunden (100 Ticks) und hat den anvisierten Spieler als Mittelpunkt.


TRANSLATING_RAY

SchlüsselDetailsPflicht
shapeLegt die Form der Zone fest. Sollte TRANSLATING_RAY sein
filterLegt fest, welche Entitätstypen anvisiert werden
animationDurationLegt in Ticks die Dauer der Verschiebung fest
targetLegt die Position für den ersten Punkt der Linie fest
finalTargetLegt die Zielposition für den ersten Punkt der Linie fest
target2Legt die Position für den zweiten Punkt der Linie fest
finalTarget2Legt die Zielposition für den zweiten Punkt der Linie fest
ignoresSolidBlocksLegt fest, ob der Strahl feste Blöcke durchdringt. Standard ist true
pointRadiusLegt die Dicke des Strahls fest. Standard sind 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 verschiebender Strahl mit Wolkenpartikeln aussieht.

Zuerst erzeugt es einen Strahl vom Boss zu dem Spieler, der ihm Schaden zugefügt hat, mithilfe von Wolkenpartikeln.

Anschließend animiert es den Strahl so, dass er sich von beiden Zielen aus 10 Blöcke nach oben bewegt, indem offset bei FinalTarget1 und FinalTarget2 verwendet wird.

Die Animation dauert 5 Sekunden (100 Ticks).

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

elitescript_zones_translatingray2.gif

Dieses Verhalten kann sich je nach Blickrichtung im Spiel ändern.
Würden wir den X-offset in dem im GIF gezeigten Skript ändern, würde sich der Strahl aus unserer Perspektive in einer geraden Linie von uns wegbewegen.


filter

Mit der Eigenschaft filter lassen sich innerhalb der Zone nur bestimmte Entitäten anvisieren. Diese Entitäten können sein:

WertDetails
PLAYERVisiert nur Spieler in der Zone an (Standard)
ELITEVisiert nur Elites in der Zone an
LIVINGVisiert alle Lebewesen 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 der Filter verwendet wird, damit die Zone nur Elites anvisiert.