Hi,
I want to say first thank you for such an amazing system, it has been extremely helpful system! I was wondering how I could make the alert panel flash on the screen for a few seconds then switch to the main text?
If you want to do it without any scripting or without using any visual scripting systems such as PlayMaker, you can use Dialogue System Triggers.
Set up a GameObject with a Dialogue System Trigger that runs a conversation OnUse. In the screenshot below, I named the GameObject "ConversationTrigger":
Set up another GameObject with a Dialogue System Trigger that shows an alert and runs a SendMessage() sequencer command to send "OnUse" to the first GameObject:
Since I set the alert message to show for 2 seconds, I used this sequence:
At the 2-second mark, it sends "OnUse" to ConversationTrigger. The Dialogue System Trigger component on ConversationTrigger receives this "OnUse" message and runs the conversation.
Another way, if you want the dialogue panel to be visible in the background during the alert, is to put an empty node immediately after the <START> node. Set this node's Sequence field to:
where "Some alert" is the alert message, and "2" is the number of seconds to wait before moving to the next conversation node.
Re: Alerts like metal gear?
Posted: Sun Jul 08, 2018 6:04 pm
by Tykan
Thank you for the quick reply!
I still seem to be having some problems with the alerts not showing.
Thanks again for all of your help!
Re: Alerts like metal gear?
Posted: Sun Jul 08, 2018 8:21 pm
by Tony Li
Hi,
Question time!
Are there any warnings or errors in the Console window?
Does the alert show up at all?
What dialogue UI is assigned to the Dialogue Manager's Dialogue UI field?
Using the setup in your screenshots, does the conversation start 2 seconds after starting the scene?
When do you want the conversation to start? How do you want to trigger it?
The dialogue UI's alert panel usually shows text. Do you want to show "Incoming Transmission!" as text or as an image? If you want it to be an image, the alert panel might not be the best choice.
If you set up those two Dialogue System Triggers in the Dialogue System's Corgi Example scene, it should show the "Incoming Transmission!" alert using the basic dialogue UI (a gray panel in the center of the screen). If you still have the Corgi Example scene in your project, would you please test this out and let me know if it works for you?
Re: Alerts like metal gear?
Posted: Sun Jul 08, 2018 9:12 pm
by Tykan
Hey thanks for responding!
1. I do get this on the console "Dialogue System: Another conversation is already active. Not starting 'Avyn Baz Test'."
2. SF Unity UI Dialogue UI with Portraits is assigned to the Manager.
3. The only thing that shows is a blank text box for a split second if I assign the Alert Trigger as a child to the conversation trigger.
4. I would like it to show the image rather then the text because it will be important in how the game tells it's story,
5. Basically I would like the Incoming transmission image to flash first then the main body to show up next.
Re: Alerts like metal gear?
Posted: Sun Jul 08, 2018 10:07 pm
by Tony Li
How are you triggering the conversation? Are you using a Conversation Zone?
How would you like it to trigger? By running up to an NPC and pressing the Interact button? Or by entering a trigger collider? Or something else?
If you're going to use the incoming transmission image, I recommend showing an image instead of using an alert. Here's an example scene:
The second Dialogue System Trigger is set to OnUse. It plays a conversation.
The sequence in the first Dialogue System Trigger does the following:
1. It immediately activates the IncomingTransmission GameObject.
2. At the 2-second mark, it deactivates IncomingTransmission.
3. Also at the 2-second mark, it sends OnUse to itself; the second Dialogue System Trigger handles it.
You're not limited to using SetActive(). You can also play animations if you want the image to fade in, or slide onto the screen, etc. I left that out of the example scene to keep it simple.
Re: Alerts like metal gear?
Posted: Sun Jul 08, 2018 10:38 pm
by Tykan
I'm using conversation on start, but maybe I need to set the SF unity Dialogue on use and put trigger on start? I do see the message though! The problem is that the conversation pops right at the same time as the incoming transmission.
Re: Alerts like metal gear?
Posted: Sun Jul 08, 2018 10:41 pm
by Tony Li
I think your thinking is on the right track. Set the conversation to OnUse. Set the other Dialogue System Trigger (the one that shows the IncomingTransmission image) to OnStart.
Re: Alerts like metal gear?
Posted: Sun Jul 08, 2018 10:58 pm
by Tykan
So the Incoming Transmission worked, but the main dialogue still overshadows it. I tried maybe moving it up in the 3D space put that really didn't work very well.
Here is a video:
Re: Alerts like metal gear?
Posted: Mon Jul 09, 2018 9:48 am
by Tony Li
Hi,
How would you like it to work differently?
When the conversation starts and the dialogue UI appears, do you want "Incoming Transmission" to remain on top of the dialogue UI for a while? If so:
1. Inspect the Canvas that contains the IncomingTransmission GameObject. Increase its Sort Order (e.g., set it to 2).
2. Change the Dialogue System Trigger's Sequence to something like:
This will show IncomingTransmission immediately. At the 2-second mark, it will start the conversation. At the 4-second mark, it will hide IncomingTransmission.