Is there way to change dialogue per player?

You can write your topic however you want, but you need to answer these questions:

  1. What do you want to achieve? Change InitialPrompt per player('s language)

  2. What is the issue? I don’t want to change the original quote, but there is nil for LocalPlayer when test-playing, assuming on the server side.

  3. What solutions have you tried so far?
    Tried to search, but couldn’t get one other than this. Feature request is an okay way also.

This is script.

local ENdialog = script.Parent.ENDialog
local client = game:GetService("Players").LocalPlayer

--local MarketplaceService = game:GetService("MarketplaceService")

ENdialog.DialogChoiceSelected:Connect(function(player, choice)
	if player ~= client then
		return
	end

	if choice.Name == "Tips" --[[ or whatever it was]] then
		--MarketplaceService:PromptGamePassPurchase(client, 11662453) -- Whatever the ID was
	end
end)
if client.LocaleId and client.LocaleId=="ja-jp" then
	ENdialog.InitialPrompt="いらっしゃいませ・・・?"
	ENdialog["Actually..."].UserDialog="何か元気ないね"
	ENdialog["Actually..."].ResponseDialog="機械翻訳が壊れてるからな。"
	ENdialog.Why.UserDialog="何でこんな所に?"
	ENdialog.Why.ResponseDialog="ここも架空世界の一種だからな。"
	ENdialog.Printer.UserDialog="プリンターはどこ?"
	ENdialog.Printer.ResponseDialog="・・・君の後ろだよ。"
end
1 Like

Does this have to be specific dialogue or just chooses a random dialogue?

Specific dialogue. We already have topic for random one.

And last question so I know what to go off of, is the specific dialogue given to random players or specific players? (like if a player’s username is something it’ll show that dialogue, that probably didnt make any sense but I hope it did.)

Main is player’s LocaleID. Also, player’s position for other dialogue.

Oh, sorry. I didn’t notice that. Well from what i’m getting anyways you want different dialoge do show up from where the local player is standing/local player’s position correct?

Yes. Position’s one is used for shop with counter.

Well by what your saying if you want to check if a player is in an area for something different to happen like for example, enable new dialogue, this might seem to help. Just attach this to check if this code is true and it should work: Detect if a player is inside a certain area

If this doesn’t work, I can go on my computer in a couple of hours and try make some code that will hopefully work! There is a high chance I most likely understood you wrong as I can be very dumb most of the time.

Note: Localscript won’t work in workspace. Tried to get LocalPlayer but returned nil.

Alright, ill try to get a script working later on that’ll hopefully get it to work.

1 Like

Thanks!

Note: If there is ConversationOffset property value, it would be easier for player’s position.