I usually don't have this problem, as I already know that filtering enabled doesn't take effect for play mode in studio, but test servers in studio does use it - leading to different outcomes when testing. In my instance, I am using DialogChoiceSelected event to open up a Shop Gui. This system works perfectly when in play mode, but not when I open up a server.
Here's the script:
local dialog = script.Parent
local DialogEvent = game.ReplicatedStorage.DialogEvent
print("loadded") -- this is the only message that prints.
dialog.DialogChoiceSelected:connect(function(plr, choice)
print('dialog selected :D')
if choice.Name == "AskForShop" then
DialogEvent:FireClient(plr, "Shop")
print('fired to client')
end
end)
Yes, I made sure that all the names were right, and as I said before, the function is only fired when in play mode, not in server mode. Weird.... Any solutions?

3 comments
I never got my dialog scripts to work.
I just saw that plr is a nil value. It does not exist in your script.
it;s not nil, it is the first of two arguments passed to function(plr, choice) by the dialogChoiceSelected event. This part of the code is correct.