SetCampaignString(string, string, string, object)

キャンペーンデータベースに文字列値を設定します。

void SetCampaignString(
    string sCampaignName,
    string sVarName,
    string sString,
    object oPlayer = OBJECT_INVALID
);

Parameters

sCampaignName

キャンペーン名。(大文字/小文字は区別されます)

sVarName

変数名。

sString

設定する値。

oPlayer

変数を関連づけるプレイヤー。(デフォルト: OBJECT_INVALID)


Description

キャンペーンデータベースに文字列値を設定します。

キャンペーン名は大文字/小文字を区別します。



Remarks

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

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

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

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

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

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

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

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

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

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


Known Bugs

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

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


Version

1.30

See Also

functions: GetCampaignString
categories: Database Functions


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