Larian Banner: Baldur's Gate Patch 9
Previous Thread
Next Thread
Print Thread
#631540 16/10/17 06:36 PM
Joined: Oct 2017
P
apprentice
OP Offline
apprentice
P
Joined: Oct 2017
Hello, do you know how to start a dialogue or there are 3 NPCs or more and the player is just a spectator? I cant do it.

Joined: Oct 2017
Location: United Kingdom
journeyman
Offline
journeyman
Joined: Oct 2017
Location: United Kingdom
I got an NPC to move to and talk to another with:

Code
CharacterMoveToAndTalk(NPC1GUID,NPC2GUID,"DIALOGNAME",0,"DIALOGNAME",1,10.0);


Then after that this adds player to dialog as spectator if they can see the target NPC. Probably are better ways to do it but it works for me.

Code
IF
DialogStarted("DIALOGNAME",_ID)
AND
DB_IsPlayer(_Player)
AND
CharacterCanSee(NPC2GUID),_Player,1)
THEN
DialogAddCharacter(_ID,_Player);


Make sure to add the NPCs as speakers in the dialog editor.

Joined: Oct 2017
P
apprentice
OP Offline
apprentice
P
Joined: Oct 2017
Thanks for your help, it helped me. However, I found it simpler

Quote
IF
DialogStarted ("DIALOG", _ID)
THEN
DialogAddCharacter(_ID, NPC2);
DialogAddCharacter(_ID, PLAYER);

Joined: Oct 2017
P
apprentice
OP Offline
apprentice
P
Joined: Oct 2017
dosent work

Joined: Sep 2017
Location: UK
apprentice
Offline
apprentice
Joined: Sep 2017
Location: UK
You can do this with the dialogue editor..

1: Create a new dialogue with the 3 NPC and the GROUP_Players as the speakers.

2: Create your dialogue but do not assign the GROUP_players to any of the nodes, just assign who is speaking at the time.

3: Assign this new dialogue as the "default dialog" for each of the NPCs.

When the player clicks talks to any of these NPCs they will get into the dialog but will only be able to "listen" and will not get the option to participate.

Joined: Oct 2017
P
apprentice
OP Offline
apprentice
P
Joined: Oct 2017
Originally Posted by Scottworld
You can do this with the dialogue editor..

1: Create a new dialogue with the 3 NPC and the GROUP_Players as the speakers.

2: Create your dialogue but do not assign the GROUP_players to any of the nodes, just assign who is speaking at the time.

3: Assign this new dialogue as the "default dialog" for each of the NPCs.

When the player clicks talks to any of these NPCs they will get into the dialog but will only be able to "listen" and will not get the option to participate.


hi, i did exactly what you said, but it does not work. I tried for a very long time, but I do not see the mistake I make

Joined: Sep 2017
M
member
Offline
member
M
Joined: Sep 2017
If you want Show us your Dialog window with the nodes and Speakers - maybe we can identify the issue - works for me fine aswell with Dialog Editor.

Joined: Oct 2017
P
apprentice
OP Offline
apprentice
P
Joined: Oct 2017
Originally Posted by monzua
If you want Show us your Dialog window with the nodes and Speakers - maybe we can identify the issue - works for me fine aswell with Dialog Editor.


Thank for your help. Here are the screens

[Linked Image]
[Linked Image]
[Linked Image]
[Linked Image]

Joined: Oct 2017
P
apprentice
OP Offline
apprentice
P
Joined: Oct 2017
I just up my post, maybe someone will help me

Last edited by PatateDouce; 01/11/17 12:40 PM.
Joined: Oct 2017
Location: United Kingdom
journeyman
Offline
journeyman
Joined: Oct 2017
Location: United Kingdom
Try assigning the dialog to the NPCs you want to speak with (in a script)

DB_Dialogs(NPC1,NPC2,"myDialog"); (with NPC1 the NPC who speaks first)

Then add the speakers in the dialog editor (the "edit dialog speakers" tool) with NPC1 first. Then start the dialog however you want with "SelectAndStartDialog(_Player,NPC1);" or whatever. This works for me anyway.

Maybe if you added dialogs to the NPCs previously you should use ProcRemoveAllDialogEntriesForSpeaker in a script before you assign the dialog.


Moderated by  Larian_KVN 

Link Copied to Clipboard
Powered by UBB.threads™ PHP Forum Software 7.7.5