Jump to content

How to make two NPCs talk to each other in a scripted convo?


McFearo

Recommended Posts

I tried following Seddon's video on the subject but he doesn't actually show proof that his method works.

 

I set up 2 test NPCs, gave them voice types, set up dialogue with GetIsID conditions. In a trigger near the NPCs I put an OnTriggerEnter Player script for NPC 1 to say X dialogue to NPC 2, then in the result script for that dialogue I had that set to tell NPC 2 to say a response to NPC1.

 

The scripts go like

 

Test01REF.SayTo Test02REF TestDialogue01 1 1

 

I even took DoOnce off the trigger so I could walk through it multiple times and see if it would work, but they just stand there. Silently. Mocking me.

Link to comment
Share on other sites

In the script of the NPCs you want to talk to each otheryou would use the "Begin OnSayToDone TopicID"

Then enter test01ref.sayto test02red testdialouge01 1 1

END

You don't need to do any endifs because it only runs after the NPC whose script this is in says that specific dialogue topic.

Link to comment
Share on other sites

Clarification please: Are you saying the OnSayToDone block doesn't need a Say or Sayto block preceding it?

 

Otherwise don't you mean he should ADD that block to his script?

 

Added (for the moment) as 'TIP Conversations between NPCs' under the "Dialog and Lipsynch" section of the wiki "Getting started creating mods using GECK" article.

 

-Dubious-

Edited by dubiousintent
Link to comment
Share on other sites

He is trying to get multiple NPCs to talk, so the "Test01Ref.Sayto test02ref testdialogue01 1 1" is commanding the other NPC to say something to the NPC whose script this is in.

 

How it would be written, to make it clear would be like this:

 

;This is NPCREFA's script

 

Begin OnSayToDone DialogueTopicA

 

NPCREFB.SayTo NPCREFA DialogueTopicB 1 1

 

END

 

Begin OnSayToDone DialogueTopicC

 

SetStage QuestID 10 (or whatever you want to make it do when the conversation is over)

 

END

 

 

 

;This is NPCREFB's script

 

Begin OnSayToDone DialogueTopicB

 

NPCREFA.SayTo NPCREFB DialogueTopicC 1 1

 

END

Edited by ashtonlp101
Link to comment
Share on other sites

  • Recently Browsing   0 members

    • No registered users viewing this page.
×
×
  • Create New...