It seems like what is causing this to break is adding a speaker to the ‘All’ channel via script. I removed all of my :JoinChannel(“All”) references and this seems to have fixed general chat function, but now I can’t send system messages.
It seems that when it tries to do a LocaleID on a non-player, chat breaks for that channel. (which is ‘All’ in my case)
Thanks but your patch didn’t fix my game. It makes the system messages work but players still can’t chat without using private chat.
Out of curiosity, why do you still want the legacy chat system when there is an updated one?
I don’t see a reason to keep an outdated version of a system when all of its features are transferred to the new one that is probably (1) more secure (2) more efficient (3) more updated.
I don’t want it, I just have it, I’ll have to redo my scripts to use the new one. But many legacy games will not be updated(not mine). I hope Roblox will fix this.
The new chat is still a Beta add-on feature of studio. Any games created last year won’t have it.
If only roblox made it so you COULD report bug reports
Yes they would find problems much faster if they opened that ability for us.
The patch doesn’t seem to be working. It’s pretty much DDOSing my games due to all the errors happening
I ‘fixed’ it like this, ChatChannel line 511 replace that area with this.
if speaker then
-- If the sender is not the same as the receiver and chat translation is turned on, translate the message before sending
--[[if userIsChatTranslationEnabled and translations and (fromSpeaker:GetPlayer().LocaleId ~= speaker:GetPlayer().LocaleId) then
speaker:InternalSendFilteredMessageWithTranslatedFilterResult(messageObj, self.Name, translations)
Thanks, I’ll try this one and see if it works for me.
Because the new chat system is EVEN LESS documented than legacy was. Try as I may, I haven’t even been able to get system messages working with the new chat system. Roblox needs to do something about this or just keep legacy working.
Ok I fixed my patch. There were TWO areas where localeId was used and I only fixed one of them previously.
Now any time localeId fails (because it always does as of right now) the script just keeps going past that point and will not try to translate messages on the fly (which is what localeId was meant for, it seems).
It’s a little quick and dirty, but should localeId ever get fixed in the future, my patch shouldn’t disable any code it was used for.
On further inspection, even while using this patch my messages start to disappear and not send when i send a bunch of them in too little time (not super fast, just normal typing speeds).
Damn this is really broken, and IDK what else to change from here because there aren’t any error messages so…
Yeah, default legacy chat seems to still work fine if you don’t have a non-player speaker defined. For now I have just disabled my system messages and that fixed my game.
This can be fixed just by commenting this out until Roblox actually fixes userIsChatTranslationEnabled
This is on line 20 btw
You can report bugs in the bug-support group wdym
NVM problem with my patch again, I should have made it less hastily. It now fully fixes legacy chat. SystemMessages, public chat, and all. EasternBloxxer’s patch likely also works, tho you must remember to remove those changes once Roblox fixes translations if you want translations to work in your game in the future.
Hi all! We’ve turned off this feature as we work on a fix, the issue should go away on a fresh server start. Apologies for the inconvenience caused!
Thank you, I’ve been trying to figure out why this was happening to me.
Just to follow up on this thread, we have a potential fix ready to be merged in! We’d love if any devs with a place that experienced this issue could send us their place so we can thoroughly test our fix before it’s deployed. Just DM me a link to your place + instructions on triggering messages from a non player speaker and I’ll take a look. Thanks in advance to everyone
Dm’d you an example with screenshots. Thanks for following up on this.