Page 1 of 1
Bubble Dialogue
Posted: Wed Apr 10, 2019 2:36 pm
by nivlekius
Hi,
So I decided that to save room for mobile version I needed to use bubbles. I'm having a bit of a problem. I have set up actors on npc and pc and use the bubble ui under custom dialogue ui settings. Problems are arising. When using the bubbles instead of the regular ui, my events aren't taking place, these are done as messages. What's weird is that when I disable to actor script the messages work but the bubbles are still used, but also it causes some kind of error even though there is no error thrown. I know there is an error because my player has his prefab armor on and the game normally automatically equips him with what he supposed to be wearing. That is what happens all the time when there is an error somewhere, that is how I know there's an issue.
So in short, bubbles don't allow dialogue messages to be sent via lua, disabling the actor script allows the messages to work and bubbles (some how) are still used but there is a game error (characters clothes aren't equipped ONLY when the actor script is disabled).
Thanks
Re: Bubble Dialogue
Posted: Wed Apr 10, 2019 3:01 pm
by Tony Li
Hi,
It sounds like maybe the conversation is using different GameObjects as the participants based on whether the Dialogue Actor components are active or not.
What messages are you talking about? How are you sending them, and what is supposed to receive them?
If you temporarily set the Dialogue Manager's Debug Level to Info, start the conversation and check the Console for a line like this:
Dialogue System: Starting conversation 'XXX' with actor=AAA and conversant=BBB.
Make sure the GameObjects reported for AAA and BBB are correct.
Re: Bubble Dialogue
Posted: Wed Apr 10, 2019 3:10 pm
by nivlekius
SendMessage(PlayerWake, , Balzac); is one of the messages, where player wake is the function and Balzac is the object its the script is on.
The conversation seems to play out correctly. I have the player as the actor and npc as the conversant. As an FYI the player never initiates a conversation. It is always the npc who speaks first.
Re: Bubble Dialogue
Posted: Wed Apr 10, 2019 3:15 pm
by Tony Li
nivlekius wrote: ↑Wed Apr 10, 2019 3:10 pmSendMessage(PlayerWake, , Balzac); is one of the messages, where player wake is the function and Balzac is the object its the script is on.
And this is on the
Sequence field, correct?
The bubble UIs by themselves shouldn't cause any issues with SendMessage().
nivlekius wrote: ↑Wed Apr 10, 2019 3:10 pmThe conversation seems to play out correctly. I have the player as the actor and npc as the conversant.
If you disable (or re-enable) the Dialogue Actor components, does the Console report the same GameObjects when you start the conversation?
Please feel free to send an example project to tony (at) pixelcrushers.com. I'll be happy to take a look.
Re: Bubble Dialogue
Posted: Wed Apr 10, 2019 3:34 pm
by nivlekius
Yes, I have it all set up correctly I assume. It works just fine if I use the default dialogue without the actor scripts on them. I'm packaging as little as I have to now but I'm pretty sure the package will still be quite large if I have to send you one.
Re: Bubble Dialogue
Posted: Wed Apr 10, 2019 3:45 pm
by Tony Li
What happens if the characters have enabled Dialogue Actor components but their dialogue UI settings use the Default value?
Re: Bubble Dialogue
Posted: Wed Apr 10, 2019 4:16 pm
by nivlekius
let me see. I've been trying to correct things that get messed up from making a package. I have it fixed enough to allow you to at least run it.
Re: Bubble Dialogue
Posted: Wed Apr 10, 2019 4:18 pm
by nivlekius
The same thing happens. The dialogue goes but my messages don't get sent.
Re: Bubble Dialogue
Posted: Wed Apr 10, 2019 4:22 pm
by Tony Li
Okay, that means it's not specific to the bubble UIs. I'm guessing that the wrong GameObjects are getting assigned somewhere. We can either look at it through Debug Level > Info, or you can send me a project and I'll take a look directly.
Re: Bubble Dialogue
Posted: Wed Apr 10, 2019 5:32 pm
by nivlekius
This looks like all the relevant stuff. This all basically happens when the scene loads. He comes in, stop in his spot then talks. PlayerWake (usually) makes the player animation to stand up play, but in this case it's not happening if the Actor script is used.
Dialogue System: Lua(Actor = {}; Item = {}; Quest = Item; Location = {}; Conversation = {}; Variable = {}; Variable["Alert"] = "")
Dialogue System: Resetting Lua environment.
UnityEngine.Debug:Log(Object)
Dialogue System: Updating Lua environment with saved data.
Dialogue System: Applying persistent data from Lua environment.
Dialogue System: Broadcasting that level will be unloaded.
UnityEngine.Debug:Log(Object)
Dialogue System: Loaded master database ''
UnityEngine.Debug:Log(Object)
Dialogue System: Registering Lua function CurrentQuestState
UnityEngine.Debug:Log(Object)
Dialogue System: Registering Lua function CurrentQuestEntryState
UnityEngine.Debug:Log(Object)
Dialogue System: Registering transform Player as actor 'Player'.
UnityEngine.Debug:Log(Object, Object)
PixelCrushers.DialogueSystem.CharacterInfo:RegisterActorTransform(String, Transform) (at Assets/Plugins/Pixel Crushers/Dialogue System/Scripts/MVC/Model/Logic/Shared/CharacterInfo.cs:169)
PixelCrushers.DialogueSystem.DialogueActor:OnEnable() (at Assets/Plugins/Pixel Crushers/Dialogue System/Scripts/MVC/Actor/DialogueActor.cs:131)
Dialogue System: Registering transform balzac as actor 'Balzac'.
UnityEngine.Debug:Log(Object, Object)
PixelCrushers.DialogueSystem.CharacterInfo:RegisterActorTransform(String, Transform) (at Assets/Plugins/Pixel Crushers/Dialogue System/Scripts/MVC/Model/Logic/Shared/CharacterInfo.cs:169)
PixelCrushers.DialogueSystem.DialogueActor:OnEnable() (at Assets/Plugins/Pixel Crushers/Dialogue System/Scripts/MVC/Actor/DialogueActor.cs:131)
Dialogue System: Starting conversation 'balzac/tutorial/start', actor=Player (UnityEngine.Transform), conversant=balzac (UnityEngine.Transform).
UnityEngine.Debug:Log(Object, Object)
PixelCrushers.DialogueSystem.DialogueManager:StartConversation(String, Transform, Transform) (at Assets/Plugins/Pixel Crushers/Dialogue System/Scripts/Manager/DialogueManager.cs:424)
Dialogue System: Lua(return CurrentQuestState("Learn from Balzac") == "unassigned")
UnityEngine.Debug:Log(Object)
Dialogue System: Add Group (Balzac): ID=12:22 'New Dialogue Entry' (True)
UnityEngine.Debug:Log(Object)
Dialogue System: Add Link (Balzac): ID=12:23 'Wake up. We have important matters to discuss.' (True)
UnityEngine.Debug:Log(Object)
Dialogue System: Player says ''
UnityEngine.Debug:Log(Object)
Dialogue System: Sequencer.Play( None()@0 )
UnityEngine.Debug:Log(Object)
Dialogue System: Add Link (Player): ID=12:24 'W..what? Who are you? What do you want?' (True)
UnityEngine.Debug:Log(Object)
Dialogue System: Sequencer.Play( SendMessage(BlockIconClicks, , Balzac)@0 )
UnityEngine.Debug:Log(Object)
Dialogue System: Sequencer: SendMessage(BlockIconClicks, , balzac (UnityEngine.Transform), )
UnityEngine.Debug:Log(Object)
Dialogue System: Add Link (Balzac): ID=12:25 'My name is Balzac. I've come here seeking your assistance and in return assisting yourself.' (True)
UnityEngine.Debug:Log(Object)
Dialogue System: Sequencer.Play( SendMessage(PlayerWake, , Balzac)@0 )
UnityEngine.Debug:Log(Object)
Dialogue System: Sequencer: SendMessage(PlayerWake, , balzac (UnityEngine.Transform), )
UnityEngine.Debug:Log(Object)