Difference between revisions of "Resurrect"

From the Oblivion ConstructionSet Wiki
Jump to navigation Jump to search
imported>DragoonWraith
imported>Talkie Toaster
(Changing the abysmally-written script)
 
(4 intermediate revisions by 2 users not shown)
Line 1: Line 1:
'''Syntax:'''
'''Syntax:'''
  Resurrect ''AnimateFlag (optional)''  
  Resurrect ''AnimateFlag''


Resurrects the calling actor. If the AnimateFlag argument is 1, the actor will animate getting up (as if from a knockdown). Scripting or AI packages may interrupt the animation, so one should be careful to avoid these.


Resurrects the calling actor.  
The AnimateFlag appears to be optional when Resurrect is used from the Console, but not when used in script.


AnimateFlag = 1: The actor will animate getting up (as if from a knockdown)For the
Resurrect may remove items from some actors, including items flagged as unplayable.   
animation to complete, make sure no script commands or AI packages affects the actor, otherwise the animation will not complete.


It appears that the animation flag is '''not''' optional. Using the command from a script without the flag will cause a CTD. (Oddly, this problem does not appear when the command is called from the console.)
== Animation Example ==
 
The following code is used to allow the actor time to get up before continuing to execute. This may not always be necessary- if you're adding items, packages or factions to them, for example, whether or not they're getting up off the floor has no bearing:
  example:
short FlagDead  ;Set to 1 when actor is dead and to 0 when resurection anim is
  short FlagDead  ;Set to 1 when actor is dead and to 0 when resurection anim is
                  ;complete  
                    ;complete  
 
  float Timer      ;Counts time since resurrection
  short ResurrectAminTimer ;Counts frames since resurrection
 
Begin GameMode
  begin gamemode
 
   ;If the actor's dead, make a note of it- it'll take some time to revive them.
   ;Set actor's Death Flag to 1 on death,(Note:You might have to interupt the current
   if ( Actor.GetDead )
  ;AI package here)
    set FlagDead to 1
   if (Actor.GetDead==1)
    Actor.resurrect 1
        set FlagDead to 1
    set Timer to 0
        Actor.resurrect 1
   
  endif
   elseif( FlagDead )
 
      if(Timer < 3)
  ;Timer that prevents the script from running before resurrection animation is
        ;Wait two seconds for the animation to finish playing
  ;finished(including AI packages). Starts when actor is resurrected.
        set Timer to Timer + GetSecondsPassed
   if (FlagDead==1) && (Actor.GetDead ==0)
   
      set ResurrectAminTimer to ResurrectAminTimer+1
      else
  endif
        set FlagDead to 0
 
        ;If it's been over three seconds, they're standing up.
  ;After 200 frames (enough for resurrection animation to complete), resume script
        ;Now you can play animations on them and so on.
  if ResurrectAminTimer>200
      endif
        set FlagDead to 0
        set ResurrectAminTimer to 0
    endif
 
    ;when actor is alive and resurrect anim complete, Run main script
    if FlagDead == 0
        ;Do stuff on actor
     endif
     endif
End


== Using on Player ==


AnimateFlag = Nothing or 0: the actor will simply reset and snap back to its alive state.
Using Resurrect on the player will result in loss of magic and racial abilities and cause camera problems (camera becomes centered on player's feet). See [http://www.uesp.net/wiki/Tes4Mod:Resurrecting_the_Player UESP: Resurrecting the Player] for analysis and alternate approaches.
== Using on Player ==
Using resurrect on the player will result in loss of PC abilities and camera problems (camera becomes centered on players feet). See [http://www.uesp.net/wiki/Tes4Mod:Resurrecting_the_Player UESP: Resurrecting the Player] for analysis and alternate approaches.


== See Also ==
== See Also ==

Latest revision as of 15:17, 16 July 2009

Syntax:

Resurrect AnimateFlag

Resurrects the calling actor. If the AnimateFlag argument is 1, the actor will animate getting up (as if from a knockdown). Scripting or AI packages may interrupt the animation, so one should be careful to avoid these.

The AnimateFlag appears to be optional when Resurrect is used from the Console, but not when used in script.

Resurrect may remove items from some actors, including items flagged as unplayable.

Animation Example[edit | edit source]

The following code is used to allow the actor time to get up before continuing to execute. This may not always be necessary- if you're adding items, packages or factions to them, for example, whether or not they're getting up off the floor has no bearing:

short FlagDead   ;Set to 1 when actor is dead and to 0 when resurection anim is
                 ;complete 

float Timer      ;Counts time since resurrection

Begin GameMode

  ;If the actor's dead, make a note of it- it'll take some time to revive them.
  if ( Actor.GetDead )
    set FlagDead to 1
    Actor.resurrect 1
    set Timer to 0

  elseif( FlagDead )
     if(Timer < 3)
        ;Wait two seconds for the animation to finish playing
        set Timer to Timer + GetSecondsPassed

     else
        set FlagDead to 0
        ;If it's been over three seconds, they're standing up. 
        ;Now you can play animations on them and so on.
     endif
   endif
End

Using on Player[edit | edit source]

Using Resurrect on the player will result in loss of magic and racial abilities and cause camera problems (camera becomes centered on player's feet). See UESP: Resurrecting the Player for analysis and alternate approaches.

See Also[edit | edit source]