GetNextObjectInShape(int, float, location, int, int, vector)

シェイプ(shape)内の指定タイプ(クリーチャー、ドア等)の次のobjectを得ます。

object GetNextObjectInShape(
    int nShape,
    float fSize,
    location lTarget,
    int bLineOfSight = FALSE,
    int nObjectFilter = OBJECT_TYPE_CREATURE,
    vector vOrigin = [0.0,0.0,0.0]
);

Parameters

nShape

SHAPE_*

fSize

シェイプ形状の大きさ(さらなる情報はDescriptionを参照してください)または、RADIUS_SIZE_*。

lTarget

シェイプの始点

bLineOfSight

これは返されたobjectの視線チェックをするかどうかを操作します。(これは呪文エフェクトが壁を通り抜けないことを確実にするために使用することができます。)(デフォルト:FALSE)

nObjectFilter

OBJECT_TYPE_* (デフォルト: OBJECT_TYPE_CREATURE)

vOrigin

これは筒状と円錐状、またはエフェクトの始点を指定する時にのみ使用されます。


Description

指定したnShapeのfSize内の次のobjectを、objectがそれ以上含まれていない場合はOBJECT_INVALIDを返します。


fSize
- If nShape == SHAPE_SPHERE, これは球状範囲です。

- If nShape == SHAPE_SPELLCYLINDER,これは円筒状範囲です。

- If nShape == SHAPE_CONE, これは広い円錐状範囲です。.

- If nShape == SHAPE_CUBE, これは立方体の面のうちの1つの長さの半分です。


nObjectFilter
例えば、クリーチャーとドアだけを返すためには、このパラメーターの値をOBJECT_TYPE_CREATURE | OBJECT_TYPE_DOORにします。これは望まないオブジェクト・タイプを、ビット単位の「or」を使ってろ過することを可能にします。



Remarks

この関数を使う前に同じパラメータを使ったGetFirstObjectInShapeを呼び出す必要があります。


Known Bugs

SHAPE_CONEの形状がCONE(円錐)でないことが数人のユーザーから報告されています。そして実はこの定数はオフィシャルキャンペーン全体を通して、たった一つの関数でしか使われてないことで、それが少しバグが多くしているのかもしれません。


SHAPE_SPELLCONE定数では、ITargetは円錐の角度を表します。ltargetの方向にfSizeだけ離れます。"vOrigin"は無視されます−円錐に始点はありません−−−円錐の始点はOBJECT_SELFの位置になります。


SHAPE_SPELLCYLINDERでは、"fSize"は通常円筒の長さで、円筒の終点はvOriginからlTargetに向かって沿うように"fSize"進んだところです。円筒の幅(直径)は常に約10フィート(?)です

−公式フォーラムでのKorak氏の報告


Version

1.22

Example

// バーニングハンズ呪文を使うBiowareのスクリプトより

// [Snip][Snip]
oTarget = GetFirstObjectInShape(SHAPE_SPELLCONE, 10.0, GetSpellTargetLocation(), TRUE, OBJECT_TYPE_CREATURE | OBJECT_TYPE_DOOR | OBJECT_TYPE_PLACEABLE);

// 無効なobjectを捕まえるまで、呪文の形状範囲内のターゲットを循環する
while(GetIsObjectValid(oTarget))
{
   if(!GetIsReactionTypeFriendly(oTarget))
   {
      // セービングスロー、ダメージ、エフェクト等を操る
   }
   // 呪文の形状範囲内の次のターゲットを選択する
   oTarget = GetNextObjectInShape(SHAPE_SPELLCONE, 10.0, GetSpellTargetLocation(), TRUE, OBJECT_TYPE_CREATURE | OBJECT_TYPE_DOOR | OBJECT_TYPE_PLACEABLE);
}
// [Snip][Snip]

See Also

functions: GetFirstObjectInShape
categories: Miscellaneous Functions
constants: OBJECT_TYPE_* Constants | SHAPE_* Constants


author: Tom Cassiotis, editor: John Shuell, JP team: Rainie
Send comments on this topic.