Difference between revisions of "GetCombatTarget"

From the Oblivion ConstructionSet Wiki
Jump to navigation Jump to search
imported>Shademe
(Added methods to find PC's combat targets)
imported>Shademe
m (Just fixed some grammatical errors and alignment isues)
 
(2 intermediate revisions by 2 users not shown)
Line 4: Line 4:
Returns the calling actor's current combat target.   
Returns the calling actor's current combat target.   


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