Hi Tony,
I have a problem almost exactly as described in this topic:
viewtopic.php?f=3&t=1119
The only difference I see is I set up my dialogue system to continue on key press (with OnFastForward()) instead of on button click. One thing to note is the speed at which you skip the conversation. If you click too fast, the conversation freezes in the first node of the next conversation, but if you take your time (possibly if you don't skip the conversation), then it goes on without problems.
Here's a screenshot of the debug info, in case you need it. Let me know if I can provide any other screenshots or information for you.
[Solved] Freezing Dialogue
[Solved] Freezing Dialogue
- Attachments
-
- Screenshot.jpg (54.94 KiB) Viewed 890 times
Last edited by greggaede on Sun Jul 15, 2018 5:39 am, edited 1 time in total.
Re: Freezing Dialogue
Hi,
You can untick the Dialogue Editor's Database > Editor Settings > Debug checkbox. That only logs Dialogue Editor window activity.
Instead, you may find it helpful to inspect the Dialogue Manager GameObject and change the Other Settings > Debug Level dropdown to Info. This will log detailed runtime info.
In your situation, are you changing scenes?
Are your dialogue UI and subtitle panels located in the Dialogue Manager hierarchy?
How exactly are you calling OnFastForward()?
Please feel free to send a reproduction project to tony (at) pixelcrushers.com. I'll be happy to take a look.
You can untick the Dialogue Editor's Database > Editor Settings > Debug checkbox. That only logs Dialogue Editor window activity.
Instead, you may find it helpful to inspect the Dialogue Manager GameObject and change the Other Settings > Debug Level dropdown to Info. This will log detailed runtime info.
In your situation, are you changing scenes?
Are your dialogue UI and subtitle panels located in the Dialogue Manager hierarchy?
How exactly are you calling OnFastForward()?
Please feel free to send a reproduction project to tony (at) pixelcrushers.com. I'll be happy to take a look.
Re: Freezing Dialogue
Hi Tony,
Thanks for the tip. I figured I had the wrong debug box. I'm not changing scenes, just talking to the NPC and eventually finishing the conversation like normal, then talking to the NPC again, then it freezes on the first node, without there being a possibility to leave the conversation with ESC or pressing the continuation key.
Here are some screenshots of the hierarchy (the problem was there before I added the new NPC Jupiter Subtitle Panel with the Jupiter font), the settings where I assume the OnFastForward() function is called (through inputs I defined in Unity), as well as the new debug info (starting from the start of the first conversation). It looks like it has a problem with the transform of the NPC. Hope that helps!
Thanks for the tip. I figured I had the wrong debug box. I'm not changing scenes, just talking to the NPC and eventually finishing the conversation like normal, then talking to the NPC again, then it freezes on the first node, without there being a possibility to leave the conversation with ESC or pressing the continuation key.
Here are some screenshots of the hierarchy (the problem was there before I added the new NPC Jupiter Subtitle Panel with the Jupiter font), the settings where I assume the OnFastForward() function is called (through inputs I defined in Unity), as well as the new debug info (starting from the start of the first conversation). It looks like it has a problem with the transform of the NPC. Hope that helps!
- Attachments
-
- Hierarchy.png (6.14 KiB) Viewed 885 times
-
- DialogueSystemInputSettings.PNG (14.39 KiB) Viewed 885 times
-
- Debug.jpg (230.8 KiB) Viewed 885 times
Re: Freezing Dialogue
Hi,
I'm not sure exactly what's happening, so I'm taking a shotgun approach. Please feel free to send a copy of your project to tony (at) pixelcrushers.com if you'd like me to take a direct look and reply back with a solution.
Did the message "Unregistering transform The Scrooge from actor 'The Scrooge'" appear when you stopped playmode? If so, you can ignore it. This just means that, as it was destroying itself to end the scene, it told the Dialogue System that it was no longer available to be the transform for the actor 'The Scrooge'.
The strange thing is that I see the first "Starting conversation" message and a corresponding "Ending conversation" message. But I don't see the second "Starting conversation" message. It seems to jump straight into the conversation.
On the Dialogue Manager, is Allow Simultaneous Conversations ticked? Is it possible that whatever method you're using to trigger conversations is triggering 'The Scrooge' twice at the same time?
Did you place Conditions on the <START> node by any chance?
Regarding continue and OnFastForward(), there are two ways to advance a conversation:
1. As shown in your screenshot of the Dialogue Manager, there is Input Settings > Cancel Subtitle Input. If this input button is pressed ("Skip" in your case), the Dialogue System will immediately cancel the current subtitle and progress to the next stage of the conversation.
2. A dialogue UI can also have a continue button. The Dialogue Manager's Subtitle Settings > Continue Button mode may be set to a mode that enables the continue button. For example, Always will always show the continue button with every subtitle and wait for it to be clicked before progressing to the next stage of the conversation. The continue button may have an optional "fast forward" component that intercepts the button click. If the typewriter is still playing, it jumps the typewriter to the end of the text. Otherwise, if the typewriter has already finished, it actually continues to the next stage of the conversation.
These two are unrelated to each other. The Cancel Subtitle Input feature doesn't know anything continue buttons, and the continue button doesn't know anything about the Cancel Subtitle Input.
In that first conversation, do you think you used either? Or did you let everything run through on its own?
I'm not sure exactly what's happening, so I'm taking a shotgun approach. Please feel free to send a copy of your project to tony (at) pixelcrushers.com if you'd like me to take a direct look and reply back with a solution.
Did the message "Unregistering transform The Scrooge from actor 'The Scrooge'" appear when you stopped playmode? If so, you can ignore it. This just means that, as it was destroying itself to end the scene, it told the Dialogue System that it was no longer available to be the transform for the actor 'The Scrooge'.
The strange thing is that I see the first "Starting conversation" message and a corresponding "Ending conversation" message. But I don't see the second "Starting conversation" message. It seems to jump straight into the conversation.
On the Dialogue Manager, is Allow Simultaneous Conversations ticked? Is it possible that whatever method you're using to trigger conversations is triggering 'The Scrooge' twice at the same time?
Did you place Conditions on the <START> node by any chance?
Regarding continue and OnFastForward(), there are two ways to advance a conversation:
1. As shown in your screenshot of the Dialogue Manager, there is Input Settings > Cancel Subtitle Input. If this input button is pressed ("Skip" in your case), the Dialogue System will immediately cancel the current subtitle and progress to the next stage of the conversation.
2. A dialogue UI can also have a continue button. The Dialogue Manager's Subtitle Settings > Continue Button mode may be set to a mode that enables the continue button. For example, Always will always show the continue button with every subtitle and wait for it to be clicked before progressing to the next stage of the conversation. The continue button may have an optional "fast forward" component that intercepts the button click. If the typewriter is still playing, it jumps the typewriter to the end of the text. Otherwise, if the typewriter has already finished, it actually continues to the next stage of the conversation.
These two are unrelated to each other. The Cancel Subtitle Input feature doesn't know anything continue buttons, and the continue button doesn't know anything about the Cancel Subtitle Input.
In that first conversation, do you think you used either? Or did you let everything run through on its own?
Re: Freezing Dialogue
Alright, I'll just send you the project! I can't seem to figure this out myself, so maybe you'll have better luck. Thanks a lot Tony!
Re: Freezing Dialogue
In case you didn't get my email (in which case, check your spam folder for tony (at) pixelcrushers.com), a solution is to:
1. Unmap the 'e' key from the 'Skip' input in Edit > Project Settings > Input.
2. Inspect the continue buttons, add a UI Button Key Trigger, and set the Button Name to 'Submit':
The Cancel input (which watched for 'Skip' to be pressed) and the continue button were mapped to the same inputs, and end up canceling each other out. The continue button would tell the Dialogue System to continue, and the Cancel input said to cancel that.
If you do the 2 steps above, the 'e' key (which is still mapped to 'Submit'), Enter key, and joystick button 0 should all continue the conversation now, as well as select responses.
1. Unmap the 'e' key from the 'Skip' input in Edit > Project Settings > Input.
2. Inspect the continue buttons, add a UI Button Key Trigger, and set the Button Name to 'Submit':
The Cancel input (which watched for 'Skip' to be pressed) and the continue button were mapped to the same inputs, and end up canceling each other out. The continue button would tell the Dialogue System to continue, and the Cancel input said to cancel that.
If you do the 2 steps above, the 'e' key (which is still mapped to 'Submit'), Enter key, and joystick button 0 should all continue the conversation now, as well as select responses.
Re: Freezing Dialogue
I got the mail and it worked! Thanks a lot Tony!