Wait/Pause for a second in the middle of a conversation

Announcements, support questions, and discussion for the Dialogue System.
angelmcc
Posts: 10
Joined: Thu Dec 29, 2016 7:08 pm

Wait/Pause for a second in the middle of a conversation

Post by angelmcc »

Hi! I'm trying to put an extra long pause between two dialogue lines. The way I used to do it doesn't seem to be working anymore. This is what I used to do:

In the sequence field:

Delay(2)(Danika_399_29)@{{end}}

Where 29 is the line ID and 399 is the conversation ID. I want a 2-second pause after line 29.

What am I doing wrong? Thanks!!

Angel...
User avatar
Tony Li
Posts: 22143
Joined: Thu Jul 18, 2013 1:27 pm

Re: Wait/Pause for a second in the middle of a conversation

Post by Tony Li »

Hi Angel,

Inspect conversation 399 entry 29. Set the Sequence field to:

Code: Select all

Delay(2)@{{end}}
Or, if you also want it to play the Dialogue Manager's Default Sequence:

Code: Select all

{{default}}; 
Delay(2)@{{end}}
angelmcc
Posts: 10
Joined: Thu Dec 29, 2016 7:08 pm

Re: Wait/Pause for a second in the middle of a conversation

Post by angelmcc »

Thank you, Tony! You're the best! :)
User avatar
Tony Li
Posts: 22143
Joined: Thu Jul 18, 2013 1:27 pm

Re: Wait/Pause for a second in the middle of a conversation

Post by Tony Li »

Happy to help! :-)
angelmcc
Posts: 10
Joined: Thu Dec 29, 2016 7:08 pm

Re: Wait/Pause for a second in the middle of a conversation

Post by angelmcc »

Hi, Tony!
Sorry... can I ask you what that default sequence is?

Thanks!
Angel...
User avatar
Tony Li
Posts: 22143
Joined: Thu Jul 18, 2013 1:27 pm

Re: Wait/Pause for a second in the middle of a conversation

Post by Tony Li »

Hi Angel,

When any dialogue entry node is used in a conversation (e.g., shown as a subtitle in the dialogue UI), it plays the commands listed in its Sequence field. These sequencer commands are typically used to do things like moving the camera or playing animations. The subtitle stays onscreen until all of the sequencer commands have finished. (If you're using continue buttons, the player can cut the subtitle short by clicking the continue button.)

If a dialogue entry node's Sequence field is blank, it will play the Dialogue Manager's Default Sequence. The Default Sequence is defined on the Dialogue Manager GameObejct, in the field Display Settings > Camera & Cutscene Settings > Default Sequence.

Sequencer commands can use a special keyword {{end}} that represents a duration based on the text length.

This command:

Code: Select all

Delay(2)@{{end}}
tells the Dialogue System to wait for a duration based on the text length, and then delay an extra 2 seconds.
angelmcc
Posts: 10
Joined: Thu Dec 29, 2016 7:08 pm

Re: Wait/Pause for a second in the middle of a conversation

Post by angelmcc »

Oh, I get it. Thanks for explaining! :) That's really good to know.
Wishing you all the best,
Angel...
User avatar
Tony Li
Posts: 22143
Joined: Thu Jul 18, 2013 1:27 pm

Re: Wait/Pause for a second in the middle of a conversation

Post by Tony Li »

Glad to help!
pblenkarn
Posts: 4
Joined: Thu Mar 11, 2021 4:26 pm

Re: Wait/Pause for a second in the middle of a conversation

Post by pblenkarn »

Hi Tony,
I'm trying to use what you've shared above to create a gap between lines and in which the dialog box disappears, but I'm not having much luck. The Delay pattern above just extends my current dialogue line.

For example:
NPC: I'm going to take a long pause.
[pause in which the dialog box disappears]
NPC: Here's my next line.

My ultimate goal is to do things like cue a line, wait 2 seconds, cue a camera, wait 2 seconds, cue a sound, wait 2 seconds, continue the dialogue.

I've watched through the Sequencer tutorials as well. What have I missed?

Thanks,
Patrick
User avatar
Tony Li
Posts: 22143
Joined: Thu Jul 18, 2013 1:27 pm

Re: Wait/Pause for a second in the middle of a conversation

Post by Tony Li »

Hi Patrick,

The the SetDialoguePanel() sequencer command will help here. You can implement your example like this:
  • Dialogue Text: "I'm going to take a long pause."
  • Sequence:

    Code: Select all

    SetDialoguePanel(false)@Message(Typed)->Message(Hidden); // Hide UI as soon as typewriter finishes.
    Delay(2)@Message(Hidden)->Message(Reappear); // When UI is hidden, wait 2 more seconds...
    SetDialoguePanel(true)@Message(Reappear) // ...then show the UI again.
  • Dialogue Text: "Here's my next line."
Another alternative is to use Timeline or SLATE to sequence it out. But that requires learning how Timeline or SLATE works. If you're interested in doing that and need some guidance, let me know.
Post Reply