-- 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

4 comments

0

When filtering, I use FilterStringForBroadcast. It works fine. 'textObject = game:GetService("Chat"):FilterStringForBroadcast(message,player)' In the normal script obviously.

0

still doesnt work

0

What doesn't work? More detail.

0

What does the output say? Or the code runs correctly but doesn't work appropriately?