Page 2 of 2

Re: Ongoing conversation lines during response - Telltale style

Posted: Wed Sep 05, 2018 2:13 pm
by Tony Li
Hi,

I updated the example scene linked above. The conversation now looks like this:

Image

NPC line 3 hides the response menu using this Sequence:

Code: Select all

SetActive(Response Menu Panel,false);
{{default}}
NPC line 4 shows the response menu using this Sequence:

Code: Select all

SetActive(Response Menu Panel,true);
AnimatorTrigger(Show,Response Menu Panel);
{{default}}
The next NPC node changes to a different response menu.

If you want a UI button to show the response menu, you can add a Dialogue System Trigger to the UI button GameObject. Set its Trigger to OnUse. Selection Add Action > Play Sequence, and use the same SetActive() and AnimatorTrigger() commands above:

Image
8uddie wrote: Wed Sep 05, 2018 11:59 amCould I have ButtonUI in the scene that will pop up to let the player prompt the ResponseMenu themselves to begin with ? almost like QTE but with choices.
When you talk about tags, you're starting to get to the complexity of EternalAmbiguity's solution in that Unity forum thread, so you may want to check it out. But if you want to just jump to a specific dialogue entry, you can configure a button to stop the current conversation and start it at a specific node ID. The shortest way is to write a little code:

Code: Select all

DialogueManager.StopConversation();
DialogueManager.StartConversation("Title", actor, conversant, entryID);
There should be no problem linking across conversations. Can you show me how your conversations are linked?

Re: Ongoing conversation lines during response - Telltale style

Posted: Fri Dec 21, 2018 4:37 am
by juliusdays
This is also what I needed. NPC subtitle with Player Responses. Thank you :)

Code: Select all

public void ShowSubtitle(Subtitle subtitle)
    {
        if (DialogueManager.currentConversationState.pcResponses.Length >= 2)
        {
            ShowResponses(subtitle, DialogueManager.currentConversationState.pcResponses, DialogueManager.displaySettings.inputSettings.responseTimeout);
        }
    }