local Players = game:GetService("Players") local TextChatService = game:GetService("TextChatService") local sendercolor = {} local lplr = nil local ColorPalette = { Color3.fromRGB(171, 173, 172), Color3.fromRGB(140, 140, 140), Color3.fromRGB(200, 200, 200), Color3.fromRGB(255, 110, 110), Color3.fromRGB(255, 80, 80), Color3.fromRGB(255, 150, 100), Color3.fromRGB(200, 120, 80), Color3.fromRGB(255, 180, 120), Color3.fromRGB(255, 255, 100), Color3.fromRGB(240, 220, 80), Color3.fromRGB(255, 210, 80), Color3.fromRGB(120, 255, 120), Color3.fromRGB(80, 220, 120), Color3.fromRGB(100, 255, 180), Color3.fromRGB(160, 255, 160), Color3.fromRGB(100, 255, 255), Color3.fromRGB(120, 220, 255), Color3.fromRGB(80, 200, 255), Color3.fromRGB(100, 100, 255), Color3.fromRGB(120, 150, 255), Color3.fromRGB(60, 130, 255), Color3.fromRGB(140, 160, 255), Color3.fromRGB(200, 100, 255), Color3.fromRGB(170, 120, 255), Color3.fromRGB(180, 140, 255), Color3.fromRGB(255, 100, 255), Color3.fromRGB(255, 120, 200), Color3.fromRGB(255, 140, 220), Color3.fromRGB(100, 255, 150), Color3.fromRGB(120, 255, 200), Color3.fromRGB(80, 240, 200), Color3.fromRGB(255, 200, 150), Color3.fromRGB(200, 180, 255), Color3.fromRGB(150, 255, 200), } local function Color3ToHex(color) local r = math.floor(color.R * 255) local g = math.floor(color.G * 255) local b = math.floor(color.B * 255) return string.format("#%02X%02X%02X", r, g, b) end local function GetPlayerColor(player) if sendercolor[player.Name] then return sendercolor[player.Name] end local colorIndex = (player.UserId % #ColorPalette) + 1 sendercolor[player.Name] = ColorPalette[colorIndex] return sendercolor[player.Name] end local function GetAvailablePlayers() local list = {} for _, plr in ipairs(Players:GetPlayers()) do if plr ~= Players.LocalPlayer then table.insert(list, plr) end end return list end local function frc(message) local channel = TextChatService :FindFirstChild("TextChannels") :FindFirstChild("RBXGeneral") if not channel then warn("RBXGeneral channel not found!") return end local availablePlayers = GetAvailablePlayers() if #availablePlayers == 0 then warn("No other players available!") return end local plr if #availablePlayers > 1 and lplr then repeat plr = availablePlayers[math.random(#availablePlayers)] until plr ~= lplr else plr = availablePlayers[math.random(#availablePlayers)] end lplr = plr local playerColor = GetPlayerColor(plr) local colorHex = Color3ToHex(playerColor) local formatted = string.format( '%s: %s', colorHex, plr.DisplayName, message ) channel:DisplaySystemMessage(formatted) end Players.PlayerAdded:Connect(function(player) GetPlayerColor(player) end) Players.PlayerRemoving:Connect(function(player) sendercolor[player.Name] = nil end) frc("Your IP address is 196.631.421") -- you change or add