-- Normal Script --
local ReplicatedStorage = game:GetService("ReplicatedStorage") local TS = game:GetService("TextService") local RAP = script.Parent.Rap local plr = game.Players.LocalPlayer local setSignText = ReplicatedStorage.RAP local function getTextObject(message, fromPlayerId) local textObject local success, errorMessage = pcall(function() textObject = TS:FilterStringAsync(message, fromPlayerId) end) if success then return textObject elseif errorMessage then print("Error generating TextFilterResult:", errorMessage) end return false end local function getFilteredMessage(textObject) local filteredMessage local success, errorMessage = pcall(function() filteredMessage = textObject:GetNonChatStringForBroadcastAsync() end) if success then return filteredMessage elseif errorMessage then print("Error filtering message:", errorMessage) end return false end -- Fired when client sends a request to write on the sign function onSetSignText(player, text) if text ~= "" then -- filter the incoming message and send the filtered message local messageObject = getTextObject(text, player.UserId) local filteredText = "" filteredText = getFilteredMessage(messageObject) RAP.Text = filteredText end end setSignText.OnServerEvent:Connect(onSetSignText)
-- Local Script --
-- LocalScript local Players = game:GetService("Players") local ReplicatedStorage = game:GetService("ReplicatedStorage") local player = Players.LocalPlayer -- RemoteEvent to send text to server for filtering and display local setSignText = ReplicatedStorage:WaitForChild("Rap") local function onChat(msg) local message = msg if message ~= "" then setSignText:FireServer(message) end end player.Chatted:Connect(function(msg) onChat(msg) end)
Any help? It doesn't print any errors