Hello,
I have been looking forward to check out the QTEs for a long while, and I just started reading the documentation for it today. So what I want to do is to start a timer (preferably with a visible indicator, like a diminishing bar)when a certain choice screen appears.
Let us say the options are A, B, C, and D. After, say, 10 seconds have passed, if no answer has been given, it should automatically proceed to choice D.
I tried to look both into Timeout() command and QTE() command, but could not figure out how to do this using either one.
If there was a command that would change a certain variable after a certain duration, I think I could make it work. Do you have any ideas?
Conversation Options as QTEs
Re: Conversation Options as QTEs
Hi,
You could use either QTE() or timeouts for this. If you want to set a timer on the response menu, use timeouts:
Timeouts: Assign a UI slider to your dialogue UI. On the dialogue entry that precedes the response menu, add SetTimeout(10) to the Sequence field. By default, if the timer runs out it will choose option A. On the Dialogue Manager, you can change this to choose a random response, the currently-selected response, or end the conversation. (Sorry, no way to tell it to choose D.) There's also an event/message OnConversationTimeout() that you can hook into.
If you want to set a timer when showing a special option, not the response menu, use QTE():
QTE(): Create a GameObject with a slider and a script that starts the slider when OnEnable. Assign this to your dialogue UI's QTE list. It will have an index number starting from zero. Use the QTE() sequencer command to activate that GameObject and start a timer. (info) If the timer reaches zero, it will set a dialogue database variable to a blank string. If the player presses the input associated with that QTE index, it will set the variable to a specified value. You'll need a stub dialogue entry right after, and then you can check the variable value.
You could use either QTE() or timeouts for this. If you want to set a timer on the response menu, use timeouts:
Timeouts: Assign a UI slider to your dialogue UI. On the dialogue entry that precedes the response menu, add SetTimeout(10) to the Sequence field. By default, if the timer runs out it will choose option A. On the Dialogue Manager, you can change this to choose a random response, the currently-selected response, or end the conversation. (Sorry, no way to tell it to choose D.) There's also an event/message OnConversationTimeout() that you can hook into.
If you want to set a timer when showing a special option, not the response menu, use QTE():
QTE(): Create a GameObject with a slider and a script that starts the slider when OnEnable. Assign this to your dialogue UI's QTE list. It will have an index number starting from zero. Use the QTE() sequencer command to activate that GameObject and start a timer. (info) If the timer reaches zero, it will set a dialogue database variable to a blank string. If the player presses the input associated with that QTE index, it will set the variable to a specified value. You'll need a stub dialogue entry right after, and then you can check the variable value.
Re: Conversation Options as QTEs
That is very helpful Tony. Thank you for the directions.
The reason I wanted the conversation to choose a specific options was to automatically choose the "CALM" option, where player can make it a decision not to say anything. I wanted waiting for a certain amount of time to have the same outcome. I think I can assign "CALM" as my first answer in the list then, and make it chosen automatically if time has run out.
The reason I wanted the conversation to choose a specific options was to automatically choose the "CALM" option, where player can make it a decision not to say anything. I wanted waiting for a certain amount of time to have the same outcome. I think I can assign "CALM" as my first answer in the list then, and make it chosen automatically if time has run out.
Re: Conversation Options as QTEs
If that doesn't work out for some reason, I've been thinking of either adding another setting to choose the last response instead of the first, or add another markup tag to identify the default timeout response. I'm leaning more toward a setting to choose the last response to keep the number of markup tags reasonable.
Re: Conversation Options as QTEs
Alright, so I have just given the Timeout a go, and it really seems to be working pretty good!
Also, I was trying to use the [position=n] command in the Menu Text in front of the option lines, which used to work when I was using the bubble commands, but this did not seem to work when I am using the JRPG UI. I am sure I forgot something that you taught me back then, but could you give me a quick hint on what I may be doing wrong? If I am using the position command, then the option texts will just disappear. I remember in Bubble Response Components, there were ways to adjust the order, but I could not see it with the response menu in JRPG template.
Update: I found out that if I delete the link to the option, and then re-establish it, it sends it to the bottom of the list. This can help me arrange the options as I like. I am still curious if there is another way to change this order.
Also, I was trying to use the [position=n] command in the Menu Text in front of the option lines, which used to work when I was using the bubble commands, but this did not seem to work when I am using the JRPG UI. I am sure I forgot something that you taught me back then, but could you give me a quick hint on what I may be doing wrong? If I am using the position command, then the option texts will just disappear. I remember in Bubble Response Components, there were ways to adjust the order, but I could not see it with the response menu in JRPG template.
Update: I found out that if I delete the link to the option, and then re-establish it, it sends it to the bottom of the list. This can help me arrange the options as I like. I am still curious if there is another way to change this order.
Re: Conversation Options as QTEs
The [position=n] tag only applies to buttons that are assigned to the response menu panel's Buttons list. Certain UIs, like Bubble and Wheel, use the explicitly-defined Buttons list. Others, like the JRPG template, instantiate buttons from the Button Template instead, and [position=n] doesn't apply to these.pegassy wrote: ↑Sat Jan 19, 2019 2:22 pmAlso, I was trying to use the [position=n] command in the Menu Text in front of the option lines, which used to work when I was using the bubble commands, but this did not seem to work when I am using the JRPG UI. I am sure I forgot something that you taught me back then, but could you give me a quick hint on what I may be doing wrong? If I am using the position command, then the option texts will just disappear. I remember in Bubble Response Components, there were ways to adjust the order, but I could not see it with the response menu in JRPG template.
Inspect the originating dialogue entry. The bottom of the inspector will show all of its links, with up/down arrow buttons to change the order.
Re: Conversation Options as QTEs
Wow, how did I miss that? Thank you so much.