I am trying to send the message hello through script and I got no errors. Everything is printing right, such as “message sent” but why is the chat message still not there?
local ReplicatedStorage = game:GetService("ReplicatedStorage")
local remoteEvent = ReplicatedStorage:WaitForChild("AdminUpdateRE")
local remoteEvent = game:GetService("ReplicatedStorage"):WaitForChild("AdminUpdateRE")
local StarterGui = game.StarterGui
Text = message,
Color = Color3.new(1, 1, 1),
Font = Enum.Font.SourceSansBold,
TextSize = 18
I think the chat is only affected in newer games created after the chat update. Which is why it didn’t affect my game. But I’m still not sure why game.StarterGui:SetCore("ChatMakeSystemMessage", message) doesn’t work. I’ve done some research and I still can’t find anything…
EDIT: I found a way. You just change the “ChatVersion” property to “LegacyChatService”.
The only issue with this is that I’m not sure how to do it if you want the newer chat version.
TextChatService works very differently to LegacyChatService so many things that were done in the old chat have to be done another way now. Because of this, games already using the old chat keep using the old chat while newly made games use TextChatService by default.
ChatMakeSystemMessage doesn’t work on TextChatService probably because it just doesn’t support it at all, at least for now. To print system messages in TextChatService, you need to use :DisplaySystemMessage() in one of the text channel objects inside TextChatService.
-- In a local script.
local TextChatService = game:GetService("TextChatService")
-- RBXSystem and RBXGeneral are the default text channels.
Also, customizing the system message now requires using rich text, instead of passing other arguments. If the rich text is confusing though, I did make a module script (pardon the self-advertising) that simplifies creating and customizing system messages in TextChatService along with other stuff.
You can learn more about how TextChatService works here.