CheckEnemyGroupingOnTarget(object, float)
ターゲット周辺の球体状の範囲内の敵の数を取得します。
int CheckEnemyGroupingOnTarget( object oTarget, float fDistance = 5.0 );
Parameters
oTarget
敵数をチェックする球体範囲の中心になる対象のobject
fDistance
敵数をチェックする球体状の半径(デフォルト:5.0)
Description
oTargetを中心とした半径fDistanceを持つ球体範囲内の敵対ファクションの総数を返します。これはCheckFriendlyFireOnTargetの反対です。
Remarks
この関数はnw_i0_generic.nssの3463行目にあります。
NPCのAIには非常に使える関数です。1つのクリーチャー周辺の全てのターゲットを1周循環し、呼出objectが敵対と見なす者の数を得ます。
Requirements
#include "nw_i0_generic"
Version
1.22
Example
// NPCに1以上の敵の集団を見渡させ、友好的なクリーチャーが // 範囲内にないことを確かめます。次に、ファイアボール呪文を // 持っている場合、それを発射させる void main() { oTarget = GetNearestCreature(CREATURE_TYPE_REPUTATION, REPUTATION_TYPE_ENEMY, OBJECT_SELF, 1, CREATURE_TYPE_PERCEPTION, PERCEPTION_SEEN); if(GetIsObjectValid(oTarget)) { int nEnemy = CheckEnemyGroupingOnTarget(oTarget); int nFriendlies = CheckFriendlyFireOnTarget(oTarget); if( nFriendlies < 0 && nEnemy > 1) { ActionCastSpellAtObject(SPELL_FIREBALL,oTarget); } } }
See Also
functions: | CheckFriendlyFireOnTarget |
categories: | Combat Functions | Core AI Functions |
author: Iskander Merriman, editor: John Shuell, JP team: Rainie
Send comments on this topic.