Hallo, wie schon der Titel sagt, versuche ich zu prüfen, ob der Spieler gerade "mein" Objekt aufgehoben hat. Ich erschaffe per PlaceAtMe() relativ einfach ein Objekt in der Welt,
nachdem der Spieler einen Zauber ausgeführt hat.
Da es sich bei dem erschaffenen Objekt aber um einen Kuchen und nicht um einen Actor handelt, kann ich diesem kein Script zuweisen. Momentan regle ich dieses Problem über eine while Schleife,
die ich dem MagicEffect hinzugefügt habe. Das ganze ist für mich auch nur deswegen möglich, weil der Kuchen nach 30 Sekunden wieder aus der Welt gelöscht wird (ansonsten würde die while Schleife
ja auch für immer laufen). Trotzdem ist das ganze nicht sehr elegant:
Besser wäre eindeutig, zu überprüfen, ob der Kuchen aufgehoben wird. Leider kann man dem Kuchen anscheinend kein Script zuweisen, das dieses Event ausführt und sich selbst nach 30 Sekunden löscht.
Meine Frage ist also ganz einfach: Weiß jemand, wie man Events eines anderen Objekts ausliest?
mfg TripleBlade
nachdem der Spieler einen Zauber ausgeführt hat.
Da es sich bei dem erschaffenen Objekt aber um einen Kuchen und nicht um einen Actor handelt, kann ich diesem kein Script zuweisen. Momentan regle ich dieses Problem über eine while Schleife,
die ich dem MagicEffect hinzugefügt habe. Das ganze ist für mich auch nur deswegen möglich, weil der Kuchen nach 30 Sekunden wieder aus der Welt gelöscht wird (ansonsten würde die while Schleife
ja auch für immer laufen). Trotzdem ist das ganze nicht sehr elegant:
Code:
Scriptname spawnsweetroll extends ActiveMagicEffect
Potion Property sweetRoll auto
Objectreference newRefStore
Event onEffectStart(ACTOR akTarget, ACTOR akCaster)
newRefStore = akTarget.placeAtMe(sweetRoll)
int waito = 30
while (waito >= 0)
if(Game.GetPlayer().GetItemCount(newRefStore) < 1)
utility.wait(1)
waito -= 1
else
Game.GetPlayer().DropObject(newRefStore)
ENDIF
endwhile
newRefStore.disable()
endEvent
Besser wäre eindeutig, zu überprüfen, ob der Kuchen aufgehoben wird. Leider kann man dem Kuchen anscheinend kein Script zuweisen, das dieses Event ausführt und sich selbst nach 30 Sekunden löscht.
Meine Frage ist also ganz einfach: Weiß jemand, wie man Events eines anderen Objekts ausliest?
mfg TripleBlade