Page 1 of 2

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

Posted: Mon Jan 18, 2021 1:04 am
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...

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

Posted: Mon Jan 18, 2021 8:30 am
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}}

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

Posted: Tue Jan 19, 2021 6:03 am
by angelmcc
Thank you, Tony! You're the best! :)

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

Posted: Tue Jan 19, 2021 8:16 am
by Tony Li
Happy to help! :-)

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

Posted: Mon Jan 25, 2021 12:39 am
by angelmcc
Hi, Tony!
Sorry... can I ask you what that default sequence is?

Thanks!
Angel...

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

Posted: Mon Jan 25, 2021 8:51 am
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.

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

Posted: Mon Feb 01, 2021 7:30 am
by angelmcc
Oh, I get it. Thanks for explaining! :) That's really good to know.
Wishing you all the best,
Angel...

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

Posted: Mon Feb 01, 2021 9:02 am
by Tony Li
Glad to help!

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

Posted: Thu Mar 11, 2021 4:31 pm
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

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

Posted: Thu Mar 11, 2021 4:51 pm
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.