SetLocalObject(object, string, object)

オブジェクトにオブジェクト型ローカル変数を保存する。

void SetLocalObject(
    object oObject,
    string sVarName,
    object oValue
);

Parameters

oObject

ローカル変数を保存するオブジェクト

sVarName

保存する変数の名称(ファイル名みたいなもの)

oValue

保存するオブジェクト情報


Description

oObjectで指定されたオブジェクトにsVarNameという名前のオブジェクト型保管領域を確保し、oValueの値を保存する。同じオブジェクトの中に同じ名称で再度保存した場合、前の値は失われ、上書きされてしまう。


Remarks

これらの関数は一見、ローカル変数に値を代入する命令に見えるかも知れませんが、実際にはファイルの入出力に近いものと言えます。

SetLocalObject(オブジェクト, ローカル変数名, オブジェクト情報)

これを

SetLocalObject(記憶媒体, ファイル名, データ)

という感じで見たほうがわかりいいかも知れません。

オブジェクト(記憶媒体)が違えば、ローカル変数名(ファイル名)が同じでも別の値が保持できますし、オブジェクト情報(データ)が入った変数名と、ローカル変数名(ファイル名)は一致させる必要もありません。


Known Bugs

クリエイト関数で作成された直後のSetLocal関数はタイミングによって失敗する可能性を秘めている。詳しくはSetLocalString関数の説明にて。


Version

1.28

Example

// モジュール内に"npc_henchment"とタグをつけられている
// オブジェクトがいると想定する。
void main()
{
     object oThis = OBJECT_SELF;
     object oObject = GetObjectByTag("npc_henchment");
     SetLocalObject(oThis, "hench", oObject);
}

See Also

functions: GetLocalObject
categories: Local Variables Functions


author: Daniel Beckman, editor: Charles Feduke, additional contributor(s): Xepherys, Graziano Lenzi, JP team: ngtaicho
Send comments on this topic.