Dialogue System Template (Templates)

  • Magistross Hello. This is this is the game I ended up creating. If you see the story mode parts, that's where I used your plugin

    Subscribe to Construct videos now
    Thanks again!

    Question! I'm starting to work on localization. Do you foresee any issues using your template to support non-Latin languages like Chinese, Japanese, Arabic, Korean, etc? I think as long as I have the character sets and the sprite fonts setup correctly it should work?

    Thanks!

  • Try Construct 3

    Develop games in your browser. Powerful, performant & highly capable.

    Try Now Construct 3 users don't see these ads
  • You are right. The hard part will be the actual character set / spritefont setup.

    It might be easier on the engine if you use multiple spritefonts, one for each non-latin language you need. However, it would require a bit of rewrite of the engine to use a spritefont family. You'd also need to move both instance variables of the spritefont to the family itself and make the proper changes to the events.

    Nice looking game by the way. Looks pretty professionnal, and really polished!

  • I have difficulty in showing global variables in the dialogue. What's is the correct syntax to use in the utility for the showing global variables? How do you insert the variable in the Game Variables dictionary?

  • I have difficulty in showing global variables in the dialogue. What's is the correct syntax to use in the utility for the showing global variables? How do you insert the variable in the Game Variables dictionary?

    It's impossible to call variables my name in Construct 2, so you have to use the GameVariables dictionary. You use the action "add key" to add a new variable or set it's value (if you add an existing key, it just overwrites the value).

    Oh and to compare variables in a dictionary, you use the expression GameVariables.get("VariableName")

  • Excellent template!

    But is there a way to display choices alongside the other text?

    For Example:

    "Would you like to Save the game?"

    "Yes"

    "No"

    Or maybe an easy way to generate another, smaller window below the main one and put the choices there?

    Something like the image I've uploaded?

  • Not out of the box, but the template is rather easy to expand and adapt.

    For your particular need, I would create a new function based on the "choice" one that creates the new smaller window as you said.

  • Not out of the box, but the template is rather easy to expand and adapt.

    For your particular need, I would create a new function based on the "choice" one that creates the new smaller window as you said.

    Well, I managed to merge my old Create_Choice function with your template! It works great so far! I even used the "Wait For Signal" command to smooth it all out.

    Also for anyone interested,

    I've found a way to display Dialogue without using the utility or loading anything from elsewhere (For games with less text).

    In your event do the following:

    Set the size of DialogueData array depending to the number of text boxes you are going to need.

    e.g. 1 text box -> 1,3,1

    e.g. 3 text boxes -> 3,3,1

    DialogueData -> Set value at X0 = "Text you want to display"

    Call "Dialogue_StartDialogue" function.

    Of course, writing all your game's dialogues inside the C2 project may not be for everyone. But it might be better for a smaller game workflow-wise

  • Magistross How do you reconfigure for C3? Seems like the system doesn't like JSON files with "c2array" . I'm just starting out and followed the first steps. Having issues on loading a demo dialogue file. Would like to load CSV if that works better. Just don't know how.

    1. Followed instructions in the steps earlier on in this thread
    2. Loaded a demo file for demodialogue.json
    3. Request JSON, Load JSON to DialogueDictionary
    4. Call "Dialogue_StartDialogue"
    5. No text gets displayed, but box appears. Actually covers up the text 0
  • The template in general doesn't seem to work properly with the C3 runtime. I unfortunately doesn't have a C3 License and thus can't debug.

    If possible, you may want to set the project in legacy mode by using the C2 runtime, so the template works as it should.

  • Lumicreative.com - This is what fixed my case, using the example utility project, I had to change the top four variables in the dialogue event sheet to static, constant, otherwise they were all 0 and that messed up the location of the SpriteFont object (amongst many other things.)

    Thinking about it - it looks like local variable behavior under groups has changed between C3 runtime and C2 runtime. The new C3 runtime behavior may only init once and then if not static it returns to 0?

  • This is interesting. It sounds pretty much like a bug. Local variables should be reset to their instantiation values every tick, not to 0.

    However, there's no reason NOT to set all variable to static, even more so if it corrects everything.

  • Yes, it does sounds like a bug, unfortunately, I cannot recreate a simple test case that has the same problem. Those four variables are only set on initialization during the local var declaration, is that right? (I don't see them set anywhere else using the C3 search function.)

  • Mikal I changed mine to static and constant (got a dialogue about things being deleted if it was set), but i'm still getting a 0. Magistross come over to C3! It's great over here.

  • Lumicreative.com - is this with the sample dialogue system project or is it with your own project? If Magistross agrees, I could send you my version via DM in Discord.

  • Go ahead Mikal!

    I've noticed another weird thing, the space character has the wrong width when displayed (set character width has no effect), and it seems to affect the system ability to pre-wordwrap the text correctly.

Jump to:
Active Users
There are 1 visitors browsing this topic (0 users and 1 guests)