multiple alerts at once

Announcements, support questions, and discussion for the Dialogue System.
Post Reply
bag74
Posts: 5
Joined: Mon Oct 27, 2014 5:50 pm

multiple alerts at once

Post by bag74 »

Hi,



First of all, thank you for your previous help. I am having a bit of trouble getting multiple alerts to show up at once during a single conversation node. Within the script box I have:



Quest[Find_Dathan's_Lost_Item].State = "active";

Variable[Alert] = "Quest: Find Korach's Lost Item";

Quest[Find_Abiram's_Lost_Item].State = "active";

Variable[Alert] = "Quest: Find Abiram's Lost Item";

Quest[Find_Korach's_Lost_Item].State = "active";

Variable[Alert] = "Quest: Find Korach's Lost Item";



Instead of displaying them in a sequential order, it simply displays the final one (all quests do activate though). Is there something I'm doing incorrectly? Thanks for the help.



Just some notes: Within the dialogue manager I do have "Allow Alerts During Conversation" Checked and I have the check frequency to 2.
bag74
Posts: 5
Joined: Mon Oct 27, 2014 5:50 pm

multiple alerts at once

Post by bag74 »

Also had another unrelated question. Is it possible to make on certain player responses timed? I'm not quite certain how to go about this.
User avatar
Tony Li
Posts: 20982
Joined: Thu Jul 18, 2013 1:27 pm

multiple alerts at once

Post by Tony Li »

Hi,



>  I am having a bit of trouble getting multiple alerts to show up at once during a single conversation node.



That's the way alerts work by default. You can override the dialogue UI class's ShowAlert() method if you want it to work differently. The documentation on overriding the class is here. You can find more examples on the Recipes page. If you let me know what GUI system you're using (Unity GUI? new Unity UI? NGUI?) I can provide more help.



> Is it possible to make on certain player responses timed?



Yes. First, inspect the Dialogue Manager's Display Settings > Input Settings and set Response Timeout to the timeout period. (Zero means responses aren't timed.) Then make sure a timer is assigned in your Dialogue UI. This will time all player responses in all conversations.



If you only want to time one conversation, use an Override Display Settings component on the GameObject that has the conversation trigger (i.e., usually the conversant).



If you only want to time a single response menu in a single conversation, it's a little trickier. You'll have to set the value of DialogueManager.DisplaySettings.inputSettings.responseTimeout before the response menu, and then set it back to 0 (zero) after the response menu. You can write a custom sequencer command or register a C# function with Lua to do this. (Custom sequencer commands are actually quite easy to write.)






Post Reply