Scripting Helpers is winding down operations and is now read-only. More info→
Ad
Log in to vote
0

Filtering Messages Doesn't work on rap battle game, any help?

Asked by
LuaDLL 253 Moderation Voter
6 years ago
Edited 6 years ago

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

0
When filtering, I use FilterStringForBroadcast. It works fine. 'textObject = game:GetService("Chat"):FilterStringForBroadcast(message,player)' In the normal script obviously. Karl_RBX 11 — 6y
0
still doesnt work LuaDLL 253 — 6y
0
What doesn't work? More detail. H4X0MSYT 536 — 6y
0
What does the output say? Or the code runs correctly but doesn't work appropriately? Aimarekin 345 — 6y

Answer this question