Hi.
Just wondering what's the simplest way to implement this: for each selected conversation node I'd like to be able to override things like (1) the delay before response and (2) text appending.
For example: NPC says something, there's a pause, and there's a following NPC text response that I want to append to the previous (without changing any global setting). Ditto with things like delays.
I can't see anywhere obvious where this can be done on a node basis.
Thanks.
Delay and append on a node level
Re: Delay and append on a node level
Hi,
The conversation stays on each node for the duration of its Sequence. (If a node's Sequence field is blank, it uses the Default Sequence set in the Dialogue Manager's Camera & Cutscene Settings.)
Let's say you want to show node A for 2 seconds plus an additional 3 second delay (total 5 seconds) before progressing to node B. You could simply set node A's Sequence to:
Sequences can get more sophisticated, though. (See How To Write Sequences.) If you're using a typewriter effect, you can wait for the typewriter effect to finish and then delay 3 seconds. When the typewriter finishes, it sends a sequencer message "Typed". If you set the Sequence to:
then the node will wait for the typewriter to finish and then delay an additional 3 seconds.
Sequences can do quite a bit more. The Cutscene Sequence Tutorials cover them in more detail.
If you want to append text in general, usually you'll use a single subtitle panel. See the "WRPG Template Standard Dialogue UI" and "Runic Dialogue UI" for examples. Tick the subtitle panel's Accumulate Text checkbox.
If you want to append text only for one node, you can duplicate the text from one node to the next like this:
The conversation stays on each node for the duration of its Sequence. (If a node's Sequence field is blank, it uses the Default Sequence set in the Dialogue Manager's Camera & Cutscene Settings.)
Let's say you want to show node A for 2 seconds plus an additional 3 second delay (total 5 seconds) before progressing to node B. You could simply set node A's Sequence to:
Code: Select all
Delay(5)
Code: Select all
Delay(3)@Message(Typed)
Sequences can do quite a bit more. The Cutscene Sequence Tutorials cover them in more detail.
If you want to append text in general, usually you'll use a single subtitle panel. See the "WRPG Template Standard Dialogue UI" and "Runic Dialogue UI" for examples. Tick the subtitle panel's Accumulate Text checkbox.
If you want to append text only for one node, you can duplicate the text from one node to the next like this:
- Node 1 Dialogue Text: "I thought you wanted to always append text."
- Node 2 Dialogue Text: "I thought you wanted to always append text. But you only want to do it here."
- Node 1 Dialogue Text: "I thought you wanted to always append text."
- Node 2 Dialogue Text: "\>I thought you wanted to always append text.\< But you only want to do it here."
-
- Posts: 3
- Joined: Wed Dec 18, 2019 2:56 am
Re: Delay and append on a node level
Thanks for the quick response. That takes care of delays.
For appending, I wanted it to be real-time - instead of pre-packaging the extended text - as the composite text is dynamic.
So, for example, the NPC says something, there's a delay, they continue their dialog (append to the previous). IOW the text is built up in chunks, based on the node being executed, which itself is determined by a bunch of conditionals.
My reasoning for this approach: while I could presumably do it in code, but I'm trying to keep things visible - that was the attraction of the DSU conversation editor. The dialog in this project will become quite intricate and hard to visualise if I do too much in the background.
For appending, I wanted it to be real-time - instead of pre-packaging the extended text - as the composite text is dynamic.
So, for example, the NPC says something, there's a delay, they continue their dialog (append to the previous). IOW the text is built up in chunks, based on the node being executed, which itself is determined by a bunch of conditionals.
My reasoning for this approach: while I could presumably do it in code, but I'm trying to keep things visible - that was the attraction of the DSU conversation editor. The dialog in this project will become quite intricate and hard to visualise if I do too much in the background.
Re: Delay and append on a node level
I think I better understand what you're looking for now. It sounds like ticking Accumulate Text will do it. You don't have to do all that stuff I described above.
If you want to clear the accumulated text at some point, use the ClearSubtitleText() sequencer command.
If you want to clear the accumulated text at some point, use the ClearSubtitleText() sequencer command.
-
- Posts: 3
- Joined: Wed Dec 18, 2019 2:56 am
Re: Delay and append on a node level
Ah, thanks for pointing me to the checkbox and the clear command.
Because I'm not doing cutscenes at the moment I didn't look in that help section - which contains the Sequencer commands.
Very helpful!
Because I'm not doing cutscenes at the moment I didn't look in that help section - which contains the Sequencer commands.
Very helpful!
Re: Delay and append on a node level
Glad to help!