Difference between revisions of "GetCombatTarget"

From the Oblivion ConstructionSet Wiki
Jump to navigation Jump to search
imported>Antares
m (Very Minor edit, changed a few words around clarifying what a solution achieved in regards to the player's combat targets.)
imported>Shademe
m (Just fixed some grammatical errors and alignment isues)
 
(One intermediate revision by one other user not shown)
Line 5: Line 5:


Player.GetCombatTarget will always return 0 as the game cannot read the player's mind.<BR>
Player.GetCombatTarget will always return 0 as the game cannot read the player's mind.<BR>
''- 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.''
:''- 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==
==Retrieving the Player's Potential Combat Targets==
*To get the player's potential combat targets, you can either cast an AoE spell in the vicinity of the player, with the script attached to the spell could be:
*To get the player's potential combat targets, an {{Tooltip|AoE|Area of Effect}} spell can be cast in the vicinity of the player, with a script attached :


<pre>begin scriptEffectStart
begin ScriptEffectStart
     if ( getCombatTarget == player )
     if ( GetCombatTarget == player )
         ;  Do stuff
         ;  Do stuff
     endIf
     endif
end</pre>
end


To use a centralized script, have the spell pass the NPC's reference to an [[Activate|activator]] [[Activation_Functions|function]]
To use a centralized script, have the spell pass the NPC's reference to an [[Activate|activator]] [[Activation_Functions|function]]
Line 23: Line 23:
  end
  end


The downside - each NPC can't have its own set of variables, but most of the time their not necessary.
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 [[GetFirstRef|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|Pluggy]] reference array can be used.
* In turn, OBSE's [[GetFirstRef|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|Pluggy]] reference array can be used.

Latest revision as of 02:20, 10 October 2008

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.