Get2DAString(string, string, int)

サーバー上にある*.2daファイルから値を得ます。

string Get2DAString(
    string s2DA,
    string sColumn,
    int nRow
);

Parameters

s2DA

サーバーにある*.2daファイルの名前

sColumn

2daの縦の行の名前

nRow

2daの横の列


Description

対象2daファイルから指定した位置にある値を得ます。ファイル・行・列が見つからない場合は空の文字列を返します。2daで"****"の場合は、""(空の文字列)を返します。


Get2DAString は動的にゲームにデータをロードします。つまりゲームを実行中に2daファイルを変更し、2daから新しい値を読み込むことができます。



Remarks

ループ処理として使わないように。実行速度が遅いからです:50列ループさせると数秒かかります。10列ほどならば問題ないでしょう。


2daファイル名の先頭に”des_”から始まる名前を付けないように。

指定する2daファイル名は最大16文字までです。ファイル名が長すぎると警告無しにこの関数は機能しなくなります。


Known Bugs

2daファイル内の一つのフィールドに対しては最大267文字です。これより長くなるとNWNはクラッシュします。


Version

1.31

Example

// return TRUE if weapon does bludgeoning damage
// Uses Get2DAString, avoid to use in loops! 
int GetDoesBludgeoningDamage(object oWeapon)
{
  int nBaseType = GetBaseType(oWeapon);
  return (StringToInt(Get2DAString("baseitems","WeaponType",nBaseType) == 2);
  // 2 = bludgeoning
}

See Also

categories: Database Functions | Get Data Functions | String Functions


author: Charles Feduke, additional contributor(s): Georg Zoeller, Bob Flaherty, JP team: geshi
Send comments on this topic.