SimStatus lookup error when jumping to a dialogue in an other conversation

Announcements, support questions, and discussion for the Dialogue System.
Post Reply
_marc
Posts: 69
Joined: Mon Nov 05, 2018 5:44 am

SimStatus lookup error when jumping to a dialogue in an other conversation

Post by _marc »

Hi Tony,

I have a problem using "Dialog[thisID].SimStatus". Here is what I'm trying to do (with Articy):
conversation A -> jump to dialogue fragment (with SimStatus condition) in conversation B
Quite simple :D But I get the error 'Lookup of field 'SimStatus' in the table element failed because the table element itself isn't in the table.' :(
I guess this is because the Dialogue System is looking for a dialogue ID in the conversation A. But why ? If I add a dialogue fragment with no simstatus condition just after the jump, it works perfectly:
conversation A -> jump to dialogue fragment (with no condition) in conversation B -> dialogue fragment (with SimStatus condition)

Am I doing something wrong, or do you think you could fix that? That would save me from having to add extra (useless) nodes and, above all, would avoid other people to face the same problem.

And just to know, some times ago you talked about a method to get all the actors included in a conversation, do you still plan to add this feature?

Have a nice day!

Marc
User avatar
Tony Li
Posts: 21055
Joined: Thu Jul 18, 2013 1:27 pm

Re: SimStatus lookup error when jumping to a dialogue in an other conversation

Post by Tony Li »

Hi Marc,

You'll have to add the extra dialogue fragment. It's the way the data is designed, which is based on Chat Mapper. Alternatively, you could check Conversation[#].Dialog[#].SimStatus, where # are the ID numbers, but it assumes you know the ID numbers of conversation B and the jump destination node.
_marc wrote: Wed Sep 16, 2020 11:37 amAnd just to know, some times ago you talked about a method to get all the actors included in a conversation, do you still plan to add this feature?
I posted some code for that a while ago. Briefly, it looked like this:

Code: Select all

public int[] GetConversationActorIDs(string conversationTitle)
 {
     var conversation = DialogueManager.masterDatabase.GetConversation(conversationTitle);
     var ids = new List<int>();
     foreach (var entry in conversation.dialogueEntries)
     {
         if (!ids.Contains(entry.ActorID)) ids.Add(entry.ActorID);
         if (!ids.Contains(entry.ConversantID)) ids.Add(entry.ConversantID);
     }
     return ids.ToArray();
 }
_marc
Posts: 69
Joined: Mon Nov 05, 2018 5:44 am

Re: SimStatus lookup error when jumping to a dialogue in an other conversation

Post by _marc »

Ok, good. If someday you have the time to add these kind of special cases to the articy documentation, it would be great. We can do a lot of amazing things with Articy that are compatible with the Dialogue System, but on rare occasions you get an error while there's no logical reason why it should not work. It's frustrating... Chat Mapper has some limitations (personally that's why I left it for Articy), that's right, but I understand that changing the foundations of the dialogue system now would be quite risky :)

Thank you for your detailed answer and for the piece of code to get the actors in a conversations!
User avatar
Tony Li
Posts: 21055
Joined: Thu Jul 18, 2013 1:27 pm

Re: SimStatus lookup error when jumping to a dialogue in an other conversation

Post by Tony Li »

Good point. I just staged an explanation in the upcoming version of the documentation. If you come across any other pieces of information that you think would be helpful in the documentation, please let me know.
Post Reply