Dialogue Maker [Beta]

v1.0.1 bug fixes:

  • Message editing is now blocked while in delete mode
  • @GAVsi115 The plugin no longer lags the server after an action is repeatedly executed

I’m working on a way to smoothly update scripts like DialogueServerScript and DialogueClientScript, but to update these scripts, it’s necessary to manually edit these scripts.

The only one I edited for this update is DialogueServerScript. Click the link to go to the repo, and copy and paste the new code into the script located in the ServerScriptService.

In new projects, you don’t have to do this because I published the update directly to the plugin.

2 Likes

In v1.1.0, I’m thinking about removing Before Actions for responses and redirects. They work the same way as After Actions.

1 Like

v1.1.0 enhancements:

  • Sounds can now be played when the player clicks message boxes
  • @d_cyph @REALINONOOBYT Added keybinds
  • Removed Before Actions for responses and redirects
  • Cursor icon is now hidden when clicking closes the dialogue box
  • There is now a toolbar button to reset DialogueServerScript and DialogueClientScript

v1.1.1 bug fixes:

  • DialogueMakerRemoteConnections and ClientAPI can now be reset
  • Keybinds are now togglable
  • More server settings are documented
  • Keybinds will no longer cause the conversation to endlessly loop
1 Like

This seems like a great plugin and I’d love to use it, but there’s a bug. Whenever you click an NPC, your character freezes and you get this error in the output:
image

Happens even if I turn off all my plugins. I also tried clicking Fix Scripts, and it’s still happening.

1 Like

I’ll look into this right when I get out of school.

1 Like

v1.1.2 bug fixes:

  • @brokenVectors ClickSound will be ignored if DEFAULT_CLICK_SOUND is nil or 0
  • A duplicate variable of DEFAULT_CHAT_CONTINUE_KEY was renamed to DEFAULT_CHAT_CONTINUE_KEY_GAMEPAD
  • Clicking Fix Scripts will no longer delete themes
2 Likes

Do any of the new versions help with mobile? Because in my game, I used your plugin, and someone on mobile couldn’t do anything after clicking the NPC so they had to reset. So I had to add

Enum.InputType.Tap

or something like that so mobile players could talk to NPCs without having to reset.

2 Likes

Sure! I thought MouseButton1Click also worked with mobile devices, but I guess I was wrong. :sweat_smile:

I’ll add that into the official script tomorrow. Sorry about that!

2 Likes

Couldn’t sleep, so I decided to add it now lol


v1.1.3 bug fix:

  • @IAmPinleon Enum.UserInputType.Touch is now recorded for mobile devices
5 Likes

If this help, you could use the .Activate event, this works on all devices, even on Xbox (i believe…)

Your Plugin looks cool, i will maybe use it in the next days.

1 Like

Can someone help me make this gui frame become visible after pressing a response? I have no idea how modules work :pensive:.

Action.Execute = function()
	
	local player = game:GetService("Players").LocalPlayer
	local ReclassMOS = player.PlayerGui.ReclassMOS
	ReclassMOS.Frame.Visible = true
	
end;

The error says “ServerScriptService.DialogueServerScript:148: ServerScriptService.DialogueServerScript.Actions.After.AfterAction:26: attempt to index nil with ‘PlayerGui’”

If the module is required by a script, then it will not get LocalPlayer, I think.

I can really see this useful to people who are new to scripting and don’t know how to make their own. This is a useful plugin, but I don’t really need it.

Hope this plugin gets popular!

This is cool! Where can I get it?

Make sure you read the whole entire topic.

2 Likes

In actions, you don’t have to re-define the player in the Execute() function.

I already define Player for you, so you can use that variable when getting the PlayerGui.

1 Like

Seems as I’m getting an error in the ClientAPI on line 41. “Argument 1 missing or nil”
This is what the line says:

DialogueGui = ThemeFolder:FindFirstChild(API.Gui.GetDefaultThemeName());

Even though you told me this a while ago, how would I write the action code? Would I put a function, etc?

Sorry for the massive delay! I was used to using @Draguwro on Roblox. :sweat_smile:

That shouldn’t be returning nil assuming that you have a DEFAULT_THEME in your Settings module under DialogueServerScript.

Is there any more info with that error?

return {
	DefaultTheme = "ChocobloxDialogue"; -- This is the default theme that will be used when talking with NPCs
	ShowResponsesAfterMessageFinished = true; -- Prevents the player from selecting responses without first viewing the dialogue
}

Nothing wrong with it, in my latest published version of my game it works, somehow it stopped working…

1 Like