Hi,
I'm trying to have it so the dialogue appears over the InGame UI within a box at the bottom of the screen like in a Japanese visual novel. I got it to work successfully by checking "Play in background" on the Dialogue: Play speech action, but it will only play one line of dialogue. For some reason, when I add another action with a second line of speech, it will only play the second line. I thought maybe I needed to add some wait time between the two play speech actions, so I put in an Engine: wait action. This lets both lines play, but the UI disappears completely.
Also, I have a small graphic of the character who's talking display on the interface during the dialogue. Naturally, I would like this to disappear once the dialogue from that character has concluded. If I place a Menu: Hide menu element action beneath the line of speech, it hides the element from the very beginning of the scene. If I chose a Wait action before it, I encounter the same problem I had before where the entire interface disappears.
As always, any help is gloriously appreciated in advance!
-M
It looks like you're new here. If you want to get involved, click one of these buttons!
Comments
1.Try to put your Dialogue/Subtitles menu to the bottom of the menu stack in menus.
2. Put Engine: Wait 3-4 seconds before Menu:Hide Menu action.
If you check Run in background? in a speech Action, then the chain of Actions will continue on in the same frame that this Action is run.
Meaning: if the next Action has speech by the same character - or you only have one Subtitle menu for all dialogue - it'll override the first speech line, which will now not get seen.
The default InGame menu has an Appear type of During Gameplay. To have both dialogue and this menu appear simultaneously, there are two approaches:
See the Manual's "Background logic" chapter for more details on this setting.
Thanks, Chris and SkyTree!
I went with the first solution, Chris. This seemed to take care of all my problems in one fell swipe.
However, I seem to be presented now with a fresh one. How do I set it so this entire ActionList only occurs once--the first time we get to this scene? I thought I could maybe do an ActionList: Kill when the player clicks to switch to the next scene, but this didn't work. Something to do with setting a variable maybe?
Oh shoot, also...
Now the opening animation cutscene (scene 0) displays the InGame menu. Even though I have an ActionList hiding it. Any quick way around that?
I changed the menu's appear type to Except When Paused btw.
Use a Local Boolean variable to determine if this has been played or not. Name it e.g. "Played intro" and set it to False by default.
In your OnStart cutscene, use the Variable: Check Action to read it. If it's False, run the Intro cutscene, and use the Variable: Set Action to set the variable to True. That way, the Intro won't play next time the scene is opened. A similar technique is used by the 3D Demo scene.
If you've set the InGame menu to display "Except When Paused", then displaying during any cutscene would be expected default behaviour.
If you lock a Menu, however, then it will not turn on even when it's "Appear type" condition is met. You can use the Menu: Change state to lock/unlock a Menu.
Got it, Chris. Both solutions worked like a charm. You're the man. Thanks.