Multiple conversations pause game issue

Announcements, support questions, and discussion for the Dialogue System.
Post Reply
DoctorHogan
Posts: 5
Joined: Tue Jun 01, 2021 10:06 am

Multiple conversations pause game issue

Post by DoctorHogan »

Hi,

sorry to write again so soon, but it's a few hours that I am stuck on a most bizzarre issue. I have 2 conversations in a platform-like game, both supposed to pause the game. I tried this both on the default DialogueSystemTrigger and on an extended version of it (that overrides DoConversation, OnConversationStartAnywhere and OnConversationEndAnywhere with slight changes) but the result is identical, so it shouldn't come from my extended version.

What happens is that the first conversation works as expected, I added a few debugs and it calls DoConversationAction, registers the two OnConversationStartAnywhere and OnConversationEndAnywhere and prints a debug on pause and unpause correctly.

The second conversation, is firing the Fire(Transform actor), but going through none of the method inside it, and not calling DoConversationAction either. The game unexpectedly is paused anyway, but if between the two conversations i have a fight (that due to the hit frame freeze does modify temporarily Time.timeScale), the second conversation doesn't pause the game at all.

I tried going back and forth the two trigger areas, and sometimes I get the full stack of debugs, sometimes i get the short one , something i even seem to get none.I confess being completely baffled. Is there something I am understanding completely wrong or I am doing wrong? In the picture you can see some of my debugging.
Screenshot_47.jpg
Screenshot_47.jpg (84.85 KiB) Viewed 384 times
The two trigger zones are identical if not for the fact that they start 2 different conversations (each very short, without answers, just linear click-to-continue). I tried inverting the position (so that i activate first the 2nd one and then the 1st one) and the results are identical, so it doesn't depend neither on the trigger nor on the conversation apparently.

Thanks in advance for your help!
H
User avatar
Tony Li
Posts: 22032
Joined: Thu Jul 18, 2013 1:27 pm

Re: Multiple conversations pause game issue

Post by Tony Li »

Hi,

What version of the Dialogue System are you using? (The version number is shown in the Welcome Window and in the file _README.txt.)

What happens if you untick Pause Game During Conversations on both Dialogue System Triggers? This will tell us if we're getting into a Time.timeScale issue with the Pause Game During Conversations checkbox.
DoctorHogan
Posts: 5
Joined: Tue Jun 01, 2021 10:06 am

Re: Multiple conversations pause game issue

Post by DoctorHogan »

Hi!

I am working with the 2.2.16. I tried unticking on both the Pause game option, and it seems to just don't pause the game.

The debug prints though show that also in this case, when i collide with the second trigger, DoConversationAction is not called. It's called only the first time.

In between the two conversations, I don't do anything to the Timescale nor to the triggers (I am now using the default DialogueSystemTriggers)
User avatar
Tony Li
Posts: 22032
Joined: Thu Jul 18, 2013 1:27 pm

Re: Multiple conversations pause game issue

Post by Tony Li »

Hi,

Are there any errors or warnings in the Console window?

If the Fire() method is called, then DoConversationAction() should definitely be called. However, if the trigger's conversation value is blank, DoConversationAction() will not do anything.

Can you send a reproduction project to tony (at) pixelcrushers.com?
DoctorHogan
Posts: 5
Joined: Tue Jun 01, 2021 10:06 am

Re: Multiple conversations pause game issue

Post by DoctorHogan »

Hi, after a bit of experimenting and searching, the problem seemed to be due to the way Corgi Engine manages time control. Before influencing time the first time (with the hit stop frame freeze in combat), DialogueSystem can pause the game normally by setting timeScale to 0.

After Corgi has used its MMTimeManager once, it's not possible anymore to control the timeScale directly, but it's necessary to do it through their manager. I extended the DialogueSystemTrigger to do so and it works.

It's still a bit of a mystery for me why i didn't always get the calls to the various callbacks, but somehow this seems to have solve itself with the fix on the pause, mystery :shock:
User avatar
Tony Li
Posts: 22032
Joined: Thu Jul 18, 2013 1:27 pm

Re: Multiple conversations pause game issue

Post by Tony Li »

Hi,

I've made a note to look into that for the next update to the Corgi integration package. I may be able to update ConversationZone to work more nicely with MMTimeManager.
Post Reply