Page 3 of 8

Re: Ink integration - couple questions (actors etc.)

Posted: Tue May 12, 2020 10:08 pm
by Tony Li
I'll try to get the picker attribute into the next version. But it might need to be the one after.

The Extras page has an updated integration with a property DialogueSystemInkIntegration.lastStartingPoint that records the knot where the DialogueSystemInkTrigger started the last Ink story.

Re: Ink integration - couple questions (actors etc.)

Posted: Mon May 18, 2020 10:09 am
by nehvaleem
I've got another question but tbh I don't know if it is possible with a pure Dialogue System. I mean - is it possible to get all actors involved in particular conversation (and with Ink integration in mind even within specified knot)? I could really use such info.

Re: Ink integration - couple questions (actors etc.)

Posted: Mon May 18, 2020 3:06 pm
by Tony Li
The integration doesn't currently do that, but I can look into it. When you talk about a specified knot, do you mean the actors used only in that knot? What if the knot links to another knot that involves additional actors?

Re: Ink integration - couple questions (actors etc.)

Posted: Mon May 18, 2020 5:09 pm
by nehvaleem
For me the most important part is to be able to get actors in that knot only. I can imagine that there will be cases when it would be nice to get all the actors from specified knot to the end (i.e. with linked knots). So maybe there could be some parameter, depth for example (-1 for getting them to the end, and positive numbers limiting the connections)? Just an idea tho...

Re: Ink integration - couple questions (actors etc.)

Posted: Mon May 18, 2020 8:09 pm
by Tony Li
I'll add this to the to-do list.

Re: Ink integration - couple questions (actors etc.)

Posted: Tue May 19, 2020 10:14 am
by _marc
Tony Li wrote: Mon May 18, 2020 8:09 pm I'll add this to the to-do list.
I confirm, a method to get all actors involved in a conversation (from start to end) would be usefull! :)

Re: Ink integration - couple questions (actors etc.)

Posted: Tue May 19, 2020 10:27 am
by Tony Li
Duly noted! This won't be in version 2.2.7, but I'll try to get it implemented after that.

Re: Ink integration - couple questions (actors etc.)

Posted: Thu May 21, 2020 8:49 am
by nehvaleem
Tony Li wrote: Tue May 19, 2020 10:27 am Duly noted! This won't be in version 2.2.7, but I'll try to get it implemented after that.
Sorry to hear that but I guess I'll have to work around it somehow until then :)

On the other note I've discovered that Sequencer commands with Ink are broken a little bit. I've created a custom sequencer command to narrow the issue. Overall they are working, but not everything makes sense. For example Speaker & Listener fields on a Sequencer object are null(s) for me.

My command is only barebones from template, it only prints some info on Awake() but the output isn's something that I would expect:

Code: Select all

public void Awake()
    {
        Debug.Log($"Custom sequencer command. Speaker: {Sequencer.Speaker}, Listener: {Sequencer.Listener}.");
        Stop();
    }
And the result is:

Code: Select all

Custom sequencer command. Speaker: , Listener: .
What is even weirder that this Debug.Log statement is printed twice despite having only one call of it in my ink script. This happens when the function call is between Actor lines. If it is on the same line (at the end of the line) it is called only once, but again - with no data about speaker, listener. One note tho: I am triggering the conversation on my own, using:

Code: Select all

DialogueManager.StartConversation(conversation);
That gives me thinking. Maybe I am doing something wrong? Maybe speaker & listener arent referenced from actors speaking current & next line but instead from fields Actor & Conversant from Trigger component? If so - how I am suppose to get Actor of a particular line in Sequencer? Especially if there are more than 2 actors in the conversation?

EDIT: I've tried with Trigger component with specified Actor & Conversant fields, but sequencer still doesn't have those values.

Re: Ink integration - couple questions (actors etc.)

Posted: Thu May 21, 2020 9:04 am
by Tony Li
Hi,

Can you provide the speaker and listener transforms in DialogueManager.StartConversation? For example:

Code: Select all

DialogueManager.StartConversation(conversation, player.transform, conversationMainNPC.transform);
If you don't specify the transforms, the conversation will look for a GameObject with a Dialogue Actor component whose name matches the actor's name. If no GameObjects have a matching Dialogue Actor component, it will look for a GameObject whose GameObject name matches.

Re: Ink integration - couple questions (actors etc.)

Posted: Thu May 21, 2020 9:22 am
by nehvaleem
Well I don't think it is really, because I've got GameObject with correct DialogueActor components attached in which I reference correct Actors from the database. Something didn't work. I'll double-check everything at my side though.

Also - what about the case where there are more than 2 actors in conversation? Is sequencer able to get to the Actor of current (last) spoken line?