Add Player responses recursively when using links to other conversations.

Announcements, support questions, and discussion for the Dialogue System.
Post Reply
OwNathan
Posts: 10
Joined: Fri Jul 28, 2023 8:20 am

Add Player responses recursively when using links to other conversations.

Post by OwNathan »

I am currently making extensive use of links to external conversations in the dialogue database, and everything works perfectly for NPCs since they only have a single option to be used. Sadly, when it comes to the player possible responses are not added recursively by going inside each possible linked conversation/node, but only the first one found is added.
Is there any native feature to search all links recursively? If not, in case we need to code some sort of script to do that, where should we look?
Thank you!
User avatar
Tony Li
Posts: 21678
Joined: Thu Jul 18, 2013 1:27 pm

Re: Add Player responses recursively when using links to other conversations.

Post by Tony Li »

Hi,

There shouldn't be a difference between NPC and PC links at that stage of evaluation. Can you please provide some screenshots that illustrate the difference?
OwNathan
Posts: 10
Joined: Fri Jul 28, 2023 8:20 am

Re: Add Player responses recursively when using links to other conversations.

Post by OwNathan »

Sure!

In this example, we have two different external links and a direct link to a PC reply, all of them connected to an empty group.
dialogues_0.png
dialogues_0.png (32.91 KiB) Viewed 14259 times
Only the first connection is linked to Player entries with conditions, while the other two should always be available. All conditions are checked after the connections.
dialogues_1.png
dialogues_1.png (26.24 KiB) Viewed 14259 times
When played in Unity, this dialogue first jumps into conversation 16, all conditions are seen as false, then it goes into conversation 43, finds a viable Player entry, adds it to the responses, and never adds the last one. (the one saying "go away").
dialogues_2.png
dialogues_2.png (25.4 KiB) Viewed 14259 times
When a condition is true in the Quest conversation, it jumps to, only a single response from that conversation is available. Considering the dynamic system we put in place, we would need the Dialogue System to search inside all conversations it is connected to and add all valid responses.

I hope this clarified a little!

EDIT: we are using version 2.2.20
User avatar
Tony Li
Posts: 21678
Joined: Thu Jul 18, 2013 1:27 pm

Re: Add Player responses recursively when using links to other conversations.

Post by Tony Li »

Hi,

Are the options linked from the first two group nodes (Jump to: [QUEST Dialogues Access Point] and Jump to: [PC Options - Attack]) assigned to a Player actor? Except for {group} modes, all options' nodes should be colored blue. It doesn't matter whether group nodes are assigned to the Player or NPC.

If any nodes (except for {group} nodes) are assigned to an NPC, the conversation will use that node instead of any Player nodes.

If that doesn't help, can you either send a copy of your dialogue database to tony (at) pixelcrushers.com or back up your project, update to the current DS version, and import again from articy?
OwNathan
Posts: 10
Joined: Fri Jul 28, 2023 8:20 am

Re: Add Player responses recursively when using links to other conversations.

Post by OwNathan »

Hi Tony,
after some time, I finally discovered what happens. Instructions from Articy, at least in the version we are using, are imported as NPC nodes and not groups, meaning that all links added as responses previously are lost.
I don't know if that could be fixed by updating to a newer version, but currently, we have changed a few things on Dialogue System to allow some of our other systems to work, so we'd prefer not to switch versions right now. We will try to change how Instructions are imported so that they becomes groups!

My only doubt is that, in the importer, there is the following comment "Since groups are processed one level ahead, don't make this a group:", but so far scripts in groups worked perfectly for us.
User avatar
Tony Li
Posts: 21678
Joined: Thu Jul 18, 2013 1:27 pm

Re: Add Player responses recursively when using links to other conversations.

Post by Tony Li »

Hi,

More details on that comment: Conversations Evaluate Conditions One Extra Level Ahead

It should be fine to change your import code to make it a group -- but if it's immediately followed by a condition, add a node between the instruction and the condition.
Post Reply