GetNthActiveEffectTimeElapsed

Revision as of 23:59, 9 June 2010 by imported>Tejón
(diff) ← Older revision | Latest revision (diff) | Newer revision → (diff)

A command for Oblivion Script Extender

Syntax:

(timeElapsed:float) reference.GetNthActiveEffectTimeElapsed whichEffect:long
(timeElapsed:float) reference.GetNthAETime whichEffect:long

Returns the time that the Nth Active Effect has been applied to the reference.

Example

float EffectTimePassed
set EffectTimePassed to (player.GetNthActiveEffectTimeElapsed 0)

If the player currently has two Shield effects, the first in effect for 10 seconds and the second for 90, this will return 10.

NotesEdit

  • On the very first frame of an effect, this appears to always return 0.1 regardless of framerate.
    • Further frames increment this normally; e.g. if a script's GetSecondsPassed reports 0.016, this command will return 0.116 for an effect that has been on the actor since the previous frame.
  • Active Effects from different sources are counted as unique Active Effects, even if they are the same. For example, a Shield effect from a potion, a Shield effect from another potion, and a Shield effect from a spell, each one will return their own magnitude.
    • If the Magic Item has 2 of the same effect, they will be counted separately.
    • If the effect is from the same Magic Item (i.e., 2 instances of DrinkAle), it will still count as 2 separate Active Effects.
      • While counted separately, if there are multiple scripted effects with the same script generally only the first one's data (i.e., Magic Item Index, Caster) will be returned (i.e., GetNthActiveEffectMagicItemIndex, GetNthActiveEffectCaster).

See AlsoEdit