TakeArtifactItem(object)
プレイヤーのインベントリーからプロットに関連するアイテムを取り除きます。
void TakeArtifactItem( object oPC );
Parameters
oPC
アイテムを取り除くPC
Description
呼出object上のNW_J_ARTIFACT_MYGLOBALSと呼ばれるローカルobjectからアーティファクトのtag名を取得し、その後、そのtag名を持つ全てのアイテムを目標のインベントリーと装備品から検索し、破壊します。
Remarks
この関数はnw_j_artifact.nssの146行目で発見できます。
この関数の設定は、NPCのクエストに関連したプロット・アイテムに関連する情報の蓄積に集中されます。特にこの関数は利用可能な7つの他の関数から2つを単に利用します。この関数の全ては比較的ストレートで、全体を理解するのに簡単です。
さらに全く同じ関数で、アーティファクトの代わりに"ComplexItems"に働く、別のスクリプトもあります。スクリプトは同一ですが、その後、それらを理解しやすくコーディングし、機能性を追加するために分けられました。その他の関数を"See Also"セクションで見てください。
Version
1.22
Example
// クエストを発信するNPCのOnSpawn
#include "NW_J_ARTIFACT"
SetGlobal(OBJECT_SELF,OBJECT_SELF);
SetArtifactItem("ART_ITEM01");
SetPlotTag("NW_ARTI_PLOT"); // このクエストの報酬になる経験値を持ったジャーナルエントリーに合わせる
// プレーヤーがアイテムを返して報酬を受け取る
#include "NW_I0_PLOT"
#include "NW_J_ARTIFACT"
int StartingConditional()
{
if (PlayerHasArtifactItem(GetPCSpeaker()) == TRUE)
{
ActionPauseConversation();
TakeArtifactItem(GetPCSpeaker()); // プレイヤーのインベントリーからアイテムを壊す
RewardXP(GetPlotTag(),100,GetPCSpeaker());
ActionResumeConversation();
}
return FALSE;
}
See Also
| functions: | GetArtifactItem | GetComplexItem | GetPlotTag | PlayerHasArtifactItem | PlayerHasComplexItem | SetArtifactItem | SetComplexItem | SetGlobal | SetPlotTag | TakeComplexItem | TakeStoryItem |
| categories: | Inventory Functions | Miscellaneous Functions |
author: John Shuell, JP team: geshi, Rainie
Send comments on this topic.