Basically my attempt was to make a chat tag system that allows us to change the player tag at real time or add one more tag to the player.
My expectation was to have the script to add a player chat tag by receiving the attribute inside the player.
But as you can see in the video below, it didn’t go that well, the script event ran 2 times and nothing happened so far. Is there any help to this following issue?
local message = "Welcome "..'<font color="#58e809">'..game.Players.LocalPlayer.DisplayName..'</font>'.."! Have a great game!"
local prefix = "[Server]: "
local TextChatService = game:GetService("TextChatService")
task.wait(2)
TextChatService.TextChannels.RBXGeneral:DisplaySystemMessage(prefix..message)
local RemoteEvent = game.ReplicatedStorage:WaitForChild("RemoteEvents"):WaitForChild("SendChatMessage").OnClientEvent:Connect(function(messageData)
if messageData then
local message = messageData.Message
local prefix = messageData.Prefix
TextChatService.TextChannels.RBXGeneral:DisplaySystemMessage(prefix..message)
end
end)
TextChatService.OnIncomingMessage = function(message:TextChatMessage)
local propertys = Instance.new("TextChatMessageProperties")
if message.TextSource then
local player = game.Players:GetPlayerByUserId(message.TextSource.UserId)
player = game.Players:FindFirstChild(player.Name)
if player and player:GetAttribute("Tags") then
print("should work")
local tags = player:GetAttribute("Tags")
if tags and tags ~= "" then
propertys.PrefixText = tags..message.PrefixText
end
end
end
end
I hope i put enough details on what i attempted and what should the script does.