Ink integration - couple questions (actors etc.)

Announcements, support questions, and discussion for the Dialogue System.
User avatar
Tony Li
Posts: 21061
Joined: Thu Jul 18, 2013 1:27 pm

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

Post 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.
nehvaleem
Posts: 93
Joined: Tue Sep 10, 2019 4:52 am

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

Post 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.
User avatar
Tony Li
Posts: 21061
Joined: Thu Jul 18, 2013 1:27 pm

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

Post 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?
nehvaleem
Posts: 93
Joined: Tue Sep 10, 2019 4:52 am

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

Post 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...
User avatar
Tony Li
Posts: 21061
Joined: Thu Jul 18, 2013 1:27 pm

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

Post by Tony Li »

I'll add this to the to-do list.
_marc
Posts: 69
Joined: Mon Nov 05, 2018 5:44 am

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

Post 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! :)
User avatar
Tony Li
Posts: 21061
Joined: Thu Jul 18, 2013 1:27 pm

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

Post by Tony Li »

Duly noted! This won't be in version 2.2.7, but I'll try to get it implemented after that.
nehvaleem
Posts: 93
Joined: Tue Sep 10, 2019 4:52 am

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

Post 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.
User avatar
Tony Li
Posts: 21061
Joined: Thu Jul 18, 2013 1:27 pm

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

Post 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.
nehvaleem
Posts: 93
Joined: Tue Sep 10, 2019 4:52 am

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

Post 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?
Post Reply