Elite Script Abklingzeiten
Abklingzeiten legen die Zeitspanne fest, die vergehen muss, bevor der Boss berechtigt ist, sowohl dasselbe Script als auch jede andere Kraft* erneut auszuführen.
- Hinweis: Einige Kräfte werden derzeit nicht von Abklingzeiten beeinflusst.
Konfigurationsort
Abklingzeiten werden im Abschnitt Cooldowns eines Elite Scripts konfiguriert:
eliteScript:
ScriptName:
Events:
- [event configuration]
Actions:
- [action configuration]
Cooldowns:
local: [value or range]
global: [value or range]
Hinweis: Konfigurationsschlüssel beachten keine Groß-/Kleinschreibung (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, sind sowohl local als auch global standardmäßig 0, was bedeutet, dass das Script das Abklingzeitsystem vollständig umgeht.
Abklingzeit-Umgehung
Scripts ohne einen Cooldowns-Abschnitt oder mit local und global jeweils auf 0 gesetzt umgehen das Abklingzeitsystem vollständig. Dies ermöglicht ereignisgesteuerte Verhaltensweisen, die unabhängig vom Abklingzeitstatus des Bosses immer ausgeführt werden sollen.
Beispiel:
eliteScript:
AlwaysTeleportOnLowHealth:
Events:
- EliteMobEnterCombatEvent
Actions:
- action: TELEPORT
Target:
targetType: SELF_SPAWN
# No Cooldowns section - script always executes when event fires
Abklingzeiten haben zwei Werte:
local
local legt die Zeit in Ticks fest, bevor dasselbe Script erneut ausgeführt werden kann. Beispiel:
Beispiel
local: 60
Ermöglicht es der Kraft, nach 3 Sekunden erneut ausgeführt zu werden.
global
global legt die Zeit in Ticks fest, bevor ein anderes Script oder eine andere Kraft erneut ausgeführt werden kann[1]. Beispiel:
Beispiel
global: 20
Verhindert, dass alle anderen Kräfte für 1 Sekunde starten können.
[1] Hinweis: Dies gilt für ältere Kraft-Implementierungen (nicht EliteScripts). Alle EliteScript-basierten Kräfte unterstützen globale Abklingzeiten ordnungsgemäß. Einige der älteren Kräfte sind derzeit davon nicht betroffen, dies wird gerade überarbeitet.
Hinweis: Indem du die lokale Abklingzeit länger und die globale Abklingzeit kürzer machst, kannst du garantieren, dass der Boss zwischen seinen verfügbaren Kräften abwechselt! Mache die globale Abklingzeit niemals länger, und ich empfehle, mindestens eine Sekunde lokale Abklingzeit zu lassen, damit andere Kräfte eine Chance zum Auslösen haben.
Wenn deine Kraft außerdem eine bestimmte Dauer hat, während der sie aktiv ist, solltest du dieses System verwenden, um zu verhindern, dass andere Kräfte gleichzeitig ausgeführt werden und deine Kraft möglicherweise ruinieren.
Zufallswerte
Sowohl die local- als auch die global-Abklingzeit unterstützen Zufallswerte mithilfe der Bereichssyntax. Dadurch können Abklingzeitdauern variieren, was dem Boss-Verhalten Unvorhersehbarkeit verleiht.
Beispiel:
Cooldowns:
local: 40~80
global: 10~30
Setzt die lokale Abklingzeit zufällig auf 40 bis 80 Ticks (2-4 Sekunden) und die globale Abklingzeit zufällig auf 10 bis 30 Ticks (0,5-1,5 Sekunden).
Hinweis: Die Werte werden bei jeder Anwendung der Abklingzeit zufällig ausgewählt.
Scripts mit Abklingzeiten nur einmal ausführen
Um sicherzustellen, dass Scripts nur einmal ausgelöst werden, obwohl ein Event verwendet wird, das während eines Kampfes mehrfach auftreten kann, setze 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: Prevent other powers for 1 second
In diesem Szenario löst das EliteMobDamagedByPlayerEvent die SET_ON_FIRE-Aktion aus. Ohne Abklingzeiten würde 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) ausgelöst. Da Kämpfe selten so lange dauern, sorgt dies effektiv dafür, dass das Script nur einmal pro Kampfbegegnung ausgeführt wird.
Die globale Abklingzeit ist in diesem Fall optional – wird sie weggelassen oder auf 0 gesetzt, verhindert sie nicht, dass andere Kräfte ausgeführt werden.
Fehlerbehebung
Ungültige Abklingzeit-Schlüssel
Wenn du einen nicht erkannten Schlüssel im Abschnitt Cooldowns verwendest, 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 (ohne Beachtung der Groß-/Kleinschreibung)