Page 1 of 1
Linking to another conversation
Posted: Fri Dec 23, 2016 5:27 am
by kyuubi
Hi,
I'm trying to achieve something that is common in adventure games and I'm certain possible in DS but I'm struggling.
Basically I have a very large dialog tree with a character. In that tree, it makes sense to have topics that only show if I find a certain object. However a way to trigger the conversation is to show the object to the NPC.~
So I show the object to the NPC, I have a small conversation and then I want to link directly to a group in another conversation.
I can see this is supported in DS, but when I create the link and give it a try, instead of the dialog jumping straight into the group deep in the tree, it just exists the main tree.
I hope that makes sense!
Any thoughts?
Thanks,
Re: Linking to another conversation
Posted: Fri Dec 23, 2016 5:32 am
by kyuubi
Okay so more information.
I can see in debug things like this:
Dialogue System: Lua code 'return Dialog[91].SimStatus ~= "WasDisplayed"' threw exception 'Lookup of field 'SimStatus' in the table element failed because the table element itself isn't in the table.'
So it seems that instead of going to the group and stopping, giving me the menu choices it's basically going straight to the children of the group one at a time and failing them because there is no SimStatus.
Re: Linking to another conversation
Posted: Fri Dec 23, 2016 6:32 am
by kyuubi
To further clarify, the SimStatus works fine in the dialog tree itself, but when I link from another conversation it seems to error.
Re: Linking to another conversation
Posted: Fri Dec 23, 2016 9:16 am
by Tony Li
Hi,
I'll take a look and get back to you later today. Sorry for the delay. (My basement flooded, and I have to meet with the insurance adjuster and repair company, but I'll be back as soon as I can.)
Re: Linking to another conversation
Posted: Fri Dec 23, 2016 2:53 pm
by Tony Li
Hi,
Sorry again for the delay!
Are you using SimStatus in your project?
If you are using SimStatus: Dialog[Y] is a shortcut for Conversation[X].Dialog[Y], where X is the current conversation's ID and Y is the dialogue entry ID. When you're evaluating a dialogue entry from a cross-conversation link, the Dialog[] shortcut still points to the original conversation, not the destination's conversation. (The current conversation is still the original conversation because it hasn't actually followed this link yet; it's just evaluating its conditions.) To work around this, use the non-shortcut version: Conversation[#].Dialog[91].SimStatus, where # is the correct conversation ID.
If you aren't using SimStatus directly: Are you using any features that indirectly use SimStatus (that you know of) such as the Dialogue Manager's Display Settings > Input Settings > Em Tag For Old Responses dropdown?
Re: Linking to another conversation
Posted: Sun Jan 01, 2017 8:50 pm
by kyuubi
Hi Tony,
Works like a charm.
Thanks!
Re: Linking to another conversation
Posted: Sun Jan 01, 2017 10:05 pm
by Tony Li
Great! And Happy New Year!
Re: Linking to another conversation
Posted: Tue Sep 04, 2018 2:58 am
by hellwalker
Hi!
I ran into similar problem, and it's a bit hard hard to use specific ID's because I'm exporting DB from Articy draft.
Is there a way to get and update current Conversation ID by creating custom lua script or sequence?
Re: Linking to another conversation
Posted: Tue Sep 04, 2018 10:40 am
by Tony Li
Hi,
For the current conversation, you can use the built-in variable thisID:
Code: Select all
Dialog[thisID].SimStatus ~= "Untouched"
If you need to check a different conversation, I suggest using an articy global variable instead of SimStatus.