21.01.2010, 00:26
Ich denke da wir schon recht lange auf dem Problem rumsitzten, ist es an der Zeit euch das Problem etwas genauer zu erklären. Auch wenn das gleich recht technisch werden kann.
Dank eurer Hilfe konnten wir die Stelle des Problems schon sehr genau localisieren. So genau das wir bei der letzten Veränderungen, es so einstellen konnten das nur 1 Skills geblockt wird. Dennoch besteht eine kleine Chance das dies die falsche Stelle ist und das Problem deshalb nicht schaffen zu lösen (diese Chance besteht immer, bei einem Programm was man nicht von grund auf selber geschrieben hat).
Okey nun zu der etwas technischeren Variante. Wenn man einen Skill wirkt wird ein Timer gestartetet, dieser Timer überprüft alle xx milli Sekunden ob das Ziel in Sicht/Reichweite ist. Wenn dem nicht der Fall ist bricht der Timer den Skill ab.
Wenn der Skill abgebrochen wird oder fertig gecasted wird, wird der Timer angehalten (gelöscht). Das heißt das diese Überprüfung nicht mehr stattfinden sollte! Wenn alles genau klappt sieht der ablauf eines castes ungefähr so aus:
1. Start des Zaubers (0,5sek cast Zeit, Mob kann sich in der Zeit weiter bewegen, deswegen muss in dieser halben Sekunde immer wieder überprüft werden ob der Mob noch in Sichtweite ist)
2. Alle xx mill Sek überprüfen ob der Mob in Sichtweite ist, fall nicht den "momentanen" (das hat vor dem letzten fix gestern, immer dazu geführt das alle eure Skills nicht mehr gingen. Da der eine geblockte Skill, all eure anderen Skills immer unterbrochen hat) Skill abbrechen
3. Beim Abbruch des Skills oder fertig casten, wird der Timer gestoppt und auf den nächsten Zauber gewartet.
Was ist also das Problem? Das Problem ist, das dieser Timer nicht gestoppt wird. Es gibt keinen Grund wieso das nicht funktioniert, da das Abbrechen des Zaubers so banal und einfach geschrieben ist, das dort eigentlich nichts schief gehen kann. Aber es geht irgendwo irgendwann etwas schief und wir haben noch nicht rausgefunden was. Die frage ist also "wer schaft es nicht seinen Timer zu löschen, obwohl er es sollte und warum schaft er es nicht?".
So das mal nur als ein kleiner Einblick, vielleicht könnt ihr damit auch einige Verhaltensweisen des Skills verstehen.
mfg Neiko
Dank eurer Hilfe konnten wir die Stelle des Problems schon sehr genau localisieren. So genau das wir bei der letzten Veränderungen, es so einstellen konnten das nur 1 Skills geblockt wird. Dennoch besteht eine kleine Chance das dies die falsche Stelle ist und das Problem deshalb nicht schaffen zu lösen (diese Chance besteht immer, bei einem Programm was man nicht von grund auf selber geschrieben hat).
Okey nun zu der etwas technischeren Variante. Wenn man einen Skill wirkt wird ein Timer gestartetet, dieser Timer überprüft alle xx milli Sekunden ob das Ziel in Sicht/Reichweite ist. Wenn dem nicht der Fall ist bricht der Timer den Skill ab.
Wenn der Skill abgebrochen wird oder fertig gecasted wird, wird der Timer angehalten (gelöscht). Das heißt das diese Überprüfung nicht mehr stattfinden sollte! Wenn alles genau klappt sieht der ablauf eines castes ungefähr so aus:
1. Start des Zaubers (0,5sek cast Zeit, Mob kann sich in der Zeit weiter bewegen, deswegen muss in dieser halben Sekunde immer wieder überprüft werden ob der Mob noch in Sichtweite ist)
2. Alle xx mill Sek überprüfen ob der Mob in Sichtweite ist, fall nicht den "momentanen" (das hat vor dem letzten fix gestern, immer dazu geführt das alle eure Skills nicht mehr gingen. Da der eine geblockte Skill, all eure anderen Skills immer unterbrochen hat) Skill abbrechen
3. Beim Abbruch des Skills oder fertig casten, wird der Timer gestoppt und auf den nächsten Zauber gewartet.
Was ist also das Problem? Das Problem ist, das dieser Timer nicht gestoppt wird. Es gibt keinen Grund wieso das nicht funktioniert, da das Abbrechen des Zaubers so banal und einfach geschrieben ist, das dort eigentlich nichts schief gehen kann. Aber es geht irgendwo irgendwann etwas schief und wir haben noch nicht rausgefunden was. Die frage ist also "wer schaft es nicht seinen Timer zu löschen, obwohl er es sollte und warum schaft er es nicht?".
So das mal nur als ein kleiner Einblick, vielleicht könnt ihr damit auch einige Verhaltensweisen des Skills verstehen.
mfg Neiko