Page 2 of 3

Re: Dialogue entries not loaded correctly (with AC plugin)

Posted: Thu Oct 01, 2020 1:38 pm
by Tony Li
If you can pare it down to something smaller that still reproduces the issue, that would be fine. In either case, here are the instructions for packing it up: reproduction project

Or, if you can write a list of steps to follow, that would be fine instead of a reproduction project. Example:
1. Create new project.
2. Import AC & DS.
3. etc.

If none of that is possible, I can put together a debug version of Remember Dialogue System that should be able to log additional information that might help you identify the problem.

Re: Dialogue entries not loaded correctly (with AC plugin)

Posted: Thu Oct 01, 2020 2:26 pm
by Adventure4Life
I think in my tight deadline and other bugs to fix a debug version might works best.
please tell me what I need to do.

Re: Dialogue entries not loaded correctly (with AC plugin)

Posted: Thu Oct 01, 2020 2:30 pm
by Tony Li
I'll put it together and send it to you within the next 4 hours.

Re: Dialogue entries not loaded correctly (with AC plugin)

Posted: Thu Oct 01, 2020 7:10 pm
by Tony Li
Hi,

I thought of one more thing: Is the Adventure Creator Bridge's Include SimStatus checkbox ticked?

Some users requested this extra checkbox to be able to turn off AC's saving of SimStatus. It overrides the value of the Dialogue Manager's 'Use SimStatus' checkbox.

Here's the debug version of RememberDialogueSystem:

DS_AC_RememberDSDebug_2020-10-01.unitypackage

It will import into a folder named Assets/Test.

Temporarily replace your RememberDialogueSystem component with this RememberDialogueSystem_DebugVersion. Then save and load.

When you save, you'll see something like this:

Code: Select all

Pixel Crushers Save System is saving Dialogue System state:
; Conversation[1].SimX="1;o;2;d;3;o;4;o;0;d"; Conversation[2].SimX="1;d;2;u;3;u;0;d"; 
When you load, you'll see something like this:

Code: Select all

Pixel Crushers Save System is restoring Dialogue System state from Adventure Creator:
; Conversation[1].SimX="1;o;2;d;3;o;4;o;0;d"; Conversation[2].SimX="1;d;2;u;3;u;0;d"; Conversation[3].SimX="1;u;2;u;3;u;4;u;5;u;6;u;0;u"; StatusTable = ""; RelationshipTable = ""; 
I'll break down the first one in the example above, which is for the conversation with ID 1:

Code: Select all

Conversation[1].SimX="1;o;2;d;3;o;4;o;0;d";
The numbers are dialogue entry IDs. The characters 'u', 'o', and 'd' mean:
  • u: Untouched
  • o: Was Offered
  • d: Was Displayed
The important thing to check is that the values look the same for the save and the load.

Re: Dialogue entries not loaded correctly (with AC plugin)

Posted: Thu Oct 01, 2020 7:18 pm
by Adventure4Life
Thank you!

Include Sim Status is ticked, is that might cause the problem?

Re: Dialogue entries not loaded correctly (with AC plugin)

Posted: Thu Oct 01, 2020 7:32 pm
by Tony Li
Since you're using SimStatus, the Adventure Creator Bridge's Include SimStatus checkbox should be ticked.

Re: Dialogue entries not loaded correctly (with AC plugin)

Posted: Thu Oct 01, 2020 7:39 pm
by Adventure4Life
Understand. Will check the debug now

Re: Dialogue entries not loaded correctly (with AC plugin)

Posted: Thu Oct 01, 2020 8:26 pm
by Adventure4Life
Okay here's what I saw:

scenario #1
1. conversation start, I saw all entries exist
2. select one entry with only condition:
Dialog[thisID].SimStatus ~= "WasDisplayed" => entry dissapear from conversation
3. exit conversation using 'exit' entry
4. save the game
specific entry in log marked - 'offered' (which should be 'displayed')
5. load game
specific entry in log marked - 'offered'
6. conversation start, I saw again the entry
select again => entry still exist! (it should dissappear)
7.save game specific entry in log marked - 'displayed'
8.load game specific entry in log marked - 'displayed'
9. conversation start, again see the entry

scenario #2 (which I'm not sure if it's relate to save-load but still related to SimStatus)
1. conversation start, I saw all entries exist
2. select one entry with only condition:
Dialog[thisID].SimStatus ~= "WasDisplayed" => entry still exist
3. try select again entry still exist!


From the first scenario it look like load works fine
and I think the SimStatus in the memory is not saved correctly

Re: Dialogue entries not loaded correctly (with AC plugin)

Posted: Thu Oct 01, 2020 10:05 pm
by Tony Li
Hi,

Let's focus on this:
Adventure4Life wrote: Thu Oct 01, 2020 8:26 pmscenario #1
1. conversation start, I saw all entries exist
2. select one entry with only condition:
Dialog[thisID].SimStatus ~= "WasDisplayed" => entry dissapear from conversation
3. exit conversation using 'exit' entry
4. save the game
specific entry in log marked - 'offered' (which should be 'displayed')
Please double-check that you're looking at the right conversation ID and dialogue entry.

For instance, in the example I provided above, the SimStatus info for one conversation is:

Code: Select all

Conversation[1].SimX="1;o;2;d;3;o;4;o;0;d"
Conversation[1] means the conversation ID is 1. I can confirm it in the Dialogue Editor:

acSimStatus1.png
acSimStatus1.png (5.51 KiB) Viewed 865 times

The dialogue entry IDs are:
  • 1 = Was Offered
  • 2 = Was Displayed (This is the one I selected from the response menu.)
  • 3 = Was Offered
  • 4 = Was Offered
  • 0 = Displayed (The <START> node.)
I can also confirm the dialogue entry ID in the Dialogue Editor:

acSimStatus2.png
acSimStatus2.png (30.67 KiB) Viewed 865 times

Does that help?


Also, are you using multiple databases? If so, did you use the Unique ID Tool?

Or is it possible that you manually modified internal ID numbers at some point? Maybe two conversations or dialogue entries have the same ID?

Re: Dialogue entries not loaded correctly (with AC plugin)

Posted: Fri Oct 02, 2020 10:03 am
by Adventure4Life
Yes, I do understand and follow conversation and entry id exactly how you mentioned.
I'm using only one database (and I see auto-backup created as well)

Again, I double check and do scenario with screenshots (btw, each time I get different result!)

here's scenario:
1. conversation id 10 start, I saw all entries exist
Image
2. exit conversation using 'exit' entry - id 22
3. saved the game - log appear to be correct
Image
4. conversation id 10 start, select entries - 4, 9, 12,13 - all entires dissapear in dialog as expected
5. exit conversation using 'exit' entry - id 22
6. load the previous game (the one before all entries selected) - log appear to be correct
Image
7. conversation id 10 start, I saw entry 13, 22 exist - instead of seeing all entries!!! (4, 9 , 12, 13, 22)
Image

PS
I rerun SAME scenario
at the end I see only enty 22 - so it's REALLY not consistent.