You can write your topic however you want, but you need to answer these questions:
I am using a chat tag system I found, problem is when you send a chat, only you can see the chat and no one else can
Player2 POV (They sent the chat)
Player1 POV (Notice how player2’s chat is not there)
This system was from a free model since this is a little too advanced for me, and I cant find any others like it that suit my needs so any help is appreciated!
local TextChatService = game:GetService("TextChatService")
local service = game:GetService("MarketplaceService")
local Players = game:GetService("Players")
TextChatService.OnIncomingMessage = function(message: TextChatMessage)
local properties = Instance.new("TextChatMessageProperties")
local Player = Players:GetPlayerByUserId(message.TextSource.UserId)
if message.TextSource then
local tags = ""
if script.AllUserFriends then
for _, v in pairs(script.AllUserFriends:GetChildren()) do
if v.Value ~= 0 then
if Player:IsFriendsWith(v.Value) then
for _, tag in pairs(v:GetChildren()) do
tags = tags .. ("<font color='#".. (tag.Color.Value):ToHex() .."'>".. tag.Name .."</font> ")
end
properties.PrefixText = tags .. message.PrefixText
end
else
break
end
end
end
if script.Gamepasses then
for _, v in pairs(script.Gamepasses:GetChildren()) do
if v.Value ~= 0 then
if service:UserOwnsGamePassAsync(Player.UserId, v.Value) then
for _, tag in pairs(v:GetChildren()) do
tags = tags .. ("<font color='#".. (tag.Color.Value):ToHex() .."'>".. tag.Name .."</font> ")
end
properties.PrefixText = tags .. message.PrefixText
end
else
break
end
end
end
if script.Groups then
for _, v in pairs(script.Groups:GetChildren()) do
if v.Value ~= 0 then
if Player:IsInGroup(v.Value) then
for _, tag in pairs(v:GetChildren()) do
tags = tags .. ("<font color='#".. (tag.Color.Value):ToHex() .."'>".. tag.Name .."</font> ")
end
properties.PrefixText = tags .. message.PrefixText
end
else
break
end
end
end
if script.UserIds then
for _, v in pairs(script.UserIds:GetChildren()) do
if v.Value ~= 0 then
if Player.UserId == v.Value then
for _, tag in pairs(v:GetChildren()) do
tags = tags .. ("<font color='#".. (tag.Color.Value):ToHex() .."'>".. tag.Name .."</font> ")
end
properties.PrefixText = tags .. message.PrefixText
end
else
break
end
end
end
if script.UserNames then
for _, v in pairs(script.UserNames:GetChildren()) do
if v.Value ~= nil then
if Player.Name == v.Value then
for _, tag in pairs(v:GetChildren()) do
tags = tags .. ("<font color='#".. (tag.Color.Value):ToHex() .."'>".. tag.Name .."</font> ")
end
properties.PrefixText = tags .. message.PrefixText
end
else
break
end
end
end
end
return properties
end