Forum rules - please read before posting.

Multi Dialog Import Optional Context Label

Using this forum post here: https://adventurecreator.org/forum/discussion/15647/dialog-import-branching-path-repost#latest.

Is there a way to add and make an Optional Context Label visible when the player is prompted a choice in a Multiple Dialog Import? For example, what if, a player is having a conversation with an NPC and the NPC would ask a question that would prompt the player to make a choice of, but the player forgot what the question was and is left with a choice not knowing what to pick because he no longer has the context of what the choices represent in response to that question the NPC said.

Pic for reference:
https://imgur.com/a/Q4qenkk

«1

Comments

  • Put aside the import aspect for now - it's something to first solve with regular AC Actions / workflow.

    To have a dialogue line appear at the same time as dialogue options, you can use the [hold] tag in a speech line that plays just before the options are shown. This will cause the line to continue to display while the options appear.

    If this needs to appear styled differently to regular speech text, you can create a dedicated NPC prefab for this kind of label, assign them in the speech Action (can be the prefab, not one in the scene), and the use a separate, restyled, Subtitles menu that's set to only display speech from this character.

  • Thank you for the answer! Question? Is the icon that resembles that of a mouse with its left button pressed the [hold] tag? If yes, does the player always have to press that button to have the last speech line display with the options shown? is there a way to have it toggle on and then have all speech lines before the options display are always visible?

  • I'm not clear on what you're referring to - what icon?

    The [hold] tag is text that you insert into the speech text itself - see the Manual's "Speech text tokens" for details on this topic.

  • https://imgur.com/a/63wcVe3
    Oh, it's this icon here which I assume is the [hold] tag, but you told me much after that the [hold] tag is a text token in the Variable Menu. I apologize for the confusion.

    Ok, I tried that [hold] tag, and it works but it's giving me weird things like the conversation is now overlapping the speech line that I hold. Is there a way to position the text above the conversation options? You mentioned earlier that I need a dedicated NPC prefab for it or is that optional and this issue is resolved without it?

    https://imgur.com/a/5m8F6Ip

  • The [hold] tag simply causes the line to display once the Action that calls it has ended - which is why you're now seeing the two Menus overlap.

    To position the text above the Conversation options, you'll need to use a separate Subtitles menu that is positioned in the correct place. To do this, you can use a specific character to speak such lines, and have this new Subtitles menu only show lines from that character.

    This character can be empty, i.e. the speech line can be a narration line, as you have now - provided this is only time you use the narrator.

    Subtitle menus have fields in their property panels to let you configure which charactes they show for.

  • Am I doing this right in making a new Subtitle menu and then using it for a specific line? How do I exactly use the new SubtitleUI1 Prefab for the specific character? I created a new Subtitle Menu called Subtitles Context and made a property called Subtitle Context Label.

    https://imgur.com/a/WpbDon5

    I've tried removing the extra action and made this:
    https://imgur.com/a/Vzzd0wZ

    Where did I go wrong?

  • Your in-game screenshots show two Subtitles menus. Is that to say that the new Subtitle menu shows up at the correct time, just with the wrong text?

    If so, it's probably just a case of re-assigning the prefab's components to the element fields. i.e. the Speaker label's Text object to the Speaker element, etc.

    To prevent the default Subtitles menu from showing, you need to do the opposite to it: set its For speakers of type to Except Specific Characters and enter in the same character name below.

  • edited April 14

    Ok, I tried what you suggested to set the "For speakers of type" to "Except Specific Characters" and enter in the same character name.

    This what happens:
    https://imgur.com/a/hgSKFP1
    So, the subtitle doesn't show up due to the subtitle refer to that one specific character in the scene.

    I've been following your suggestions on how to do this.

    1. "To have a dialogue line appear at the same time as dialogue options, you can use the [hold] tag in a speech line that plays just before the options are shown. This will cause the line to continue to display while the options appear."
    • Ok, I got that right with adding a [hold] in the Line Text in the Dialogue: Play Speech
    1. "To position the text above the Conversation options, you'll need to use a separate Subtitles menu that is positioned in the correct place. To do this, you can use a specific character to speak such lines and have this new Subtitles menu only show lines from that character."
    • I created a separate Subtitle menu called SubtitleUI1 and position it above the Conversation Options. https://imgur.com/a/ZIRW94c.

    • Also, made a new Menu called Subtitle Context. With that created, I assume the Appear type should be set to When Speech Plays and For speakers of type: it should be set to Specific Characters Only with the Character(s) to limit to to the character I want its subtitle to display above the conversation. https://imgur.com/a/ktZMJyP.

    • My question is how do I use SubtitleUI1 if I don't want the default Subtitle to not display. This is where I'm having trouble figuring out and its why I use two Dialogue: Play Speech. One to simply display the subtitle for the first time and the other to just hold that Subtitle Menu just to hold for the player to remember the context of the Conversation option. https://imgur.com/a/Jkv3ucr. Is this the right way or should I change it?

    1. This character can be empty, i.e. the speech line can be a narration line, as you have now - provided this is only time you use the narrator.
    • This where I'm lost especially about speech line be used as narration line. I tried finding this term in the AC Manual, but nothing shows up about narration line with the find tool (CTRL+f).
    • This is what my labels looks like under Subtitle Context https://imgur.com/a/BF16iGW.

    I'm quite lost a bit without a picture to guide me, is it alright if you can screenshot that relates to the instructions you gave me earlier in a step-by-step process?

  • What you have looks largely there.

    This is where I'm having trouble figuring out and its why I use two Dialogue: Play Speech. One to simply display the subtitle for the first time and the other to just hold that Subtitle Menu just to hold for the player to remember the context of the Conversation option. https://imgur.com/a/Jkv3ucr. Is this the right way or should I change it?

    Both lines are spoken by the same character - so both will rely on the same menu. Do you want this line to first appear where it normally does, before the options show? If so, have the normal character (Shop NPC?) say the first line, and then use a separate character or condition for the second. This can be narration if you're not already relying on narration.

    In the Manual, search for "narration" rather than "narration line". But in short: narration is simply speech that has no associated character. If you create a speech Action but don't assign a character in the Speaker field, that will be narration.

    To filter a Subtitles menu to either only show narration, or avoid narration, configure its For speakers of type field. If we go with the narration approach, set Subtitles' to Characters only, and Subtitles1's to Narration Only.

    For both menus, leave the For speech of type field as its default All.

  • edited April 15

    Thank you for the suggestion. I tried it and made a separate Shop NPC and the results were like this:
    (sorry for the poor quality)
    https://imgur.com/a/7AehSfQ

    I think I need to bring up that the entire time the cutscene used for making a dialogue between characters is using a CSV file that contains a table of dialogue and characters. https://imgur.com/a/jxeWjA2. Would that complicate this issue of mine in resolving it? The only issue I can think of is that whenever a character like Dalia speaks, her subtitle shows up but when Alex speaks, his subtitles don't show up. However, after the Conversation, Dalia no longer speaks anymore and the same goes for Alex.

    In this picture here, https://imgur.com/a/wPhW2eI. How do I include another character's name here in the Character(s) to limit to: ?

    I've notice that I can change the Appear Type for Subtitles Context (previously Subtitle1) from When Speech Plays to During Conversation. This is the result: https://imgur.com/a/5prhYeo. Note I changed the Subtitle Menu For speakers of type: to All and the subtitle works for both characters.

    With that in mind, which route should I take? the first one is making a different NPC and have the Subtitle Menu Appear Type change. Or the 2nd one, where I the Appear Type is During Conversation and then have another Linked Canvas prefab be set to a separate SubtitleUI Canvas which I made one called SubtitleUI-Context.

  • The CSV importer will generate the Actions while still in Edit mode - so it shouldn't be a factior. What matters is the state of the Actions at the time of Play mode.

    The "Appear type" settings of the two Subtitle menus need to be opposites of one another. If you're using Narration for the second line - the one that shows during Conversations - then the second Menu just has to limit it's display to Narration.

    The "normal" Subtitles menu, then, only needs to do the opposite - limit it's display to non-Narration. You don't need to specify which specific characters it shows for - though this can be done by separating names with a colon, as listed underneath the box.

    In short, if the 2nd Subtitles menu has its For speakers of type set to Narration Only, then the 1st menu can be set to Characters Only.

  • edited April 16

    Oh, wow thank you for pointing that out that I need to put a colon to include multiple characters for the Character(s) to limit to:. I didn't notice it.

    Alright, I did what you suggested and here's the results:
    https://imgur.com/a/TiXugo6

    It seems to be not working as intended. Am I missing something?

  • I was only explaining the use of the colon in answer to your question.

    See my above post: you should instead be relying on narration, and filtering your menus by narration only / characters only to separate the two. You shouldn't have to refer to specific characters speaking.

  • Ok, wait let me read that again. Thank you.

  • Alright, I have ensured that the subtitle menus are filtered between "Characters only" and "Narration only". However, I notice a new issue with the Narration only subtitle menu.

    Here's the video for referrence: https://imgur.com/a/xT1kiso

    1. The Context Label Text isnt timed properly and doesnt display at the same time as the Conversation Options. Is there a way to have the Context Label Text Subtitle appear at the same time with the Conversation Options without relying on setting the Appear Type to During Conversation.

    2. The Context Label Subtitle Menu doesn't match the Dialogue Speech in the ActionList Editor. Is there a way for me to sync it properly like the default Subtitle Menu? https://imgur.com/a/SsP9OJ6

  • Leave the Appear type as When Speech Plays.

    You have not linked your Narration menu's elements to its UI objects. Open up the UI prefab, and drag the speaker line / subtitle line Text components into the Speaker / Subtitle elements respectively. AC will record and display "Constant ID" fields in the Menu Manager - see near the end of this tutorial.

    To have the Narration and Conversation play together, try checking Play in background? in the Narration line's Action.

  • Thank you for the suggestion. Looks like I'm almost close to resolving this issue.

    1. Now I just need to know how do I get rid of this square portrait in the during a Conversation? I don't recall using a square as my portrait for the NPC in the NPC Component. Is there a way to resolve this issue?
      https://imgur.com/a/TKqYcLP

    2. While the description is perfectly displayed, the one who spoke that subtitle is not displayed eventhough I placed the UI Prefab into the Subtitle Element.
      https://imgur.com/a/WMq68kf

  • Now I just need to know how do I get rid of this square portrait in the during a Conversation?

    Is that part of the Narration menu's UI prefab?

    While the description is perfectly displayed, the one who spoke that subtitle is not displayed eventhough I placed the UI Prefab into the Subtitle Element.

    The character isn't the one speaking - it's a Narration line, which has no speaker.

    If you wanted to show the speaker name, you can have the Label element instead display the value of a Global String variable used to store it. Before running the narration line, you can run the Variable: Set Action to update its value. This could be potentially handled automatically via custom script, but try the above first.

  • "Is that part of the Narration menu's UI prefab?"

    No, it isn't. It always shows a square whenever I connect this Dialogue: Play Speech here. https://imgur.com/a/UTCzAo6. But when I'm not connected to it, it displays the proper character portrait on the side.

    "If you wanted to show the speaker name, you can have the Label element instead display the value of a Global String variable used to store it. Before running the narration line, you can run the Variable: Set Action to update its value."

    I did this and followed this guide on "Displaying a game score" in the hopes that I can fix that issue, but I still see the issue where the speaker's name doesn't display. Here's the reference: https://imgur.com/a/z1wqoGf. What did I miss?

  • But when I'm not connected to it, it displays the proper character portrait on the side.

    A Graphic element set to display the Dialogue Portrait will update if the line has a Speaker. If the line has no Speaker (as is the case with Narration), then the element will show - but not update the assigned Sprite within the Image.

    That the icon shows while the Narration menu - and not the Subtitles menu - shows suggests that it is part of the Narration UI prefab, even if the Graphic element itself is not defined in the Menu Manager.

    What did I miss?

    • This is the Narration menu? You've entered in the token text, [var:35] into the Element name field**, which is only used in the Editor. Set the Label type to Normal, and move it to the Label text field
    • Your Variable: Set Action is copying the value from the Narration Menu. If you want to extract it from the last-spoken character, have it instead reference the Subtitles menu. First though, test it by setting the New value is field to Entered here, and enter the name directly.
Sign In or Register to comment.

Howdy, Stranger!

It looks like you're new here. If you want to get involved, click one of these buttons!

Welcome to the official forum for Adventure Creator.