GetCombatTarget

From the Oblivion ConstructionSet Wiki
Revision as of 02:20, 10 October 2008 by imported>Shademe (Just fixed some grammatical errors and alignment isues)
(diff) ← Older revision | Latest revision (diff) | Newer revision → (diff)
Jump to navigation Jump to search

Syntax:

[ActorID.]GetCombatTarget

Returns the calling actor's current combat target.

Player.GetCombatTarget will always return 0 as the game cannot read the player's mind.

- A loose workaround for this can be done by checking the combat targets of any NPC's within a given proximity of the Player, see below.

Retrieving the Player's Potential Combat Targets[edit | edit source]

  • To get the player's potential combat targets, an AoE spell can be cast in the vicinity of the player, with a script attached :
begin ScriptEffectStart
   if ( GetCombatTarget == player )
       ;  Do stuff
   endif
end

To use a centralized script, have the spell pass the NPC's reference to an activator function

begin ScriptEffectStart
    if (GetCombatTarget == player)
        set ActRef.rNPC to GetSelf
        ActRef.Activate player, 1
    endif
end

The downside to this solution is that each NPC can't have its own set of variables, but most of the time they are not necessary.

  • In turn, OBSE's Reference Walking Functions to get the references within a certain proximity to the player, check for their combat targets and do the appropriate code. Make sure this script in second intervals or greater. To track the combat targets, a Pluggy reference array can be used.

For a pseudo-code example, look into this forum thread.