Elite Script Cooldowns
Cooldowns legen die Zeitspanne fest, die vergehen muss, bevor der Boss berechtigt ist, sowohl dasselbe Script als auch eine andere Fähigkeit* auszuführen.
- Hinweis: Einige Fähigkeiten sind derzeit nicht von Cooldowns betroffen.
Konfigurationsort
Cooldowns werden im Abschnitt Cooldowns eines Elite Scripts konfiguriert:
eliteScript:
ScriptName:
Events:
- [Event-Konfiguration]
Actions:
- [Action-Konfiguration]
Cooldowns:
local: [Wert oder Bereich]
global: [Wert oder Bereich]
Hinweis: Konfigurationsschlüssel sind nicht case-sensitiv (local, Local, LOCAL funktionieren alle).
Hinweis zu Einheiten: Alle Cooldown-Werte 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 standardmäßig auf 0 gesetzt, was bedeutet, dass das Script das Cooldown-System vollständig umgeht.
Cooldown-Umgehung
Scripts ohne einen Cooldowns-Abschnitt oder mit beiden local und global auf 0 gesetzt, umgehen das Cooldown-System vollständig. Dies ermöglicht event-gesteuerte Verhaltensweisen, die unabhängig vom Cooldown-Status des Bosses immer ausgeführt werden sollten.
Beispiel:
eliteScript:
AlwaysTeleportOnLowHealth:
Events:
- EliteMobEnterCombatEvent
Actions:
- action: TELEPORT
Target:
targetType: SELF_SPAWN
# Kein Cooldowns-Abschnitt - Script wird immer ausgeführt, wenn das Event ausgelöst wird
Cooldowns haben zwei Werte:
local
local legt die Zeit in Ticks fest, bevor dasselbe Script erneut ausgeführt werden kann. Beispiel:
Beispiel
local: 60
Legt fest, dass die Fähigkeit nach 3 Sekunden erneut ausgeführt werden kann.
global
global legt die Zeit in Ticks fest, bevor ein anderes Script oder eine andere Fähigkeit erneut ausgeführt werden kann[1]. Beispiel:
Beispiel
global: 20
Legt fest, dass alle anderen Fähigkeiten für 1 Sekunde nicht gestartet werden können.
[1] Hinweis: Dies gilt für Legacy-Power-Implementierungen (nicht EliteScripts). Alle auf EliteScript basierenden Fähigkeiten unterstützen globale Cooldowns ordnungsgemäß. Einige der älteren Fähigkeiten sind derzeit hiervon nicht betroffen, dies ist noch in Arbeit.
Hinweis: Indem Sie den local Cooldown länger und den global Cooldown kürzer machen, können Sie garantieren, dass der Boss zwischen seinen verfügbaren Fähigkeiten abwechselt! Machen Sie den global Cooldown niemals länger, und ich empfehle, mindestens eine Sekunde local Cooldown zu lassen, um anderen Fähigkeiten eine Chance zu geben, ausgelöst zu werden.
Wenn Ihre Fähigkeit außerdem eine bestimmte Dauer hat, während der sie aktiv ist, sollten Sie dieses System verwenden, um zu verhindern, dass andere Fähigkeiten gleichzeitig ausgeführt werden und möglicherweise Ihre Fähigkeit beeinträchtigen.
Randomisierung
Sowohl local als auch global Cooldowns unterstützen Randomisierung mit der Bereichssyntax. Dies ermöglicht es, dass Cooldown-Dauern variieren und fügt Unvorhersehbarkeit zum Boss-Verhalten hinzu.
Beispiel:
Cooldowns:
local: 40-80
global: 10-30
Setzt den local Cooldown zufällig zwischen 40 und 80 Ticks (2-4 Sekunden) und den global Cooldown zufällig zwischen 10 und 30 Ticks (0,5-1,5 Sekunden).
Hinweis: Werte werden jedes Mal zufällig ausgewählt, wenn der Cooldown angewendet wird.
Scripts einmal mit Cooldowns ausführen
Um sicherzustellen, dass Scripts nur einmal ausgelöst werden, während weiterhin ein Event verwendet wird, das während eines Kampfes mehrmals auftreten kann, setzen Sie den local Cooldown 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: Verhindert andere Fähigkeiten für 1 Sekunde
In diesem Szenario löst das EliteMobDamagedByPlayerEvent die SET_ON_FIRE Aktion aus. Ohne Cooldowns würde die Aktion jedes Mal aktiviert werden, wenn der Spieler den Mob trifft.
Allerdings wird die Aktion mit einem local Cooldown von 99999 nur alle 99999 Ticks (83 Minuten) ausgelöst. Da Kämpfe selten so lange dauern, führt dies effektiv dazu, dass das Script nur einmal pro Kampfbegegnung ausgeführt wird.
Der global Cooldown ist in diesem Fall optional - wenn er weggelassen oder auf 0 gesetzt wird, verhindert er nicht, dass andere Fähigkeiten ausgeführt werden.
Fehlerbehebung
Ungültige Cooldown-Schlüssel
Wenn Sie einen nicht erkannten Schlüssel im Cooldowns-Abschnitt verwenden, erscheint eine Warnung in den Server-Logs:
Failed to parse cooldown entry for script name [ScriptName] in config file [FileName]
Gültige Schlüssel sind: local, global (nicht case-sensitiv)