Script doesn’t works. No errors appear.
LocalScript:
local radioEvent = game.ReplicatedStorage.RadioChatted
local Event = game.ReplicatedStorage.FilterTextRadio
local Player = game.Players.LocalPlayer
local Team = game:GetService("Teams")["Humans"]
local Name = Player.Name
local Display = ""
Player.Chatted:Connect(function(message)
if Player.Team == Team and message ~= "" then
Event:FireServer(message)
end
end)
local function onClientReceive(message)
Display = message
game.ReplicatedStorage.RadioChatted:FireServer(Player, Name, Display)
end
Event.OnClientEvent:Connect(onClientReceive)
Script in radio:
local radio = script.Parent.Handle
game.ReplicatedStorage.RadioChatted.OnServerEvent:Connect(function(Player, Name, Display)
game:GetService("Chat"):Chat(radio,"[".. Name .."]: ".. Display, Enum.ChatColor.White)
end)
Script in ServerScriptService:
local ReplicatedStorage = game:GetService("ReplicatedStorage")
local TextService = game:GetService("TextService")
local Event = ReplicatedStorage:WaitForChild("FilterTextRadio")
local function filterMessage(msg, fromUser)
local result
local success, err = pcall(function()
result = TextService:FilterStringAsync(msg, fromUser)
end)
if success then
return result
end
return false
end
local function getFilteredMessage(text, recipient)
local result
local success, err = pcall(function()
result = text:GetChatForUserAsync(recipient)
end)
if success then
return result
end
return false
end
local function onSendMessage(sender, message)
if message ~= "" then
local filteredMessage = filterMessage(message, sender.UserId)
if filteredMessage then
for _, player in pairs(game.Players:GetPlayers()) do
local filteredMessage = getFilteredMessage(filteredMessage, player.UserId)
Event:FireClient(player, filteredMessage)
end
end
end
end
Event.OnServerEvent:Connect(onSendMessage)