Zum Hauptinhalt springen

Elite-Skript-Abklingzeiten

Abklingzeiten legen die Zeitspanne fest, die vergehen muss, bevor der Boss berechtigt ist, sowohl dasselbe Skript als auch jede andere Kraft* erneut auszufuehren.

  • Hinweis: Einige Krafte werden derzeit nicht von Abklingzeiten beeinflusst.

Konfigurationsort

Abklingzeiten werden im Abschnitt Cooldowns eines Elite-Skripts konfiguriert:

eliteScript:
ScriptName:
Events:
- [event configuration]
Actions:
- [action configuration]
Cooldowns:
local: [value or range]
global: [value or range]

Hinweis: Konfigurationsschluessel sind nicht case-sensitiv (local, Local, LOCAL funktionieren alle).

Hinweis zu Einheiten: Alle Abklingzeitwerte werden in Ticks angegeben. In Minecraft gibt es 20 Ticks pro Sekunde, also:

  • 20 Ticks = 1 Sekunde
  • 60 Ticks = 3 Sekunden
  • 100 Ticks = 5 Sekunden
  • 99999 Ticks ≈ 83 Minuten

Standardwerte

Wenn der Abschnitt Cooldowns weggelassen wird, werden sowohl local als auch global standardmaessig auf 0 gesetzt, was bedeutet, dass das Skript das Abklingzeitsystem vollstaendig umgeht.

Abklingzeit-Umgehung

Skripte ohne einen Cooldowns-Abschnitt oder mit sowohl local als auch global auf 0 gesetzt, umgehen das Abklingzeitsystem vollstaendig. Dies ermoeglicht ereignisgesteuerte Verhaltensweisen, die unabhaengig vom Abklingzeitstatus des Bosses immer ausgefuehrt werden sollen.

Beispiel:

eliteScript:
AlwaysTeleportOnLowHealth:
Events:
- EliteMobEnterCombatEvent
Actions:
- action: TELEPORT
Target:
targetType: SELF_SPAWN
# Kein Cooldowns-Abschnitt - Skript wird immer ausgefuehrt, wenn das Ereignis eintritt

Abklingzeiten haben zwei Werte:

local

local legt die Zeit in Ticks fest, bevor dasselbe Skript erneut ausgefuehrt werden kann. Beispiel:

Beispiel

local: 60

Ermoeglicht es der Kraft, nach 3 Sekunden erneut ausgefuehrt zu werden.

global

global legt die Zeit in Ticks fest, bevor ein anderes Skript oder eine andere Kraft erneut ausgefuehrt werden kann[1]. Beispiel:

Beispiel

global: 20

Verhindert, dass alle anderen Kraefte fuer 1 Sekunde starten koennen.

[1] Hinweis: Dies gilt fuer aeltere Kraft-Implementierungen (nicht EliteScripts). Alle EliteScript-basierten Kraefte unterstuetzen globale Abklingzeiten ordnungsgemaess. Einige der aelteren Kraefte sind derzeit davon nicht betroffen, dies wird derzeit ueberarbeitet.

Hinweis: Indem Sie die lokale Abklingzeit laenger und die globale Abklingzeit kuerzer machen, koennen Sie garantieren, dass der Boss zwischen seinen verfuegbaren Kraeften abwechselt! Machen Sie die globale Abklingzeit niemals laenger, und ich empfehle, mindestens eine Sekunde lokale Abklingzeit zu lassen, um anderen Kraeften eine Chance zum Auslosen zu geben.

Wenn Ihre Kraft eine bestimmte Dauer hat, waehrend der sie aktiv ist, sollten Sie dieses System ausserdem verwenden, um zu verhindern, dass andere Kraefte gleichzeitig ausgefuehrt werden und Ihre Kraft moeglicherweise ruinieren.

Zufallswerte

Sowohl local als auch global Abklingzeiten unterstuetzen Zufallswerte mit Bereichssyntax. Dies ermoeglicht es, dass Abklingzeiten variieren, was dem Boss-Verhalten Unvorhersehbarkeit verleiht.

Beispiel:

Cooldowns:
local: 40-80
global: 10-30

Setzt die lokale Abklingzeit zufaellig auf 40 bis 80 Ticks (2-4 Sekunden) und die globale Abklingzeit zufaellig auf 10 bis 30 Ticks (0,5-1,5 Sekunden).

Hinweis: Werte werden bei jeder Anwendung der Abklingzeit zufaellig ausgewaehlt.

Skripte einmalig mit Abklingzeiten ausfuehren

Um sicherzustellen, dass Skripte nur einmal ausgeloest werden, waehrend ein Ereignis verwendet wird, das waehrend eines Kampfes mehrfach auftreten kann, setzen Sie die lokale Abklingzeit auf eine hohe Zahl, z. B. 99999. Dieses Beispiel veranschaulicht das Konzept:

Beispiel
eliteScript:
SetMeOnFireOnlyOnce:
Events:
- EliteMobDamagedByPlayerEvent
Actions:
- action: SET_ON_FIRE
duration: 60
Target:
targetType: DIRECT_TARGET
Cooldowns:
local: 99999
# global: 20 # Optional: Andere Kraefte fuer 1 Sekunde verhindern

In diesem Szenario loest das EliteMobDamagedByPlayerEvent die SET_ON_FIRE-Aktion aus. Ohne Abklingzeiten wuerde die Aktion jedes Mal aktiviert, wenn der Spieler den Mob trifft.

Mit einer lokalen Abklingzeit von 99999 wird die Aktion jedoch nur einmal alle 99999 Ticks (83 Minuten) ausgeloest. Da Kaempfe selten so lange dauern, wird das Skript effektiv nur einmal pro Kampfbegegnung ausgefuehrt.

Die globale Abklingzeit ist in diesem Fall optional - wenn sie weggelassen oder auf 0 gesetzt wird, verhindert sie nicht, dass andere Kraefte ausgefuehrt werden.

Fehlerbehebung

Ungueltige Abklingzeit-Schluessel

Wenn Sie einen nicht erkannten Schluessel im Abschnitt Cooldowns verwenden, erscheint eine Warnung in den Server-Logs:

Failed to parse cooldown entry for script name [ScriptName] in config file [FileName]

Gueltige Schluessel sind: local, global (nicht case-sensitiv)