Difference between revisions of "OnAnimationEvent - Form"

From the CreationKit Wiki
Jump to navigation Jump to search
imported>GigaPoint
imported>GigaPoint
Line 45: Line 45:
  endIf
  endIf
if (akSource == Game.GetPlayer()) && (asEventName ==  "MRh_SpellFire_Event")
if (akSource == Game.GetPlayer()) && (asEventName ==  "MRh_SpellFire_Event")
      castTime = GetCurrentRealTime() - startTime
   Debug.MessageBox("SpellFire_Event Registered!")
   Debug.MessageBox("SpellFire_Event Registered!")
  endIf
  endIf

Revision as of 04:08, 30 November 2013

Member of: ActiveMagicEffect Script, Alias Script, and Form Script

Event called when the active magic effect/alias/form receives one of the animation events it was listening for.

Syntax

Event OnAnimationEvent(ObjectReference akSource, string asEventName)

Parameters

  • akSource: The ObjectReference that sent the event.
  • asEventName: The event that was received.

Examples

Function SomeFunction()
  RegisterForAnimationEvent(JoeBob, "IdleFurnitureExit") ; Before we can use OnAnimationEvent we must register.
EndFunction

Event OnAnimationEvent(ObjectReference akSource, string asEventName)
  if (akSource == self) && (asEventName == "Reset")
    Debug.Trace("We got the reset animation graph event from ourselves that we were looking for!")
  endIf
endEvent


Another example: checking events through script

Scriptname DetectCastEventScript extends Quest

Event OnInit()
    RegisterForAnimationEvent(Game.GetPlayer(), "BeginCastRight") 
    RegisterForAnimationEvent(Game.GetPlayer(), "BeginCastLeft") 
    RegisterForAnimationEvent(Game.GetPlayer(), "MRh_SpellFire_Event") 
endEvent


Event OnAnimationEvent(ObjectReference akSource, string asEventName)
 	if (akSource == Game.GetPlayer()) && (asEventName == "BeginCastRight")
   		Debug.MessageBox("BeginCastRight Registered!")
 	endIf
	if (akSource == Game.GetPlayer()) && (asEventName ==  "MRh_SpellFire_Event")
   		Debug.MessageBox("SpellFire_Event Registered!")
 	endIf
endEvent

Notes

  • Aliases and quests will automatically unregister for this event when the quest stops. Active magic effects will automatically unregister when they are removed.
  • This event is not relayed to any aliases or magic effects attached to the form.
  • This event is relayed to other scripts attached to the same object. eg. On a quest form with 2 main quest scripts and a fragment script, an update event registered by one will be received by all three.
  • The game will allow you to register ANY animation event, valid or invalid. Though they may register successfully not all of them will necessarily generate events. See the discussion page for more information.

See Also