CreateItemOnObject(string, object, int)

objectのインベントリーに指定したアイテムを作成します。

object CreateItemOnObject(
    string sItemTemplate,
    object oTarget = OBJECT_SELF,
    int nStackSize = 1
);

Parameters

sItemTemplate

作成するアイテムのブループリントResRef文字列、またはタグ

oTarget

アイテムを作成したいインベントリー。(デフォルト:OBJECT_SELF)

nStackSize

作成するアイテムの数。(デフォルト:1)


Description

この関数は、oTargetのインベントリーにsItemTemplateを持ったアイテムを作成します。カスタムアイテムを作成する場合、sItemTemplateはResRefです。スタンダードアイテムを作成する場合、sItemTemplateはアイテムのタグです。

作成するobjectを返します。エラーの場合、OBJECT_INVALIDを返します。CreateItemOnObjectはアイテムの入れ物にのみ動作します。



Remarks

パラメーターnStackSizeは重ねることのできるアイテム(例:ポーション類)にのみ適応されます。sItemTemplateが重ねることのできないアイテム(例:鎧等)を参照している場合、1つだけしか作成されません。

CreateItemOnObjectは、重ねることのできるアイテムを作成するために呼び出す、重要な作用です。

命令のoTargetがすでに存在しているスタック(束)がある場合、アイテムは存在しているスタックに追加されるように作成されます。この場合、2つの事が起こり得ます。

1. スタックの限界を超えた時、新しいスタックが作成されます。CreateItemOnObjectは有効なobjectを返します。

2. 古いスタックのobjectは99個を超えることはありません。新しいスタックobjectは作成されません。CreateItemOnObjectの返し値はINVALID_OBJECTではありませんが、もし、GetIsObjectValid()を試した場合、FALSEを返すでしょう。


Version

1.29

Example

// 下記スクリプトは配置物objectを最後に使用したobjectのインベントリーに
// 5本のエール瓶を作成します。

object oTarget = GetLastUsedBy();
string sItemTemplate1 = "nw_it_mpotion021";  // スタンダードのエール瓶
int nStackSize = 5; // 5つのアイテムを作成する;
CreateItemOnObject(sItemTemplate1, oTarget, nStackSize);

// 作成するアイテムを変更する場合
string sItemTemplate2 = "nw_ashsw001"; // Standard small shield

// そして、再び命令をする
CreateItemOnObject(sItemTemplate2, oTarget, nStackSize);

// nStackSizeは5であるが、oTargetのインベントリーにはスモールシールドが
// 1つだけ作成される。

See Also

functionsActionGiveItem | CopyItem | CreateDagger | CreateGenericDruidWeapon | CreateGenericExotic | CreateGenericMonkWeapon | CreateGenericWizardWeapon | dbCreateItemOnObject | GetBaseItemType
categories: Inventory Functions | Item Creation Functions


author: Dave Withnall, editor: Charles Feduke, additional contributor(s): Kirsten, Chris Becke, JP team: geshi, Rainie
Send comments on this topic.