BeginConversation(string, object)

conversationを即座に開始しようと試みる

int BeginConversation(
    string sResRef = "",
    object oObjectToDialog = OBJECT_INVALID
);

Parameters

sResRef

これが指定されない場合、デフォルトの対話ファイルが使用される(デフォルト:"")

oObjectToDialog

これが指定されない場合、イベントトリガーを引き起こした人が使用される(デフォルト:OBJECT_INVALID)


Description

この機能はOnDialogの(論理的)終了において希望のconversationを開始させる為に通常使用される。

しかしActionStartConversationはより適切かもしれない。


もしsResRefが無指定の場合、このコマンドを実行するobjectのプロパティを参照する。

conversationプロパティがあるならば、そのconversationが使用される。


デフォルトでは、この機能は第2のパラメーターであるイベントを含むトリガーオブジェクトを使用する。



Remarks

実行オブジェクトもしくはoOnjectToDialogのいずれかはPCであるに違いないだろう。


Version

1.22

Example

// NPCのonConversationの中のこのスクリプトは、 NPCが見つけたエリアに
// 依存する異なるconversationファイルを選択する
void main() {
  // エリア名を取得する
  string sAreaName = GetTag(GetArea(OBJECT_SELF));
  // conversation ResRefのための変数を宣言する
  string sConversation;
  // エリアによる正しいconversationを割り当てる
  if ("isk_a_rangersrest" ==  sAreaName)
    sConversation = "rangers_potboy";
  else if ("isk_a_goldengoblin" ==  sAreaName)
    sConversation = "ggoblin_thief";
  else if ("isk_a_sewer1" ==  sAreaName)
    sConversation = "assassin_servant";

  // 適切なconversationを開始する
  BeginConversation(sConversation);
}

See Also

functions: ActionStartConversation
categories: Action on Object Functions | Conversation Functions
events: OnConversation Event


author: Iskander Merriman, editor: Jeremy Spilinek、JP team: Rainie
Send comments on this topic.