local storage=game:GetService("ServerStorage") local sharedstorage=game:GetService("ReplicatedStorage") local chatevent=sharedstorage:WaitForChild("ChatEvent") local systemfontcolor=Color3.new(.83,.83,.83) function sendchat(chattype,name,chat,namecolor,textcolor) if chattype=="system" or chattype=="outmatch" then for _,plr in pairs(game.Players:GetPlayers()) do if true then --some kind of exclusive chat chatevent:FireClient(plr,name,chat,namecolor,textcolor) end end elseif chattype=="inmatch" then chatevent:FireAllClients(name,chat,namecolor,textcolor) else chatevent:FireAllClients(name,chat,namecolor,textcolor) end end function newplayer(plr) print("Player added yes",plr) sendchat("system",nil,""..plr.Name.." joined",systemfontcolor,systemfontcolor) local lastchattime=tick() local lastmsg="" plr.Chatted:connect(function(msg) local currenttime=tick() if plr and msg and msg~="" and string.sub(msg,1,2)~="/w" and string.sub(msg,1,2)~="/e" and(msg~=lastmsg or (currenttime-lastchattime)>3) and (currenttime-lastchattime)>.5 then lastchattime=currenttime local lastmsg=msg if hascharactertag and hascharactertag.Value and plr.Character then sendchat("outmatch",plr.Name..":",msg) else sendchat("inmatch",plr.Character.Name..":",msg,Color3.new(.509,.796,1)) end end end) end game.Players.PlayerAdded:connect(newplayer)A for _,plr in pairs(game.Players:GetPlayers()) do newplayer(plr) end game.Players.PlayerRemoving:connect(function(plr) if plr then sendchat("system",nil,""..plr.Name.." left",systemfontcolor,systemfontcolor) end end)