Making a tree dialogue

Davox

Archimage
Veteran
Joined
Jul 15, 2018
Messages
32
Reaction score
14
First Language
Spanish
Primarily Uses
RMMV
Hey guys, I've been trying to improve my project's dialogues and i thought about a dialogue tree,
but I've been struggling a bit, mostly, because i have no idea on how to make one lmao :aswt::aswt:, so i was wondering if there's a plugin that can make things easy, then again, i totally depend on you to keep going on my project development. thanks in advance. I use RMMV

~Davox :kaopride:


P.S: here's an example of how does one look like,

1576789013185.png
 

caethyril

^_^
Veteran
Joined
Feb 21, 2018
Messages
2,087
Reaction score
1,508
First Language
EN
Primarily Uses
RMMZ
Well, the basic dialogue setup in RPG Maker involves Show Text and Show Choices commands. Unless you want a different sort of layout then I don't think you'd need a plugin for this. :kaophew:

In terms of organising choices/responses in a "tree", here are two ideas based on your example:
  1. Use Label and Jump to Label commands. Quick and easy, though maybe not very readable with longer dialogues.
    Code:
    ◆Text:None, Window, Bottom
    :    :You don't look like you're from around here.
    ◆Show Choices:I've lived here all my life!, I came here from Newton. (Window, Right, #1, #2)
    :When I've lived here all my life! 
      ◆Label:Mr Bowler
      ◆Text:None, Window, Bottom
      :    :Oh really? Then you must know Mr. Bowler.
      ◆Show Choices:Mr. Bowler is a good friend of mine!, Who? (Window, Right, #1, #2)
      :When Mr. Bowler is a good friend of mine! 
        ◆Text:None, Window, Bottom
        :    :You liar! There ain't no Mr. Bowler, I made him up!
        ◆
      :When Who? 
        ◆Label:Never mind
        ◆Text:None, Window, Bottom
        :    :Don't you worry about it. Say, do you have something
        :    :to eat? I'm starving.
        ◆
      :End
      ◆
    :When I came here from Newton. 
      ◆Text:None, Window, Bottom
      :    :Newton, eh? I heard there's trouble brewing down there.
      ◆Show Choices:I haven't heard about any trouble., Did I say Newton? I'm actually from Springville. (Window, Right, #1, #2)
      :When I haven't heard about any trouble. 
        ◆Jump to Label:Never mind
        ◆
      :When Did I say Newton? I'm actually from Springville. 
        ◆Jump to Label:Mr Bowler
        ◆
      :End
      ◆
    :End
  2. Give each "box" on the tree a number and use a variable to keep track of where you are. Use Control Variables to set a variable's value, and Conditional Branch to check that value. Then you can have it all inside a Loop, with Break Loop to end the dialogue when appropriate. It's more involved, but I think it's a neater solution overall! :kaojoy:
    Code:
    ◆Control Variables:#0018 DialogueStage = 1
    ◆Loop
      ◆If:DialogueStage = 0
        ◆Comment:End dialogue.
        ◆Break Loop
        ◆
      :End
      ◆If:DialogueStage = 1
        ◆Comment:Intro
        ◆Text:None, Window, Bottom
        :    :You don't look like you're from around here.
        ◆Show Choices:I've lived here all my life!, I came here from Newton. (Window, Right, #1, #2)
        :When I've lived here all my life! 
          ◆Control Variables:#0018 DialogueStage = 2
          ◆
        :When I came here from Newton. 
          ◆Control Variables:#0018 DialogueStage = 3
          ◆
        :End
        ◆
      :End
      ◆If:DialogueStage = 2
        ◆Comment:Mr Bowler
        ◆Text:None, Window, Bottom
        :    :Oh really? Then you must know Mr. Bowler.
        ◆Show Choices:Mr. Bowler is a good friend of mine!, Who? (Window, Right, #1, #2)
        :When Mr. Bowler is a good friend of mine! 
          ◆Control Variables:#0018 DialogueStage = 4
          ◆
        :When Who? 
          ◆Control Variables:#0018 DialogueStage = 5
          ◆
        :End
        ◆
      :End
      ◆If:DialogueStage = 3
        ◆Comment:Newton news
        ◆Text:None, Window, Bottom
        :    :Newton, eh? I heard there's trouble brewing down there.
        ◆Show Choices:I haven't heard about any trouble., Did I say Newton? I'm actually from Springville. (Window, Right, #1, #2)
        :When I haven't heard about any trouble. 
          ◆Control Variables:#0018 DialogueStage = 5
          ◆
        :When Did I say Newton? I'm actually from Springville. 
          ◆Control Variables:#0018 DialogueStage = 2
          ◆
        :End
        ◆
      :End
      ◆If:DialogueStage = 4
        ◆Comment:Liar!
        ◆Text:None, Window, Bottom
        :    :You liar! There ain't no Mr. Bowler, I made him up!
        ◆Control Variables:#0018 DialogueStage = 0
        ◆
      :End
      ◆If:DialogueStage = 5
        ◆Comment:Huh?
        ◆Text:None, Window, Bottom
        :    :Don't you worry about it. Say, do you have something
        :    :to eat? I'm starving.
        ◆Control Variables:#0018 DialogueStage = 0
        ◆
      :End
      ◆
    :Repeat Above
 

Sword_of_Dusk

Keyblade Master
Veteran
Joined
Sep 13, 2015
Messages
255
Reaction score
290
First Language
English
Primarily Uses
RMMV
I'll go ahead and add that you should probably avoid putting in a dialogue tree unless it has a real reason for being there. You can improve dialogue without it, but it's useful if you have an affinity system set up, or you're doing something Fallout-style.
 

Davox

Archimage
Veteran
Joined
Jul 15, 2018
Messages
32
Reaction score
14
First Language
Spanish
Primarily Uses
RMMV
I'll go ahead and add that you should probably avoid putting in a dialogue tree unless it has a real reason for being there. You can improve dialogue without it, but it's useful if you have an affinity system set up, or you're doing something Fallout-style.
Well, the basic dialogue setup in RPG Maker involves Show Text and Show Choices commands. Unless you want a different sort of layout then I don't think you'd need a plugin for this. :kaophew:

In terms of organising choices/responses in a "tree", here are two ideas based on your example:
  1. Use Label and Jump to Label commands. Quick and easy, though maybe not very readable with longer dialogues.
    Code:
    ◆Text:None, Window, Bottom
    :    :You don't look like you're from around here.
    ◆Show Choices:I've lived here all my life!, I came here from Newton. (Window, Right, #1, #2)
    :When I've lived here all my life!
      ◆Label:Mr Bowler
      ◆Text:None, Window, Bottom
      :    :Oh really? Then you must know Mr. Bowler.
      ◆Show Choices:Mr. Bowler is a good friend of mine!, Who? (Window, Right, #1, #2)
      :When Mr. Bowler is a good friend of mine!
        ◆Text:None, Window, Bottom
        :    :You liar! There ain't no Mr. Bowler, I made him up!
        ◆
      :When Who?
        ◆Label:Never mind
        ◆Text:None, Window, Bottom
        :    :Don't you worry about it. Say, do you have something
        :    :to eat? I'm starving.
        ◆
      :End
      ◆
    :When I came here from Newton.
      ◆Text:None, Window, Bottom
      :    :Newton, eh? I heard there's trouble brewing down there.
      ◆Show Choices:I haven't heard about any trouble., Did I say Newton? I'm actually from Springville. (Window, Right, #1, #2)
      :When I haven't heard about any trouble.
        ◆Jump to Label:Never mind
        ◆
      :When Did I say Newton? I'm actually from Springville.
        ◆Jump to Label:Mr Bowler
        ◆
      :End
      ◆
    :End
  2. Give each "box" on the tree a number and use a variable to keep track of where you are. Use Control Variables to set a variable's value, and Conditional Branch to check that value. Then you can have it all inside a Loop, with Break Loop to end the dialogue when appropriate. It's more involved, but I think it's a neater solution overall! :kaojoy:
    Code:
    ◆Control Variables:#0018 DialogueStage = 1
    ◆Loop
      ◆If:DialogueStage = 0
        ◆Comment:End dialogue.
        ◆Break Loop
        ◆
      :End
      ◆If:DialogueStage = 1
        ◆Comment:Intro
        ◆Text:None, Window, Bottom
        :    :You don't look like you're from around here.
        ◆Show Choices:I've lived here all my life!, I came here from Newton. (Window, Right, #1, #2)
        :When I've lived here all my life!
          ◆Control Variables:#0018 DialogueStage = 2
          ◆
        :When I came here from Newton.
          ◆Control Variables:#0018 DialogueStage = 3
          ◆
        :End
        ◆
      :End
      ◆If:DialogueStage = 2
        ◆Comment:Mr Bowler
        ◆Text:None, Window, Bottom
        :    :Oh really? Then you must know Mr. Bowler.
        ◆Show Choices:Mr. Bowler is a good friend of mine!, Who? (Window, Right, #1, #2)
        :When Mr. Bowler is a good friend of mine!
          ◆Control Variables:#0018 DialogueStage = 4
          ◆
        :When Who?
          ◆Control Variables:#0018 DialogueStage = 5
          ◆
        :End
        ◆
      :End
      ◆If:DialogueStage = 3
        ◆Comment:Newton news
        ◆Text:None, Window, Bottom
        :    :Newton, eh? I heard there's trouble brewing down there.
        ◆Show Choices:I haven't heard about any trouble., Did I say Newton? I'm actually from Springville. (Window, Right, #1, #2)
        :When I haven't heard about any trouble.
          ◆Control Variables:#0018 DialogueStage = 5
          ◆
        :When Did I say Newton? I'm actually from Springville.
          ◆Control Variables:#0018 DialogueStage = 2
          ◆
        :End
        ◆
      :End
      ◆If:DialogueStage = 4
        ◆Comment:Liar!
        ◆Text:None, Window, Bottom
        :    :You liar! There ain't no Mr. Bowler, I made him up!
        ◆Control Variables:#0018 DialogueStage = 0
        ◆
      :End
      ◆If:DialogueStage = 5
        ◆Comment:Huh?
        ◆Text:None, Window, Bottom
        :    :Don't you worry about it. Say, do you have something
        :    :to eat? I'm starving.
        ◆Control Variables:#0018 DialogueStage = 0
        ◆
      :End
      ◆
    :Repeat Above
Well, the basic dialogue setup in RPG Maker involves Show Text and Show Choices commands. Unless you want a different sort of layout then I don't think you'd need a plugin for this. :kaophew:

In terms of organising choices/responses in a "tree", here are two ideas based on your example:
  1. Use Label and Jump to Label commands. Quick and easy, though maybe not very readable with longer dialogues.
    Code:
    ◆Text:None, Window, Bottom
    :    :You don't look like you're from around here.
    ◆Show Choices:I've lived here all my life!, I came here from Newton. (Window, Right, #1, #2)
    :When I've lived here all my life!
      ◆Label:Mr Bowler
      ◆Text:None, Window, Bottom
      :    :Oh really? Then you must know Mr. Bowler.
      ◆Show Choices:Mr. Bowler is a good friend of mine!, Who? (Window, Right, #1, #2)
      :When Mr. Bowler is a good friend of mine!
        ◆Text:None, Window, Bottom
        :    :You liar! There ain't no Mr. Bowler, I made him up!
        ◆
      :When Who?
        ◆Label:Never mind
        ◆Text:None, Window, Bottom
        :    :Don't you worry about it. Say, do you have something
        :    :to eat? I'm starving.
        ◆
      :End
      ◆
    :When I came here from Newton.
      ◆Text:None, Window, Bottom
      :    :Newton, eh? I heard there's trouble brewing down there.
      ◆Show Choices:I haven't heard about any trouble., Did I say Newton? I'm actually from Springville. (Window, Right, #1, #2)
      :When I haven't heard about any trouble.
        ◆Jump to Label:Never mind
        ◆
      :When Did I say Newton? I'm actually from Springville.
        ◆Jump to Label:Mr Bowler
        ◆
      :End
      ◆
    :End
  2. Give each "box" on the tree a number and use a variable to keep track of where you are. Use Control Variables to set a variable's value, and Conditional Branch to check that value. Then you can have it all inside a Loop, with Break Loop to end the dialogue when appropriate. It's more involved, but I think it's a neater solution overall! :kaojoy:
    Code:
    ◆Control Variables:#0018 DialogueStage = 1
    ◆Loop
      ◆If:DialogueStage = 0
        ◆Comment:End dialogue.
        ◆Break Loop
        ◆
      :End
      ◆If:DialogueStage = 1
        ◆Comment:Intro
        ◆Text:None, Window, Bottom
        :    :You don't look like you're from around here.
        ◆Show Choices:I've lived here all my life!, I came here from Newton. (Window, Right, #1, #2)
        :When I've lived here all my life!
          ◆Control Variables:#0018 DialogueStage = 2
          ◆
        :When I came here from Newton.
          ◆Control Variables:#0018 DialogueStage = 3
          ◆
        :End
        ◆
      :End
      ◆If:DialogueStage = 2
        ◆Comment:Mr Bowler
        ◆Text:None, Window, Bottom
        :    :Oh really? Then you must know Mr. Bowler.
        ◆Show Choices:Mr. Bowler is a good friend of mine!, Who? (Window, Right, #1, #2)
        :When Mr. Bowler is a good friend of mine!
          ◆Control Variables:#0018 DialogueStage = 4
          ◆
        :When Who?
          ◆Control Variables:#0018 DialogueStage = 5
          ◆
        :End
        ◆
      :End
      ◆If:DialogueStage = 3
        ◆Comment:Newton news
        ◆Text:None, Window, Bottom
        :    :Newton, eh? I heard there's trouble brewing down there.
        ◆Show Choices:I haven't heard about any trouble., Did I say Newton? I'm actually from Springville. (Window, Right, #1, #2)
        :When I haven't heard about any trouble.
          ◆Control Variables:#0018 DialogueStage = 5
          ◆
        :When Did I say Newton? I'm actually from Springville.
          ◆Control Variables:#0018 DialogueStage = 2
          ◆
        :End
        ◆
      :End
      ◆If:DialogueStage = 4
        ◆Comment:Liar!
        ◆Text:None, Window, Bottom
        :    :You liar! There ain't no Mr. Bowler, I made him up!
        ◆Control Variables:#0018 DialogueStage = 0
        ◆
      :End
      ◆If:DialogueStage = 5
        ◆Comment:Huh?
        ◆Text:None, Window, Bottom
        :    :Don't you worry about it. Say, do you have something
        :    :to eat? I'm starving.
        ◆Control Variables:#0018 DialogueStage = 0
        ◆
      :End
      ◆
    :Repeat Above
Yeah, i was trying to do something more complex, so the basic in MV won't help me much, but i'll stay away from the dialogue tree, since i think now there's just a waste of time:asad:, i should focus more on whathever i know it actually works in my project. But thank you so much:kaoluv:
 

Users Who Are Viewing This Thread (Users: 0, Guests: 1)

Latest Threads

Latest Posts

Latest Profile Posts

Holy stink, where have I been? Well, I started my temporary job this week. So less time to spend on game design... :(
Cartoonier cloud cover that better fits the art style, as well as (slightly) improved blending/fading... fading clouds when there are larger patterns is still somewhat abrupt for some reason.
Do you Find Tilesetting or Looking for Tilesets/Plugins more fun? Personally I like making my tileset for my Game (Cretaceous Park TM) xD
How many parameters is 'too many'??
Yay, now back in action Happy Christmas time, coming back!






Back in action to develop the indie game that has been long overdue... Final Fallacy. A game that keeps on giving! The development never ends as the developer thinks to be the smart cookie by coming back and beginning by saying... "Oh bother, this indie game has been long overdue..." How could one resist such? No-one c

Forum statistics

Threads
105,857
Messages
1,017,018
Members
137,563
Latest member
MinyakaAeon
Top