Page 1 of 1

Reset current conversation

Posted: Thu Jan 11, 2024 11:51 am
by munkbusiness
Hi,

I have a problem where if a player exits the conversation early for example by going to settings and loading to the main menu. Then if the player starts the game again, the next time they encounter the dialogue system it continues from the previous spot.

How can I either register as if the conversation finished or reset as if it never happened through code?

Re: Reset current conversation

Posted: Thu Jan 11, 2024 2:56 pm
by Tony Li
Hi,

Are you using the save system? If so, does your Dialogue Manager have a ConversationStateSaver component? If so, then it sounds like you may want to remove that component.

Re: Reset current conversation

Posted: Mon Jan 22, 2024 3:02 am
by munkbusiness
I don't have any object named ConversationStateSaver attached anywhere as far as I can see.

Re: Reset current conversation

Posted: Mon Jan 22, 2024 8:25 am
by Tony Li
Hi,

Does your conversation have Conditions that, for example, check the value of a Dialogue System variable and link to different parts of the conversation? If so, you may need to reset those variables.

If that's not the case, can you send a reproduction project to tony (at) pixelcrushers.com?

Re: Reset current conversation

Posted: Tue Jan 23, 2024 8:52 am
by munkbusiness
Just to be sure we are on the same page:

I have a save/loading system in my game. And I am using

Code: Select all

string s = PersistentDataManager.GetSaveData(); // Dialogue system data
saveData.dialogueSystemData = s;
and

Code: Select all

PersistentDataManager.ApplySaveData(saveData.dialogueSystemData);
for saving and loading the variables in dialogue database.

But I do NOT want to save the current progress in a given conversation.

If I exit in the middle of a conversation back to menu and go into another event that normally would load a new convo up, it tries to continues the current one.

Re: Reset current conversation

Posted: Tue Jan 23, 2024 9:38 am
by Tony Li
In that case, I don't know what would be resuming the old conversation. Perhaps a custom script? If you set the Dialogue Manager's Debug Level to Info, it will log when a conversation starts. You can check the stack trace of this log entry to see what code is resuming the old conversation.