Simple 2d Object/Quest

Announcements, support questions, and discussion for the Dialogue System.
loudmonkey
Posts: 8
Joined: Wed Sep 25, 2019 2:48 am

Simple 2d Object/Quest

Post by loudmonkey »

I am going to lose my mind soon. haha.

I have a basic quest chain, example:

Please find my Banana. (unassigned quest)
- OK (set quest active)(sequence: {{default}}; SetActive(Banana, true))
Please Keep Looking. (active quest)
You Found it! (success quest)

The gameobject in the same scene is setup with:
Rigidbody, Collider 2d, Sprite Renderer, Increment on Destroy, and Dialogue System Trigger. (on trigger enter.)

When I click "OK" the game object stays hidden. I don't know what I am forgetting to do. But I can't get the quest to enable a game object, even in the same scene.

When I set it up with a Persistent Active Data script, it works when I leave the scene and come back.

In situation, I need this to work if I leave the scene, or if I don't.

Please help me!
User avatar
Tony Li
Posts: 22051
Joined: Thu Jul 18, 2013 1:27 pm

Re: Simple 2d Object/Quest

Post by Tony Li »

I'm sorry, this is a bug in version 2.2.0. While we're waiting for version 2.2.1 to become available on the Asset Store, please import the patch available on the Dialogue System Extras page. (Unity is having technical difficulties with the internal system they use to publish updates on the Asset Store. They said it might take until the end of the week to resolve their problem.)
loudmonkey
Posts: 8
Joined: Wed Sep 25, 2019 2:48 am

Re: Simple 2d Object/Quest

Post by loudmonkey »

This was working for me last time I tested. And now 6 months later it's not working. I haven't updated unity or dialogue system in quite some time. I'll get version numbers here soon.
User avatar
Tony Li
Posts: 22051
Joined: Thu Jul 18, 2013 1:27 pm

Re: Simple 2d Object/Quest

Post by Tony Li »

Did you perhaps move Banana to be a root GameObject in the scene? If so, SetActive() in versions prior to 2.2.0 weren't able to activate inactive root GameObjects. They had to be in a hierarchy where the root GameObject was active.
loudmonkey
Posts: 8
Joined: Wed Sep 25, 2019 2:48 am

Re: Simple 2d Object/Quest

Post by loudmonkey »

I am using Unity version, 2018.2.1f1
and using Dialogue Manager, 2.1.1.1

The objects, are under a blank object that has the Persistent Active Data component.
Then the objects in that have increment on destroy, dialogue system trigger, collision stuff.

So far, the ONLY thing not working is the object doesn't turn on in, if in the same scene.
It works fine, if I leave the scene and comeback in, because the persistent active data, enables it on scene load.
User avatar
Tony Li
Posts: 22051
Joined: Thu Jul 18, 2013 1:27 pm

Re: Simple 2d Object/Quest

Post by Tony Li »

Please temporarily set the Dialogue Manager's Debug Level to Info. This will log a lot to the Console (or output log if you're testing a build). Make sure you see a line similar to this around the time that the corresponding dialogue entry node plays:

Dialogue System: Sequencer: SetActive(Banana, true)

As another test, add an empty GameObject with a Dialogue System Trigger component. Set the trigger dropdown to OnStart. Select Add Action > Play Sequence. Then set the Sequence to:

SetActive(Banana, true)

When you play the scene, the Banana GameObject should go active immediately. This test will just confirm that your SetActive() command works.
loudmonkey
Posts: 8
Joined: Wed Sep 25, 2019 2:48 am

Re: Simple 2d Object/Quest

Post by loudmonkey »

It seems the SetActive is NOT working..

I added a simple blank object, with On Start, and Action of Play Sequence.
Sequence: "SetActive(almost_perfect_gasket_copy,true)"

The almostperfectgasket, is an object, below a empty game object, so not in root.
What do I do now?
User avatar
Tony Li
Posts: 22051
Joined: Thu Jul 18, 2013 1:27 pm

Re: Simple 2d Object/Quest

Post by Tony Li »

To confirm: The parent GameObject is active, and the GameObject itself is named exactly "almost_perfect_gasket_copy", right?

If so, that should work in 2.1.1.1.

Would you mind updating to version 2.2.0 and then importing the patch from the Extras page (direct download)? (Whenever updating anything, including the Dialogue System, it's a good idea to back up your project first, just to be on the safe side.)

I'm finishing work for the day, but I'll check back first thing in the morning.
loudmonkey
Posts: 8
Joined: Wed Sep 25, 2019 2:48 am

Re: Simple 2d Object/Quest

Post by loudmonkey »

Thanks will try this.
loudmonkey
Posts: 8
Joined: Wed Sep 25, 2019 2:48 am

Re: Simple 2d Object/Quest

Post by loudmonkey »

Okay so this seems to be still not working, but this time in the log, its showing that it's suppose to trigger!
The object just isn't turning on.

If I leave the scene, the Persistent active data, does enable it.
But again, not on conversation trigger.. Help!

Dialogue System: Sequencer.Play( SetActive(almost_perfect_gasket_copy, true)@0 )
UnityEngine.Debug:Log(Object)
PixelCrushers.DialogueSystem.Sequencer:PlayCommand(QueuedSequencerCommand, String, Boolean, Single, String, String, String[]) (at Assets/Plugins/Pixel Crushers/Dialogue System/Scripts/MVC/Sequencer/Sequencer.cs:638)
PixelCrushers.DialogueSystem.Sequencer:PlayCommand(QueuedSequencerCommand) (at Assets/Plugins/Pixel Crushers/Dialogue System/Scripts/MVC/Sequencer/Sequencer.cs:626)
PixelCrushers.DialogueSystem.Sequencer:PlaySequence(String) (at Assets/Plugins/Pixel Crushers/Dialogue System/Scripts/MVC/Sequencer/Sequencer.cs:560)
PixelCrushers.DialogueSystem.Sequencer:PlaySequence(String, Boolean, Boolean) (at Assets/Plugins/Pixel Crushers/Dialogue System/Scripts/MVC/Sequencer/Sequencer.cs:570)
PixelCrushers.DialogueSystem.ConversationView:StartSubtitle(Subtitle, Boolean, Boolean) (at Assets/Plugins/Pixel Crushers/Dialogue System/Scripts/MVC/View/View/ConversationView.cs:168)
PixelCrushers.DialogueSystem.ConversationController:GotoState(ConversationState) (at Assets/Plugins/Pixel Crushers/Dialogue System/Scripts/MVC/Controller/ConversationController.cs:168)
PixelCrushers.DialogueSystem.ConversationController:OnSelectedResponse(Object, SelectedResponseEventArgs) (at Assets/Plugins/Pixel Crushers/Dialogue System/Scripts/MVC/Controller/ConversationController.cs:257)
PixelCrushers.DialogueSystem.ConversationView:SelectResponse(SelectedResponseEventArgs) (at Assets/Plugins/Pixel Crushers/Dialogue System/Scripts/MVC/View/View/ConversationView.cs:467)
PixelCrushers.DialogueSystem.ConversationView:OnSelectedResponse(Object, SelectedResponseEventArgs) (at Assets/Plugins/Pixel Crushers/Dialogue System/Scripts/MVC/View/View/ConversationView.cs:460)
PixelCrushers.DialogueSystem.AbstractDialogueUI:OnClick(Object) (at Assets/Plugins/Pixel Crushers/Dialogue System/Scripts/UI Subsystem/Abstract/Abstract Dialogue UI/AbstractDialogueUI.cs:346)
PixelCrushers.DialogueSystem.StandardDialogueUI:OnClick(Object) (at Assets/Plugins/Pixel Crushers/Dialogue System/Scripts/UI Subsystem/Standard/Dialogue/StandardDialogueUI.cs:215)
UnityEngine.Component:SendMessage(String, Object, SendMessageOptions)
PixelCrushers.DialogueSystem.StandardUIResponseButton:OnClick() (at Assets/Plugins/Pixel Crushers/Dialogue System/Scripts/UI Subsystem/Standard/Dialogue/StandardUIResponseButton.cs:124)
UnityEngine.EventSystems.EventSystem:Update()




Dialogue System: Sequencer: SetActive(almost_perfect_gasket_copy (UnityEngine.Transform), true)
UnityEngine.Debug:Log(Object)
PixelCrushers.DialogueSystem.Sequencer:HandleSetActiveInternally(String, String[]) (at Assets/Plugins/Pixel Crushers/Dialogue System/Scripts/MVC/Sequencer/Sequencer.cs:1732)
PixelCrushers.DialogueSystem.Sequencer:HandleCommandInternally(String, String[], Single&) (at Assets/Plugins/Pixel Crushers/Dialogue System/Scripts/MVC/Sequencer/Sequencer.cs:982)
PixelCrushers.DialogueSystem.Sequencer:ActivateCommand(String, String, Transform, Transform, String[]) (at Assets/Plugins/Pixel Crushers/Dialogue System/Scripts/MVC/Sequencer/Sequencer.cs:696)
PixelCrushers.DialogueSystem.Sequencer:PlayCommand(QueuedSequencerCommand, String, Boolean, Single, String, String, String[]) (at Assets/Plugins/Pixel Crushers/Dialogue System/Scripts/MVC/Sequencer/Sequencer.cs:657)
PixelCrushers.DialogueSystem.Sequencer:PlayCommand(QueuedSequencerCommand) (at Assets/Plugins/Pixel Crushers/Dialogue System/Scripts/MVC/Sequencer/Sequencer.cs:626)
PixelCrushers.DialogueSystem.Sequencer:PlaySequence(String) (at Assets/Plugins/Pixel Crushers/Dialogue System/Scripts/MVC/Sequencer/Sequencer.cs:560)
PixelCrushers.DialogueSystem.Sequencer:PlaySequence(String, Boolean, Boolean) (at Assets/Plugins/Pixel Crushers/Dialogue System/Scripts/MVC/Sequencer/Sequencer.cs:570)
PixelCrushers.DialogueSystem.ConversationView:StartSubtitle(Subtitle, Boolean, Boolean) (at Assets/Plugins/Pixel Crushers/Dialogue System/Scripts/MVC/View/View/ConversationView.cs:168)
PixelCrushers.DialogueSystem.ConversationController:GotoState(ConversationState) (at Assets/Plugins/Pixel Crushers/Dialogue System/Scripts/MVC/Controller/ConversationController.cs:168)
PixelCrushers.DialogueSystem.ConversationController:OnSelectedResponse(Object, SelectedResponseEventArgs) (at Assets/Plugins/Pixel Crushers/Dialogue System/Scripts/MVC/Controller/ConversationController.cs:257)
PixelCrushers.DialogueSystem.ConversationView:SelectResponse(SelectedResponseEventArgs) (at Assets/Plugins/Pixel Crushers/Dialogue System/Scripts/MVC/View/View/ConversationView.cs:467)
PixelCrushers.DialogueSystem.ConversationView:OnSelectedResponse(Object, SelectedResponseEventArgs) (at Assets/Plugins/Pixel Crushers/Dialogue System/Scripts/MVC/View/View/ConversationView.cs:460)
PixelCrushers.DialogueSystem.AbstractDialogueUI:OnClick(Object) (at Assets/Plugins/Pixel Crushers/Dialogue System/Scripts/UI Subsystem/Abstract/Abstract Dialogue UI/AbstractDialogueUI.cs:346)
PixelCrushers.DialogueSystem.StandardDialogueUI:OnClick(Object) (at Assets/Plugins/Pixel Crushers/Dialogue System/Scripts/UI Subsystem/Standard/Dialogue/StandardDialogueUI.cs:215)
UnityEngine.Component:SendMessage(String, Object, SendMessageOptions)
PixelCrushers.DialogueSystem.StandardUIResponseButton:OnClick() (at Assets/Plugins/Pixel Crushers/Dialogue System/Scripts/UI Subsystem/Standard/Dialogue/StandardUIResponseButton.cs:124)
UnityEngine.EventSystems.EventSystem:Update()
Post Reply