Page 1 of 1

multiple alerts at once

Posted: Wed Jan 14, 2015 1:38 pm
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.

multiple alerts at once

Posted: Wed Jan 14, 2015 1:54 pm
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.

multiple alerts at once

Posted: Wed Jan 14, 2015 2:44 pm
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.)