Dialogue Maker [Beta]

v1.2.0

  • Added RichText support
    • requires the RichText property to be enabled in the Line label

image

  • for example: <font size="60"><i><b>You</b></i></font>, out of <i>everyone</i>, did <b><i>that</i></b>?! in the dialogue maker results in this:

2 Likes

Whenever I make new NPC, it allows me to make a dialogue and stuff. Everything works FINE. One issue that defeats the WHOLE purpose of this plugin is the fact that the CLICKDETECTORS don’t even create when I specify them to. It’s so annoying, Can’t find the source of the problem. The older NPCs seem to not even have this issue.

I created a new place, with a new NPC along with new dialogue, and the ClickDetector is there. I also tried it with an old place and NPC, and everything seems fine. Did you try updating the plugin and pressing the “Fix Scripts” button?

Does this work for every device (ie: console, pc and mobile)?

1 Like

I did try that and stuff. But I fixed it myself with my own method. Thanks.

1 Like

Yes


v2.0.0

New features

  • Changed the default theme to “BigAndBoldDialogue”

  • BHickey94 added proximity prompt support

    • Disabled ClickDetectors by default in favor of proximity prompts
  • Modularized the ClientAPI for easy access to scripts you make (documentation coming soon)

  • You can now change themes during the conversation. For example, if you put the following code in an after action, it’ll change the theme back to BareBonesDialogue:

game:GetService("ReplicatedStorage"):WaitForChild("DialogueMakerRemoteConnections").ChangeTheme:InvokeClient(Player, "BareBonesDialogue")

Bug fixes

1 Like

If we use not the NPC model as a source of dialogues, then we get a lot of errors of this kind:

Russian

Если использовать в качестве источника диалогов не модель NPC, то получаем массу ошибок такого плана:

HumanoidRootPart is not a valid member of Model "Workspace.GID"

HumanoidRootPart is not a valid member of Model “Workspace.GID” - Client
Stack Begin - Studio
Script ‘Players.GAVsi115.PlayerScripts.DialogueClientScript’, Line 158 - Studio
Stack End - Studio
HumanoidRootPart is not a valid member of Model “Workspace.GID” - Client
Stack Begin - Studio
Script ‘Players.GAVsi115.PlayerScripts.DialogueClientScript’, Line 158 - Studio
Stack End - Studio
HumanoidRootPart is not a valid member of Model “Workspace.GID” - Client
Stack Begin - Studio
Script ‘Players.GAVsi115.PlayerScripts.DialogueClientScript’, Line 158 - Studio
Stack End - Studio
HumanoidRootPart is not a valid member of Model “Workspace.GID” - Client
Stack Begin - Studio
Script ‘Players.GAVsi115.PlayerScripts.DialogueClientScript’, Line 158 - Studio
Stack End - Studio
HumanoidRootPart is not a valid member of Model “Workspace.GID” - Client
Stack Begin - Studio
Script ‘Players.GAVsi115.PlayerScripts.DialogueClientScript’, Line 158 - Studio
Stack End - Studio

Error data source, line of code:

Russian

Источник данных ошибок, строка кода:

if Player:DistanceFromCharacter(npc.HumanoidRootPart.Position) <= DefaultMinDistance then

Russian

Вроде решение простое - брать положение в пространстве позицию PrimaryPart модели к которой привязан скрипт.

It seems that the solution is simple - take the position in space of the position of the PrimaryPart of the model to which the script is attached.

Thus, I can bind a dialog to any model with a PrimaryPart specified:

Russian

Таким образом, я могу привязать диалог к любой модели у которой указан PrimaryPart:

1 Like
Russian

Для настройки “FreezePlayer = false” хотелось бы добавить автоматическое скрытие диалога при удалении игрока от источника диалога. Например, на расстояние превышающее расстояние активации диалога. Т.е. DetectorActivationDistance = 32 или ProximityPromptActivationDistance = 10

For setting “FreezePlayer = false” I would like to add automatic hiding of the dialog when the player is removed from the source of the dialog. For example, at a distance exceeding the distance of the dialog activation. Those. DetectorActivationDistance = 32 or ProximityPromptActivationDistance = 10

1 Like

I’ll check that out in the morning and patch that right up. Thank you!

v2.0.1

Bug fixes

  • @GAVsi115 fixed bug when NPC model is the source of dialogue

  • Fix Scripts button adds children when there’s no old script to replace

1 Like

There is a problem with texts taking up more than 1 screen. They do not correctly display text that does not fit on them. This is especially true if the button was pressed to interrupt the output by 1 letter. The text is displayed with a chunk of the previous output displayed before the click.

Russian

Есть проблема с текстами занимающими более 1 экрана. Они не корректно отображают не поместившийся на них текст. Особенно это касается, если была нажата кнопка для прерывания вывода по 1 букве. Текст выводится с куском от предыдущего вывода, отображённым до клика.

First page:

Second page:

Russian

Но даже если не прерывать длинное сообщение, то следующая его страница тоже отображается не корректно.
Как я понимаю, то не очищается переменная отображения текста временного вывода.

But even if you do not interrupt a long message, then its next page is also displayed incorrectly.
As I understand it, the variable displaying the text of the temporary output is not cleared.

Russian

Ещё смущает ошибка слева, об отсутствии ScrollingFrame…

Still confusing is the error on the left, about the absence of a ScrollingFrame …

1 Like

Thanks for your report; I’ll look into this tonight.

v2.0.2

Bug fixes

  • @GAVsi115: fixed bug where pages (lengthy dialogue) didn’t work

  • enabled ClipDescendants by default for NPCTextContainerWithResponses and NPCTextContainerWithoutResponses in the BigAndBoldDialogue theme

  • fixed bug where if you fix scripts, the client API module would be duplicated

1 Like

This looks nice a nice and easy to use plugin. Good for story games, of course. Thanks!

1 Like
Russian

Только обратил внимание на то, что начатый диалог, в принципе нет возможности прервать пока он не будет весь пройден.
Как то это не хорошо…

I just drew attention to the fact that the dialogue started, in principle, there is no way to interrupt until it is all over.
As it is not good…

Also:

1 Like

Sure, I’ll see about adding that this week

v2.1.0

Features

1 Like

btw, i plan on changing the UI of the plugin to address some feedback i got on redirects.

the button to make redirects and responses will be more visible soon. (you won’t have to right-click anymore)


Download the github project and want to encapsulate it by yourself. There is a problem with the plug-in. Can you help me solve it?

Sure, I can help out.

There isn’t a line 8 in the DefaultVariablesTemplate on the GitHub repo

I noticed that it errored in the Workspace. Are you trying to run the plugin as a local/server script?