Dialogue System Template (Templates)

3 favourites
From the Asset Store
Create complex dialogues with ease with this tool/template!
  • Hey thanks Magistross,

    how about if i want to make the typewriter effect gone and just display the text at the same time

    or speed up the typerwritter effect if the player is holding down the mouse button?

  • desasteraang To disable the typewriter effect, you can change the DIALOGUE_DEFAULTDELAY constant to 0. This will effectively make all text to appear instantly (everything processed in a single tick). However, you will have to get your hands a bit dirty in the code to implement a text speed up function.

    First, create a function under the "DialogueSystem" event group named to something like "Dialogue_SetSequenceCharDelay". This function should receive an optional time parameter (in milliseconds), and use this parameter to set the variable "Dialogue_SequenceCharDelay" to its value, or revert to the default value if no parameter is provided. Like this :

    Next, if you want the text to "typewrite" faster when you hold the left mouse button, you could do something like this :

    Let me know if I was too cryptic in my explanation.

  • haha thanks a lot good explanaition... ..

    one more question, are there any ways to make the dialogue to appear using fade in effects?

    oh and btw why is my dialogue not showing up?

  • I believe you are loading the Dictionary and not a single dialogue array, so you should use Call "Dialogue_StartDialogue" ("DictionaryKey") to call the correct dialogue.

    You could indeed add a fade in effect, but once again, you might have to adapt the code a bit, depending on how you want the fade to behave. The simplest would be to add a fade in behavior to the 9-patch (window), SpriteFont and portait sprite, and be done with it. However, it might not quite be what you want. You could set the behavior disabled on start, and enable it conditionally on object creation. You could also delay the "typewriting" to occur by setting the "Dialogue_Timer" to an arbitrary value (most likely the fade in duration in ms) instead of 0 in the "Dialogue_StartSequence" function (event 10).

    Don't be afraid to experiment, the system should be robust enough to work even though you fiddle a bit with it.

  • ah..i didnt notice that i used dictionary instead of dialogue...now its seems to be working fine....

    thanks a lot Magistross

  • Hi again

    i have this problem about your dialogue template...

    in my project i have many layout right....when i first started using your template on layout 1 everything seems to be fine...

    but when i tried to do it in layout 2 the text wont load...

    i tried the using the text on layout one and its working just fine..

    what could be the problem ?

  • Try Construct 3

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

    Try Now Construct 3 users don't see these ads
  • Sorry for the delay, I was away quite a while on a holiday.

    The first thing that comes to mind is the Layer. The system create objects on the "HUD" layout by default. If it doesn't exist, it won't create anything. You can either change the constant "DIALOGUE_LAYER" to an existing layer name or add a new empty "HUD" layer.

    Let me know if this helped !

  • hey there Magistross !

    Im having some problems with the "setvalue" command.

    First, if I use {setvalue:key,1,+} in the middle of a dialogue it works.

    BUT if I use the command at the very start of a dialogue it runs multiple times. (sets +1 3x before going to the actual text)

    what im doing for this to not happen is place a period before the command. this way it runs the period(text), than the command than back to the text again.

    another thing is I cant get the setvaleu to work as a SET. tried using:




    both cases the system just ignores this command and doesnt do anything.


  • Hi there fremachuca!

    Interesting, I thought I thoroughly tested this command, seems I was wrong! I will troubleshoot when I get time and come up with a fix and explanation as soon as I can. Stay tuned!

    edit: Seems like it was an error of implementation instead of an error in the template. I did not receive more feedback from fremachuca so for the time being I'll assume no fix is necessary.

  • Hi

    Great plugin! So I got it up and running but I can't see the WindowFrame. Debug tells me it's being created but it's not in my view. I have it on the HUD layer (parallax set to 0,0). Do I have to set the x,y of the window frame anywhere?

    Just for reference, here is how I'm calling the dialogue

  • Hi bclikesyou, you are indeed calling dialogue the right way, assuming the dictionary is correctly loaded before the call.

    You also have to change the default position of the dialogue objects, by adjusting the following variables in the dialogue event sheet : DIALOGUE_POSITIONX, DIALOGUE_POSITIONY.

    Let me know if this helped you!

  • Magistross That helps but was I not loading the dictionary correctly because I'm still not seeing it? I thought my first event in the image was how I was supposed to preload the "DialogueDictionary". I also loaded the .json project file to "Files".

  • Ok, I thought your image was a mock-up of the actual loading events. You need to do an AJAX call to get the project file and retrieve its content. First you use "request project file", select your file, and then add a "On completed" AJAX event where you do the actual dictionary loading. (i.e. Load from JSON string AJAX.LastData)

  • Thanks! I'll give that a try this weekend.

  • Magistross Got a little farther but still having trouble

    I can't get my dialogue to populate. Text window and Sprite Font shows up but no text. Debug mode has SpriteFont there but no text.

    Here is my code. Using DialogueDictionary with my dialogue key "Level1Convo1" which I set in the Utility. I have "dictionary.json" loaded into Files.

    Am I doing this right? I know it's an error on my end and not with your plugin I should also mention I'm using a small layout size (256 x 144) and a small text box (200x30). Not sure if that's causing the issue.

    Thanks for all the help!

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