Page 1 of 1

ORK integration and Dialogue System: Another conversation is already active. Not starting 'Conversation'.

Posted: Fri May 19, 2023 11:18 pm
by Jadesong
Hi, for the record, I have ORK Framework 3 with Dialogue System integration imported, and I also have Text Animator integration installed. It has been a constant struggle to get this working.

I was following this tutorial on how to use the Dialogue System in ORK:

I've done everything in that tutorial, and then I fixed some issues with Text Animator with the help of Febucci, its author.

The things I fixed were going into the basic standard dialogue UI and converting most text boxes there to TMPro, dragging references, and replacing the typewriter for PC and NPC subtitle text with the Text Animator one plus Text Animator TMPro component.

I'm just giving context as best I can.

What it is set up to do:



The dialogue tree does this > Left path gives 5 gold coins, then ends the conversation with the left choice. It then shows how much gold I have. This is important for later.

Right path gives no coins, ends the conversation and opens the "cauldron" ORK UI interact like in the video, where currently all the options just end the conversation because I don't have the inventory UI yet.

Anyway, I hit play, go into the scene, talk to the NPC, then here are some of the issues:

1) The ORK "Interact" UI box is currently layered on top of the dialogue box. Probably not related to my problem, but just mentioning it.

2) If I hit "space" (main interact button) while the dialogue is running, it says "Dialogue System: Another conversation is already active."

3) When I go into the "cauldron" ORK UI, I can still move around. "Block player input" doesn't work. An ORK issue, I'm sure, not related.

4) This is the main issue: After I go through all the dialogue choices, no matter what I pick, this always happens the second time:

I click the NPC again, and nothing happens. I am locked in place for all eternity. If I hit the interact button, it just says "Dialogue System: Another conversation is already active."

If I hit the cancel button twice, it finally lets me move again, and then it shows me how much gold I have, even when I made no choices. I just cancelled twice. It does not, however, add to the coin count...it just shows it.

So, yeah...help? It clearly never actually ends the conversation even if I do end it and can move again.

(By the way, orkGetCurrency is missing from the custom script options)

Edit:

I tried some live debugging, and I saw this:



If I hit cancel enough times, it removes all those, but now it somehow permanently broke my movement. I can't leave even after hitting cancel over and over.

Edit edit:

Upon further testing, I've found where the problem lies, but not the exact problem. If I change to one of the other templates like Runic Dialogue UI, everything works.

Meaning, the problem lies somewhere in the changes I've made to the Basic Standard Dialogue UI and trying to make that work with Text Animator. I replaced a lot of things in there, like various text components became TMPro components...and lots of references needed to be dragged.

Re: ORK integration and Dialogue System: Another conversation is already active. Not starting 'Conversation'.

Posted: Sat May 20, 2023 9:12 am
by Tony Li
Hi,
Jadesong wrote: Fri May 19, 2023 11:18 pm1) The ORK "Interact" UI box is currently layered on top of the dialogue box. Probably not related to my problem, but just mentioning it.
UIs exist inside Canvases. Inspect the Dialogue Manager's Canvas GameObject's Canvas component, and set Sort Order to a higher value (e.g., 99) than ORK's Canvases. This will tell it to draw on top of ORK's UIs.
Jadesong wrote: Fri May 19, 2023 11:18 pm2) If I hit "space" (main interact button) while the dialogue is running, it says "Dialogue System: Another conversation is already active."
3) When I go into the "cauldron" ORK UI, I can still move around. "Block player input" doesn't work. An ORK issue, I'm sure, not related.
Did you add a Dialogue System ORK Bridge component to your Dialogue Manager GameObject. See this section of the manual. The tutorial video might have glossed over that. Also add Dialogue System Makinom Bridge component.
Jadesong wrote: Fri May 19, 2023 11:18 pm4) This is the main issue: After I go through all the dialogue choices, no matter what I pick, this always happens the second time:

I click the NPC again, and nothing happens. I am locked in place for all eternity. If I hit the interact button, it just says "Dialogue System: Another conversation is already active."

If I hit the cancel button twice, it finally lets me move again, and then it shows me how much gold I have, even when I made no choices. I just cancelled twice. It does not, however, add to the coin count...it just shows it.

So, yeah...help? It clearly never actually ends the conversation even if I do end it and can move again.
...
Upon further testing, I've found where the problem lies, but not the exact problem. If I change to one of the other templates like Runic Dialogue UI, everything works.
Temporarily set the Dialogue Manager's Other Settings > Debug Level to Info. This will log a lot of info to the Console window. When the conversation starts, you'll see something like:

Dialogue System: Starting conversation 'title' with actor=player and conversant=NPC

When the conversation ends, you should see something like:

Dialogue System: Conversation ending.

If you don't see this line in the Console, the conversation hasn't ended. Is the Dialogue Manager's Display Settings> Input Settings > Always Force Response Menu ticked? Ticked or unticked is fine. That's not a problem in itself. It's just a stylistic choice in how you want conversations to work. (See here for more info.) If it's not ticked, then please inspect your dialogue UI's response button(s). If anything is assigned to the Button component's OnClick() event, you must also assign StandardUIResponseButton.OnClick to the event. If nothing is assigned to the event, that's good; the StandardUIResponseButton component will automatically connect itself to the event at runtime in this case.

Once you get this issue resolved (i.e., you see "Dialogue System: Conversation ending"), I recommend setting Debug Level back to Warnings so it doesn't spam the Console window and make it hard to see other logs/errors.
Jadesong wrote: Fri May 19, 2023 11:18 pm(By the way, orkGetCurrency is missing from the custom script options)
Thanks for letting me know. I'll add that in the next update.

Re: ORK integration and Dialogue System: Another conversation is already active. Not starting 'Conversation'.

Posted: Sat May 20, 2023 9:53 am
by Jadesong
Thank you for the reply. I went and set the sort order to 99, though I'd probably prefer to find out how to hide the Interact HUD altogether when a conversation happens.

I already had the regular ORK Bridge attached, but I did not actually have the Makinom bridge. Odd! Maybe you're right and the tutorial didn't attach that.
Once you get this issue resolved (i.e., you see "Dialogue System: Conversation ending")
Unfortunately, the debug log shows that the conversation ends, but it still refuses to open up the new one afterwards. It turns my player character toward the NPC, locks controls, and then nothing happens. In the log, it says the first line of the NPC, but it refuses to do anything beyond that.

Anyway, I gave up and reimported the Basic UI file. I will try re-adding Text Animator support more gradually to see if there are any points where it fails.

------------

I actually have another question, if you don't mind.

I went through the YouTuber Codemonkey's guide for how to setup the new input controls in Unity, and I liked how easy it was to set up all the different controls once it was properly set up.

For the Dialogue Manager, it also seems fairly easy to add controls by just adding more inputmanagers, though I haven't tested it yet.

I don't particularly care about mouse support for my game and want to use just gamepad/keyboard, but I'm unsure how to go about making both of those the default that can run concurrently.

I suppose this is more of an ORK question, now that I think about it, but I also had trouble finding just one guide for setting up gamepad/keyboard as the main controller in the Dialogue System.

Edit: Oh, I found this video Seems useful. I could see about how to do the same with ORK...

Re: ORK integration and Dialogue System: Another conversation is already active. Not starting 'Conversation'.

Posted: Sat May 20, 2023 11:37 pm
by Tony Li
Hi,

Yes, for the Dialogue System you can use that video and the parallel text version located on page 5 of the Input_Device_Manager_Manual.pdf in Plugins > Pixel Crushers > Common > Documentation.

Re: ORK integration and Dialogue System: Another conversation is already active. Not starting 'Conversation'.

Posted: Sun May 21, 2023 1:40 pm
by Jadesong
Hello!

I managed to get it working, though only with the DefaultInputActions setting where it has UI / Point, UI / Click, etc.

There is a problem with it where the D-PAD on my PS4 controller I'm using for testing is not working properly. It will inconsistently move up and down on the menus, like it's dropping input randomly, and it is completely unusable as a result.

People in this thread may have had a similar issue which they fixed by setting the action type to value instead of passthrough, but I don't know how to access the setting for that.

I tried adding my own controls to it, but nothing happened. I guess the "UI" part of that is an auto-detection system in Unity for UI selections?

Re: ORK integration and Dialogue System: Another conversation is already active. Not starting 'Conversation'.

Posted: Sun May 21, 2023 3:31 pm
by Tony Li
Unfortunately the Input System package is still rather buggy. It's nothing specific to the Dialogue System. (I usually recommend using Unity's built-in legacy input manager or Rewired, but sometimes that's not possible, such as when another framework asset requires the Input System package.)

Inspect your EventSystem GameObject. Click on the DefaultInputActions value in the Actions Asset field. This will highlight the asset in Packages > Input System > InputSystem > Plugins > PlayerInput. Double-click the DefaultInputActions asset so you can see what its values in the UI action map are. Add the same values to a UI action map in your own InputActions asset. Then assign your own InputActions asset to the EventSystem GameObject, and set all of the input dropdowns (Point, Left Click, etc.). Make sure it works apart from the inconsistent d-pad issue. Finally, try setting UI > Navigate > Action Type to Value.

Re: ORK integration and Dialogue System: Another conversation is already active. Not starting 'Conversation'.

Posted: Mon May 22, 2023 12:33 pm
by Jadesong
Hey there. I think you've convinced me to just buy Rewired.

One big reason I wanted the new input system is that I liked the interface for it, but you're not the only one so far who has told me that it's buggy, so I've changed my mind there.

Platformer Project, which I just bought, also uses the new input system, so that's the main reason I wanted it.

But I think with the way Rewired works, I can have Rewired override those controls and just rely on Rewired's support for ORK and Dialogue System. This would take care of all my problems with clashing systems, I hope.

Re: ORK integration and Dialogue System: Another conversation is already active. Not starting 'Conversation'.

Posted: Mon May 22, 2023 2:38 pm
by Tony Li
Sounds good. If you have any Rewired integration questions, let me know.