TakeComplexItem(object)

プレイヤーの所持品からプロットに関係するアイテムを取り除きます。

void TakeComplexItem(
    object oPC
);

Parameters

oPC

アイテムを取り除くプレイヤー。


Description

関数を呼び出したクリーチャーのNW_J_COMPLEX_MYGLOBALSというローカルオブジェクトからコンプレックスアイテムのタグネームを得ます。そして対象の全ての所持品と装備品を調べ、返されたタグと比較しそれを破壊します。



Remarks

関数はnw_j_complex.nssの146行目で見つかります。


この関数の設定は、NPCのクエストに関連したプロット・アイテムに関連する情報の蓄積に集中されます。

特にこの関数は利用可能な7つの他の関数から2つを単に利用します。

この関数の全ては比較的ストレートで、全体を理解するのに簡単です。

リンクの"See Also"をご覧下さい。


さらに全く同じ関数で、コンプレックスアイテムの代わりに"アーティファクト"に働く、別のスクリプトもあります。

スクリプトは同一ですが、その後、それらを理解しやすくコーディングし、機能性を追加するために分けられました。

その他の関数を"See Also"セクションで見てください。


Version

1.22

Example

// クエストを発信するNPCのOnSpawn
#include "NW_J_COMPLEX"
    SetGlobal(OBJECT_SELF,OBJECT_SELF);
    SetComplexItem("COMP_ITEM03");
    SetPlotTag("NW_LOCK_PLOT"); //このクエストの報酬になる経験値を持ったジャーナルエントリーに合わせる。
    
//アイテムを返したプレイヤーにNPCのカンバセーション表示の条件で報酬を与えます。
#include "NW_I0_PLOT"
#include "NW_J_COMPLEX"

int StartingConditional()
{
    if (PlayerHasComplexItem(GetPCSpeaker()) == TRUE)
    {
        ActionPauseConversation();
        TakeComplexItem(GetPCSpeaker()); //プレイヤーの所持品欄からアイテムを破壊します。
        RewardXP(GetPlotTag(),100,GetPCSpeaker());
        ActionResumeConversation();
    }
    return FALSE;
}

See Also

functions: GetComplexItem | GetFetchItem | GetPlotTag | GetStoryItem | PlayerHasComplexItem | SetComplexItem | SetGlobal | SetPlotTag | SetStoryItem | TakeArtifactItem | TakeFetchItem | TakeStoryItem
categories: Inventory Functions


author: John Shuell, JP team: NamaYake
Send comments on this topic.