Hallo Leute, es ist total peinlich, aber ich habe gerade riesige Probleme mit einem eigentlich total einfachen Script.
Die Idee ist folgende: Der Spieler aktiviert einen Activator. Je nachdem, wie die Skills (GetAV, nicht GetBaseAV, das ist wichtig) des Spielercharakter sind, fügt das Spiel ihm eine neue Ability hinzu, welche selbst ebenfalls die Skills verändert.
Wenn der Spieler jetzt ein zweites Mal den Activator aktiviert, würde das Script ja auf Basis der durch seine eigens hinzugefügte Ability veränderten Skills seine Rechnungen durchführen, was in reinem Chaos enden würde - das heißt, die Ability muss vor der Rechnung auf jeden Fall entfernt werden. (Sollte ja kein Problem sein, danach wird sie ja wieder hinzugefügt.)
In der Theorie nicht schwer und sieht auch nicht schwer aus, nur gibt's ein Problem: Es funktioniert nicht. Wenn ich das Script das zweite Mal aktiviere, entfernt es die Ability vollständig, ohne sie am Ende wieder hinzuzufügen. Beim dritten Mal funktioniert es dann wieder. Immer abwechselnd.
Hier das Skript:
Die verschiedenen Stages sind *eigentlich* ja komplett unnötig, aber ich benutze sie momentan als eine Art Versicherung, dass die Zeilen wirklich nacheinander ablaufen. Was sie allem Anschein nach auch tun.
Der Check in Stage 0, ob der Spieler die Ability hat oder nicht, sollte ebenfalls unwichtig sein - wenn er sie nicht hat, entfernt das Script eben eine Ability, die gar nicht da ist. Der steht da allerdings drin, weil ich die Vermutung habe, dass das Script so lange wartet, bis es eine Ability zum Entfernen hat.
Die Vermutung sollte eigentlich durch diesen Check widerlegt sein, aber ich bin mir noch nicht ganz sicher... allerdings wüsste ich in dem Fall auch nicht, was ich tun kann.
Geändert von Schattenläufer (11.04.2010 um 20:14 Uhr)