Difference between revisions of "Resurrect"

From the Oblivion ConstructionSet Wiki
Jump to navigation Jump to search
imported>DragoonWraith
(→‎Animation Example: standardizing code style)
imported>Talkie Toaster
(Changing the abysmally-written script)
 
(One intermediate revision by one other user not shown)
Line 5: Line 5:


The AnimateFlag appears to be optional when Resurrect is used from the Console, but not when used in script.
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 ==
== Animation Example ==
The following code is used to allow the actor time to get up before continuing to execute:
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
  short FlagDead  ;Set to 1 when actor is dead and to 0 when resurection anim is
                   ;complete  
                   ;complete  
   
   
  short ResurrectAminTimer  ;Counts frames since resurrection
  float Timer      ;Counts time since resurrection
   
   
  Begin GameMode
  Begin GameMode
   
   
   ;Set actor's Death Flag to 1 on death,(Note:You might have to interupt the current
   ;If the actor's dead, make a note of it- it'll take some time to revive them.
  ;AI package here)
   if ( Actor.GetDead )
   if ( Actor.GetDead == 1 )
     set FlagDead to 1
     set FlagDead to 1
     Actor.resurrect 1
     Actor.resurrect 1
  endif
    set Timer to 0
   
   
   ;Timer that prevents the script from running before resurrection animation is
   elseif( FlagDead )
  ;finished(including AI packages).  Starts when actor is resurrected.
      if(Timer < 3)
  if ( FlagDead == 1 ) && ( Actor.GetDead == 0 )
        ;Wait two seconds for the animation to finish playing
    set ResurrectAminTimer to ResurrectAminTimer + 1
        set Timer to Timer + GetSecondsPassed
  endif
  ;After 200 frames (enough for resurrection animation to complete), resume script
  if ( ResurrectAminTimer > 200 )
    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
   
   
      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
  End



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]