Page 1 of 1

How to save conversations using Adventure Creator save/load system

Posted: Wed Feb 27, 2019 3:23 pm
by Daffy
Hi,
I don't know how to save progress of conversations using Adventure Creator save/load system.
For example:
On scene I have NPC "A" and Player. First interaction with NPC "A" is its introduction. Then, we have a casual dialogue. When I interact with him again, we can continue a casual dialogue and NPC "A" doesn't introduce itself again - That's ok but this works as long as I don't save or restart the game.
So I watched your last video on YouTube:
I followed everything from the tutorial.

Now I can save/load game using Adventure Creator and it works (even when I Turn off "Play Mode" and Play again), except for when I restart the whole Unity. When I restart Unity and hit PlayMode then Load game, NPC "A" starts conversations with introduction again.

Could you let me know step by step how to permanently save conversations progress in Adventure Creator?
As for the above example, I want to: Open Unity -> Hit Play mode -> start converastions with NPC "A" (with introduction) -> Save game -> quit Unity -> Open Unity again -> Hit Play Mode -> Load game -> start conversations with NPC "A" (without introduction).

Thank you :)

Re: How to save conversations using Adventure Creator save/load system

Posted: Wed Feb 27, 2019 7:06 pm
by Tony Li
Hi,

First, make sure you've added a Remember Dialogue System component to the PersistentEngine prefab as described in AC Saving & Loading.

Then define a Boolean (true/false) variable in your dialogue database to remember that the player has met "A". For example, let's say it's named "Met A":

Image

Branch the conversation based on this variable. When A introduces itself, set "Met A" true.

Image

(You can type the Conditions and Script fields manually, but it's easier to click the "..." buttons and use the dropdown menus.)

Re: How to save conversations using Adventure Creator save/load system

Posted: Thu Feb 28, 2019 4:41 am
by Daffy
Hi,
I already did that, but I set up my conversations once again, step by step - still the same problem.
Save/load works until I restart Unity. When I reopen Unity and load the game everything is loaded (transform, renderer, inventory, camera position etc) except progress in conversations.

On PersistentEngine I have:
Remember Dialogue System
Set: Manula
Retain in prefab?: true
ID: 9999999

I have boolean in variables section. I also check the conditions with that boolean and set boolean to true in script section when NPC "A" introduce itself.
So I have exactly the same settings as you have.

But problem is not solved.

Re: How to save conversations using Adventure Creator save/load system

Posted: Thu Feb 28, 2019 10:11 am
by Tony Li
Please try this update:

AdventureCreator_Support_2019-02-28.unitypackage

It appears there is now a timing issue. AC might not have fully initialized its global variables before it calls third party savers. I think this update should fix it, but the timing issue went away just before I could run a final confirmation. The timing issue is intermittent because Unity doesn't guarantee the order in which scripts run. I think the issue should only affect the editor and not builds.

Re: How to save conversations using Adventure Creator save/load system

Posted: Fri Mar 01, 2019 4:23 am
by Daffy
Ok, thank you, I will try this update.
I noticed something else:

1. When I added Remember Dialogue System on PersistantEngine now when I open Adventure Creator Menu during converstation I can't choose any options and navigate (resume, save/load, exit, options) - nothing. When conversations end I can choose and navigate on the AC menu. These bug only occur after adding Remember Dialogue System on PersistantEngine.

2. After opening the AC menu the whole game is freeze. The letters in the conversation also stop, but you can skip them by pressing the space bar - I don't want it. I want to freeze whole conversation and not to react to any key during the menu. How to do that?

Thank you for your help :)

Re: How to save conversations using Adventure Creator save/load system

Posted: Fri Mar 01, 2019 11:38 am
by Tony Li
It currently isn't supported to open the AC menu during conversations.

There are a few ways we can handle this:

- Prevent the AC menu from opening during conversations. Add a Dialogue System Events component to the Dialogue Manager. Configure it to lock menus in OnConversationStart() and unlock them in OnConversationEnd(). To lock and unlock menus, you can assign an AC actionlist (e.g., located inside the Dialogue Manager hierarchy) and selects its Interact method.

- Cancel the conversation when the AC menu opens. Assign an actionlist to the AC menu that uses the Dialogue System's Conversation > Stop action.

- Allow the AC menu during conversations. I haven't tested this, but here is the idea:
  • Remove the UI Button Key Trigger component from your dialogue UI's continue button(s) if present.
  • Set the Dialogue Manager's Other Settings > Dialogue Time to Gameplay.
  • Prevent clicks on the dialogue UI canvas. Two choices:
    • Put the AC menu on a higher Unity UI canvas, and make it cover the whole screen so it blocks input to the dialogue UI canvas. You can cover the whole screen with a transparent image if you prefer.
    • Or add a Canvas Group to the Dialogue Manager's Canvas. When the AC menu opens, set the Canvas Group's Interactable checkbox to UNticked. When the AC menu closes, set the checkbox to ticked.