GetCampaignFloat(string, string, object)

キャンペーンデータベースから整数値を取り出します。

float GetCampaignFloat(
    string sCampaignName,
    string sVarName,
    object oPlayer = OBJECT_INVALID
);

Parameters

sCampaignName

変数を保管しているキャンペーン名。(大文字/小文字は区別されます)

sVarName

特有の変数名。

oPlayer

変数を伴っているプレイヤー。(デフォルト: OBJECT_INVALID)


Description

キャンペーンデータベースから整数値を返します。

キャンペーン名は大文字/小文字を区別します。変数が見つからない場合は、0を返します。



Remarks

oPlayerとしてオブジェクトが指定されている場合、同じ名前の変数を複数もっている可能性があります。

しかしながら、それについては厳しくテストされていないので、とにかく特有の変数名を使うのが良い方法かもしれません。

さらに、NWNにおけるデータベースアクセス速度は遅いです。

変数はローカルに保管するのが良い方法です。そうすると、必要な時だけデータベースへの転送、データベースからの読み取りが行われます。

データベース内の変数は、セーブデータに依存していないことを憶えておくことも重要です。

プレイヤーが前のセーブデータに戻った場合でも、データベースには直近の変数が保管されているでしょう。

このことがプレイヤーの手助けになる可能性は少ないので、プレイヤーのゲーム感全体を損ねる可能性があると言えます。

したがって、データベースの本当の力は恐らく以下のとおりでしょう:

一定の基地としてPWに変数を保管する能力を持っているので、多くの情報を失わずに済みます。(例えば、変数のバックアップを毎時間行うことができるなど)

また、2つもしくはそれ以上のモジュール間で簡単に情報を転送することができます。例えば、公式キャンペーン中のタイプ設定がそうです。


Known Bugs

1.30のパッチには、プレイヤーの特定のデータ保管に関する問題がありました。(けれども、シャドウ・オブ・アンドレンタイドにおいてのみです)

1.31のパッチにおけるフィックスで、SoU 1.30とSoU 1.31間におけるプレイヤーの特定のデータベースアクセスに関する互換性は損なわれるでしょう。


Version

1.30

See Also

functions: SetCampaignFloat
categories: Database Functions


author: Charles Feduke, editor: Lilac Soul, JP team: katsu794
Send comments on this topic.