Dialogue System Template (Templates)

From the Asset Store
Create complex dialogues with ease with this tool/template!
  • Good afternoon! I was able to tie it into the game, but I do not see the text and avatar. What am I doing wrong?

    Please help me)

    Thank you.


    Please refrain from posting links to capx containing the template, you can PM me with it instead.


    Please refrain from posting links to capx containing the template, you can PM me with it instead.


    I can not send you a private message (

  • I downloaded your file, so I was able to see what's wrong.

    You are using a single dialogue JSON to load as a dictionary. Use the "Download dictionary" button of the utility instead, change the file in your capx and everything should start working as intended.

  • I'm sorry I can not understand what exactly needs to be done. I would appreciate the corrected file, so it would be clearer to me ...

  • The utility has a button used to download the dictionary of all dialogues. Even if you have only one dialogue, you still need to use this button if you want to use the Dialogue_StartDialogue("DialogueName") syntax.

    If you replace your JSON with this, it should work.

    {"c2dictionary":true,"data":{"Dialog_1":"{\"c2array\":true,\"size\":[4,7,1],\"data\":[[[\"Ffffffffff hhhh nnnnnnnnn sssssssssssssss rrrrrrrrrrrrrr\"],[1],[\"\"],[\"\"],[\"\"],[\"\"],[\"\"]],[[\"DDDDDDDDDDDDDDDDDD rrrrrrrrrrrrrrrr yyyyyyyyyyyyyyyyyy jjjjjjjjjjjjjjjjjjjj bbbbbbbbbbbbbbbbbbbbbbb dddddddddddddddddddddd\"],[1],[\"\"],[\"\"],[\"\"],[\"\"],[\"\"]],[[\"ttttttttttttttttttttt uuuuuuuuuuuuuuu!!!!!!!!!!!! \"],[1],[\"\"],[\"\"],[\"\"],[\"\"],[\"\"]],[[\"aaaaaaaaaaa qqqqqqqqqqqqqq tttttttttttttt nnnnnnnnnnnnnnnnnn\"],[1],[\"\"],[\"\"],[\"\"],[\"\"],[\"\"]]]}"}}[/code:16il451z]
    You should also make sure you don't open multiple dialogues at once. I might add a new global to the template to facilitate this.
  • Try Construct 3

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

    Try Now Construct 3 users don't see these ads
  • It seems to work, thanks! Tell me how to make sure that a certain dialogue was played once?

  • The easiest way would be to add a new global variable in the "DialogueEvents" sheet. This new variable should then be set to 1 at line 5 (right on the "Dialogue_StartDialogue" function trigger) and set to 0 on line 125 (on the "Dialogue_End" function trigger). It's also worth mentioning that those two specifics functions are the ideal place to hook some code of your own to disable and re-enable your movement behaviors.

    It would then only be a matter of checking whether or not this variable is equal to 0 before triggering a new call to "Dialogue_StartDialogue" (Line 3 of your capx).

  • Hi -- I just purchased this dialogue system for classroom use. Some of my students are writing dialogue-based games as their final project, and this seems like a very useful template.

    Can anyone point me to some sort of tutorial or sample file which shows this template in action? I have been reading through the message thread, but the earlier posts seem incomplete and the more recent posts seem to assume that one has a fully functional dialogue system in place.

    I don't need hand-holding, but any sort of installation instructions or big picture advice would be deeply appreciated.


  • I noticed that there are some sample files in the early part of this message thread, and that's exactly the sort of thing I need to find. Unfortunately, those links are no longer functional.

  • I noticed that there are some sample files in the early part of this message thread, and that's exactly the sort of thing I need to find. Unfortunately, those links are no longer functional.

    I have a simple example, but Magistross does not want us to post them. (Rightly so, because it would give away his template.)

    In the example, I started with the demo, I stripped away all the unneeded utility objects and events, created 3 buttons on the layout to call different dialogues, I added events to load the example dictionary and some events for UI controls for the dialogues when they are in progress, the UI controls are simple, not foolproof, but they work with mouse and keyboard. Pretty simple. I think you can get it from this example.

    Also see the 'cheat sheet' post in this thread that I did about the commands for the dialogues.

  • The most useful post for installation is my first reply in the thread. I will quote it here for your conveniance :

    Here's the breakdown of what you should do :

    1. Copy these objects to your project (an event-less layout works wonder, like the "Dummy" layout) : ContinueIndicator, PortraitSprite, SpriteFont, WindowFrame

    (edit: Version 1.02 now needs additional objects : UpArrow, DownArrow, ChoiceSelector)

    2. Create these objects and name them like so :

    1 Array Object named "DialogueData"

    1 Dictionnary Object named "DialogueDictionary"

    1 Dictionnary Object named "DialogueCommands"

    1 Dictionnary Object named "GameVariables" (this is where you game should store its variables, so that dialogues can fetch them)

    1 Function Object named "Function" (default)

    1 Browser Object named "Browser" (default)

    1 Audio Object named "Audio" (default)

    3. Create a new event sheet, and copy over all the content from the "DialogueEvents" sheet from the template. If all objects were correctly copied / created, it should give no error message. (per haddy22 's remark, variables should be copied over before other events, so doing it in chunks might be better)

    4. Include this new event sheet inside whatever layout where you want to use the system.

    5. Be sure to have a "HUD" layer in all your layouts where you need dialogues. (You can also define your own layer by changing the "DIALOGUE_LAYER" constant)

    6. You can then initiate a dialogue with the "Dialogue_StartDialogue" function. It will start a dialogue with the data currently in the "DialogueData" array, or you can also provide a "key" parameter, it will then load the dialogue from the "DialogueDictionary" and start it. An AJAX call to retrieve either an array or a dictionnary JSON will most likely be needed.

    Please let me know if you need further help !

    edit: User mikal tried to import the template in a C3 project and found out that additional work must be done.

    > Porting to a project in Construct 3 took a few extra steps (I suggest editing the top post to include this).


    > The sample project works fine, to include the template into an existing project takes a little more work.


    > Since the current version of Construct 3 Beta (r66), does not seem to support copying between projects (Ashley turned it off when it was causing problems), you cannot copy the following objects from the template project to a new project, so you must create them (for example in Dummy layout) and then copy over the 'Animations' as needed from the original sprites in the template project.


    > ContinueIndicator (sprite)

    > PortraitSprite (sprite with multiple animations from default test case)

    > SpriteFont (sprite font, add instance variable type string: 'ID', 'choiceFork')

    > WindowFrame (9 patch, add instance variable type string: 'ID')

    > UpArrow (sprite)

    > DownArrow (sprite)

    > ChoiceSelector (9 patch, add instance variables type string: 'callback', 'params')


    Mikal also provided a nice barebone event sheet screenshot that should get you started. Thanks Mikal!

  • Also, I think we can remove the C3 workarounds, C3 has been updated and you can now copy between projects again.

  • Edited the post in question, but kept the workaround in my previous quote, for posterity.

    Thanks again Mikal for being on the lookout!

  • Thank you Mikal and I will circle back if I have any questions.

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