Forum rules - please read before posting.

is there a bug or normal situation about nested conversation?

edited May 2024 in Technical Q&A

AC version: 1.78.0

i define a nested coversation like :
ActionList->startConersation A
---------opt1.startConversation B ->
-------------opt1.do some action -> return to B -------------------------OK
-------------opt2.do some action -> return to A -------------------------OK
---------opt2.runActionList C ( waituntil = true) -> return A------------------OK
-------------actionlist for C: StartConversation B(override option = true) ----not work(maybe return runactionlist end immediately)
-------------actionlist for C: StartConversation B(override option = false) ----OK,but wen stop not return to A,even i set return to other conversation A,it sill return to B

if i nested a conversation in runactionlist action, the nested conversation B not work

i dont know if there is a bug or some mistake i make

what i want is
conversation A:
-----opt1->runactionlist(waituntil = true) ( return to A) ---- that's OK
-----opt2->runactionlist(waituntil = true) ( return to A)
-----------------conversation B:
--------------------opt1:(return to B )
--------------------opt2:(stop)(runactionlist end,so return to A)---not work

Comments

  • edited May 2024

    I'll need to know the exact logic flow in order to recreate your situation - can you provide screenshots?

    The best way to handle nested Conversations, however, is to check the Override options? box in the Dialogue: Start conversation Action. You can have each output run an ActionList: Run Action to run a separate ActionList is desired, but doing it this way causes the logic flow to rely purely on the Action outputs - rather than any When finished field in the Conversation's Inspector.

    A guide to this workflow can be found in this tutorial.

  • edited May 2024

    i send my prefab how i use nested conversation on this link
    https://gofile.io/d/vysDTQ

  • I would need the original scene file, a prefab doesn't display correctly.

    If you're not overriding options in the initial Dialogue: Start conversation Action, however, then avoid further Actions of this type. Run new Conversations by instead seting the dialogue option's When finished to Run Other Conversation instead.

    The "Override options?" feature was introduced to aid with branching Conversation flow, and I strongly recommend using it - it makes the logic flow much clearer and reliable.

  • edited May 2024

    [REMOVED BY ADMIN]

    i uploaded a project , recreate my situation use latest version 1.80.5,scene name:NestedConversationTest

  • I have removed the link - AC is a commercial asset, and sharing links to download it is against the forum rules. Please see that it does not happen again.

    I have examined the project, however, and recreated the issue.

    The issue is down to the ActionList: Run Action's Wait until finish? option, which ends prematurely while the Conversation is active, causing the nested Interaction to become temporarily suspended.

    I will look to see if this is possible to address. If it is, I will include a fix in the next update.

    In the meantime, or otherwise, the best way around this is to keep all Dialogue: Start conversation Actions within the same ActionList. You can have each of their options run separate ActionLists (with ActionList: Run), by checking Override options?, but keeping the Conversations themselves should avoid the issue.

  • i updated the latest version 1.81. and test the issue about nested conversation,still has some bug,but different:
    when i use nested conversation with no override options,the actionlist will return immediately;
    when i use nested conversation with override options,start conversation 1,and chose conversation_opt1 : actionlist_run -> actionlist_run -> start conversation 2,conversation 2 will not be shown ,yet not finished actionlistrun

  • https://gofile.io/d/V7dC1i
    i upload my ac scene (temp link) that recreated my situation(with no ac package,only my ac scene),there is two ways i nested conversation,please see the info actionlist,and use latest versation(1.81) of ac

  • Getting nested conversations working just needs a couple of things bearing in mind:

    1. Avoid mixing the Dialogue: Start converation Action's Override options? option in the same sequence - either have them all checked, or all unchecked (checked recommended).
    2. Avoid checking Wait until finish in an ActionList: Run Action, if the ActionList is runs involves starting a new Conversation

    Here's an updated example scene with three Conversations, each run in a slightly different way to demonstrate their usage:

    https://file.io/YJYm0wa5CWOS

  • https://gofile.io/d/aA9IZe
    thank you!
    i test nested conversation like you suggested,and use all conversation with override options,so that willl not dependen wait until finished, but when i nested conversation in an run actinlist,and start a new conversation in run actionlist ,the nested conversation would not came out,and actionlist would never finish.

    i upload my ac scene in above link,which shows right situation and wrong situation

  • It's as I said regarding the Wait until finish? option in your ActionList: Run Action. You'll get issues when having this wait for ActionLists that run further Conversations.

    When this option is checked, this option is able to detect Conversations run within the ActionList it directly references - which is the case with your first option.

    With the second option, however, you have a chain of three ActionLists - with the first two both running the next with Wait until finish? checked. The first list is not able to detect the Conversation running in the third.

    With this, you'll need to uncheck Wait until finish? in the first ActionList: Run Action (Action #7 in Intro), and also set its When running field to Stop - so that Intro stops running completely once Conversation1_opt2 has begun. Then, at the end of Conversation1_opt2, you can add a new ActionList: Run Action that re-runs Intro - but unchecking Run from start? and setting Action to skip to to (9) Dialogue: Play speech, so that it continues on from the "Done" speech line. See the file I linked to earlier for an example on this.

  • I've been looking into the wider issue that causes this since your first mention, and I think I might have a solution.

    If it is possible to fix - such that your most recent package is able to work as intended - I will include it in the next update. Thanks for your patience.

Sign In or Register to comment.

Howdy, Stranger!

It looks like you're new here. If you want to get involved, click one of these buttons!

Welcome to the official forum for Adventure Creator.