How do i make a custom dialogue system?

A lot of them don’t match with my set up. And a lot of them talk about roblox’s dialog system. Or a dialog system that is custom, but doesn’t work like the roblox dialog system

If you really want to make one then follow the instructions and learn how to make it then make your own version.

Question: Are you making your own GUI instead of roblox’s dialog prompts? Like for example I got this code from the wiki

workspace.Dialog.DialogChoiceSelected:connect(function(player,choice)
if choice.Name == "No" then
	player.Character.Humanoid.Health = 0
elseif choice.Name == "Yes" then
	player.Character.Humanoid.Health = 1000
end

end)

Instead of using something like this, you wanna make a dialog system from scratch?

yeah. Cause like i said before, roblox’s dialog system is very limited to customization.

Oh that clears things up a bit. You would just have to make a billboard gui if you want to click the text above the NPC. Or use the touched function on a part near the NPC to begin the dialogue.

I’ll get a rough draft for you if you want.

i mean, i mentioned it in my thread before. But yeah, i can do the GUIs and the conversation tree, but for scripting wise, its an ehhhhh. I’m not much of an advanced scripter, and iv’e never done anything nearly as near as complex as this before.

Well, I suggest you start with this article, if you haven’t read it before

You can reference that and put that into your own code. You don’t have to use what the wiki says, it’s just an idea of where to start.

1 Like

Thanks, but I already have a dialog tree. Remember?
image

And also if i use their method, i can’t have scripted events. For like shops and things.

When I started on my own NPC dialogue for quests a few months ago, I had tried figuring out how to do choices like what you’re trying to do and it ended up being too complicated for me lol, so I ended up making a linear system. Sorry this isn’t answering your question but I figured I would give my input since it’s still relevant

If you want a linear simpler design, what I ended up doing what storing every line of dialogue for each time you talk to an NPC in an array. Then when you talked to the NPC, the client would fetch that specific array that contained all the strings for each line of dialogue and iterate through each line(waiting for the player to confirm the text) and display the text on a gui.

Again sorry it doesn’t really answer your question, but I thought this was still relevant as I went through this process a few months ago.

2 Likes