SSE Animation eines Objektes mehrmal abspielen?

.mausetot

Abenteurer
Huhu,
ich bin gerade dabei Displays für die daedrischen Artefakte zu bauen und möchte so viele Elemente der jeweiligen Teile der Questorte nehmen. Ok, klingt jetzt n bissi kompliziert, aber hier mal ein Beispiel:

Display für Mehrunes Dolch
Ich nutze den Vanilla Schrein von Dagon, und der hat mehrere Animationen mit eingebaut (reforge, Take, usw)
Zum Testen hab ich mal folgendes Script auf nen Schalter gelegt, was soweit auch funktioniert:

Scriptname PlayAnimationOnLinkedRef extends ObjectReference

{Plays the Animation named by the String on the linked Reference}

ObjectReference myLinkedRef


Event OnActivate(ObjectReference triggerRef)
myLinkedRef = GetLinkedRef() as ObjectReference

myLinkedRef.PlayAnimation(Animation)

EndEvent



String Property Animation Auto

Wenn ich im String des Property Animation "reforge" reinpacke, schweben die Dolchteile schön nach oben, setzen sich zusammen, dann schweben sie über dem Altar, also soweit alles gut.
Als zweite Animation (auf nem zweiten Schalter) hab ich "Take", der Dolch verschwindet dann auch.
Wenn ich die Reforge-Animation zum zweiten mal per Knopfdruck starten will, tut sich schlicht und ergreifend gar nüscht. Muss ich den Schrein/die Animation irgendwie wieder resetten damit der die Animation ein zweites, drittes, viertes (usw) Mal abspielt? Und wenn ja, wie mache ich das?
Weiss da jemand was?

LG
 
Ich nutze den Vanilla Schrein von Dagon
Kann das sein das dieser Schrein mit seinen Animationen für eine nur einmalige Nutzung ausgelegt ist? Dann muss er wieder ---wie sagt man ---Alles zurück auf Start.
Wenn du jetzt wissen willst, wie das geht, dann antworte ich mit Konrads Worten aus Elex: Keine Ahnung, muss ich auch nicht, ist ja jetzt dein Problem. ;)
 
Vielleicht ist resetten der falsche Begriff hier, wie wäre es mit refill?
Ominöses Orakel, bitte erleuchte mich ;)

Kann das sein das dieser Schrein mit seinen Animationen für eine nur einmalige Nutzung ausgelegt ist? Dann muss er wieder ---wie sagt man ---Alles zurück auf Start.
Wenn du jetzt wissen willst, wie das geht, dann antworte ich mit Konrads Worten aus Elex: Keine Ahnung, muss ich auch nicht, ist ja jetzt dein Problem. ;)
Das hatte ich mir auch überlegt, weiss nur noch nicht wie ich das bewerkstelligen soll, Blablalubb().reset() funzt leider ned, aber vllt bekomme ich das so hin wie bei Desteros Trainingspuppen, dass er einfach das BaseObject frisch lädt.
 
Wenn ich die Reforge-Animation zum zweiten mal per Knopfdruck starten will, tut sich schlicht und ergreifend gar nüscht. Muss ich den Schrein/die Animation irgendwie wieder resetten damit der die Animation ein zweites, drittes, viertes (usw) Mal abspielt? Und wenn ja, wie mache ich das?
Weil das Skript "verbraucht" ist. Du solltest erreichen, das es sich nach der Animation zurücksetzt und neu beginnt, ja.
Sprich Status bei Anklicken prüfen - Ja nein Funktion... Wenn ja, dann... wenn nein neu.

Ich hatte das in einem meiner Container mal so gelöst:

Scriptname aalfresetcontainer extends ObjectReference
;This script is attached to the chest from the CK UI
Event OnInit()
;This event will fire as soon as the chest is initilized in the game.
RegisterForUpdateGameTime(TimeToReset)
EndEvent
Event OnUpdateGameTime()
;This will call the Reset function on this object(i.e. itself)
;can be self.Reset() too, use what you like.
Reset()
EndEvent

Int Property TimeToReset = 24 Auto
 
  • Like
Reaktionen: .mausetot
Wenn ich die Reforge-Animation zum zweiten mal per Knopfdruck starten will, tut sich schlicht und ergreifend gar nüscht. Muss ich den Schrein/die Animation irgendwie wieder resetten damit der die Animation ein zweites, drittes, viertes (usw) Mal abspielt? Und wenn ja, wie mache ich das?
Weil das Skript "verbraucht" ist. Du solltest erreichen, das es sich nach der Animation zurücksetzt und neu beginnt, ja.
Sprich Status bei Anklicken prüfen - Ja nein Funktion... Wenn ja, dann... wenn nein neu.

Ich hatte das in einem meiner Container mal so gelöst:

Scriptname aalfresetcontainer extends ObjectReference
;This script is attached to the chest from the CK UI
Event OnInit()
;This event will fire as soon as the chest is initilized in the game.
RegisterForUpdateGameTime(TimeToReset)
EndEvent
Event OnUpdateGameTime()
;This will call the Reset function on this object(i.e. itself)
;can be self.Reset() too, use what you like.
Reset()
EndEvent

Int Property TimeToReset = 24 Auto

Klingt schon mal ziemlich interessant, leider funzt das mim reset() nicht, also er compiliert, das Script läuft auch, aber das reset() setzt das irgendwie nicht zurück.
Ich hab das Script (vom ersten Post) auf nem Activator drauf und lass damit die LinkedRef (mit Keyword) (nach dem myLinkedRef.PlayAnimation(Animation)) resetten. leider nix :/
 
Hast du denn auch die Property in dem zu resettendem Objekt gesetzt? Bei mir war das damals im Fass an irgendeiner Stelle, sry, kann icht präziser werden, da ich kein CK mehr habe, um nachzugucken.
Int Property TimeToReset = 24 Auto Das muss im Resetobjekt eingestellt werden (eingefügt werden? Weiß nicht mehr genau, war ne Scrolldownfunktion glaub ich), wobei du die Zahl so einstellen kannst, wie es dir beliebt, da es auto ist und er sich die dann halt rausholt.
 
  • Like
Reaktionen: .mausetot