Wie bei den Nehrim Bugs bereits erwähnt, ist die Wahrscheinlichkeit, einen Gegner durch einen erneuten Eisangriff mit Einfrierungseffekt wieder aufzutauen sehr hoch.
Hier eines der Einfrierungsskripts: Das Problem ist, dass "ScriptEffectFinish" immer ausgeführt wird, wenn der Zauber erneut auf ein Ziel gesprochen wird.
Wenn man diesen Block allerdings abändert, besteht die Gefahr, dass das Ziel ewig eingefroren bleibt.
Mein Gedanke war eine Timer-Variable einzubauen.
Mein Kollege meinte zuerst es würde reichen, wenn man im StartBlock bei der Abfrage einfach "|| GetRestrained" einfügt, allerdings funktioniert das wie zu erwarten nicht.
Denn schließlich wird der Restrained-Zustand mit ScriptEffectFinish wieder aufgehoben und dieser Block wird bei jedem neuen Treffer durch diesen Zauber ausgeführt, sofern der Einfierungseffekt noch Wirkung zeigt.
Außerdem wird durch das Return-Statement der Finish-Block nicht ausgeführt was wiederum im ewig gefrorenen Zustand endet.
Das mit der Timer-Variable ist allerdings auch recht knifflig umzusetzen. Die bisherigen Versuche führten auch zu einem unendlich eingefrorenen Zustand des Gegners.
Der Timer wurde im neuen Block "ScriptEffectUpdate" berechnet, allerdings war diese Lösung eben keine Lösung
Wer Vorschläge hat, nur raus damit
Ansonsten wird dieses Skipt wohl so bleiben wie es ist.
Hier eines der Einfrierungsskripts: Das Problem ist, dass "ScriptEffectFinish" immer ausgeführt wird, wenn der Zauber erneut auf ein Ziel gesprochen wird.
Wenn man diesen Block allerdings abändert, besteht die Gefahr, dass das Ziel ewig eingefroren bleibt.
Mein Gedanke war eine Timer-Variable einzubauen.
Mein Kollege meinte zuerst es würde reichen, wenn man im StartBlock bei der Abfrage einfach "|| GetRestrained" einfügt, allerdings funktioniert das wie zu erwarten nicht.
Denn schließlich wird der Restrained-Zustand mit ScriptEffectFinish wieder aufgehoben und dieser Block wird bei jedem neuen Treffer durch diesen Zauber ausgeführt, sofern der Einfierungseffekt noch Wirkung zeigt.
Außerdem wird durch das Return-Statement der Finish-Block nicht ausgeführt was wiederum im ewig gefrorenen Zustand endet.
Das mit der Timer-Variable ist allerdings auch recht knifflig umzusetzen. Die bisherigen Versuche führten auch zu einem unendlich eingefrorenen Zustand des Gegners.
Der Timer wurde im neuen Block "ScriptEffectUpdate" berechnet, allerdings war diese Lösung eben keine Lösung
Wer Vorschläge hat, nur raus damit
Ansonsten wird dieses Skipt wohl so bleiben wie es ist.
Lösung gibt es noch keine, aber in der neuen ESP, die ich erhalten habe, wird eine Message ausgeworfen wenn man etwas erfolgreich einfriert.
Sinnvoll, da man dann weiß, dass ein weiterer Eiszauber mit Einfrierungschance den Effekt wieder aufheben würde.
War allerdings nicht meine Idee...
Code Select all
MessageEX "%n wurde eingefroren." TargetWar allerdings nicht meine Idee...
Inzwischen wurde das Problem gelöst.
Das Auslösen des "Restrained"-Effekts direkt im Skript des Zaubers und auch das Erlöschen dieses Effekt am Ende des Skripts waren für das Auftauen verantwortlich.
Stattdessen wird je nach angewendeten Eiszauber eine Krankheit mit Skript auf den Getroffenen angewandt.
Es gibt Krankheiten für drei, vier, fünf, sechs, und acht Sekunden langes Einfrieren.
Wird ein Gegner mit dem Schneesturm eingefroren bleibt er immer drei Sekunden lang gefroren.
Das Ziel eines Frostpfeils wird bis Zaubergrad II, vier Sekunden lang eingefroren.
Ab Zaubergrad III bis IV wird das Ziel fünf Sekunden lang eingefroren.
Alles an Zaubergrad V sorgt dann für ein sechs Sekunden lang gefrorenes Ziel.
Die acht Sekunden stehen für die Frostfaust, die es eigenartigerweise nur bis Rang II gibt.
Diese Lösung ist zwar rustikal, funktioniert aber einwandfrei (auch für oder besser gesagt gegen den Spieler).
Hier das Beispielsskript zum Frostpfeil: Und das ist das Skript für das viersekündige Einfrieren:
Das Auslösen des "Restrained"-Effekts direkt im Skript des Zaubers und auch das Erlöschen dieses Effekt am Ende des Skripts waren für das Auftauen verantwortlich.
Stattdessen wird je nach angewendeten Eiszauber eine Krankheit mit Skript auf den Getroffenen angewandt.
Es gibt Krankheiten für drei, vier, fünf, sechs, und acht Sekunden langes Einfrieren.
Wird ein Gegner mit dem Schneesturm eingefroren bleibt er immer drei Sekunden lang gefroren.
Das Ziel eines Frostpfeils wird bis Zaubergrad II, vier Sekunden lang eingefroren.
Ab Zaubergrad III bis IV wird das Ziel fünf Sekunden lang eingefroren.
Alles an Zaubergrad V sorgt dann für ein sechs Sekunden lang gefrorenes Ziel.
Die acht Sekunden stehen für die Frostfaust, die es eigenartigerweise nur bis Rang II gibt.
Diese Lösung ist zwar rustikal, funktioniert aber einwandfrei (auch für oder besser gesagt gegen den Spieler).
Hier das Beispielsskript zum Frostpfeil: Und das ist das Skript für das viersekündige Einfrieren:


