local scrambleEvent = game:GetService("ReplicatedStorage").scrambleEvent
local function shuffleString(str)
local shuffled = {}
for i = 1, #str do
local char = str:sub(i, i)
if char ~= " " then
table.insert(shuffled, char)
end
end
for i = #shuffled, 2, -1 do
local j = math.random(i)
shuffled[i], shuffled[j] = shuffled[j], shuffled[i]
end
return table.concat(shuffled)
end
local function scrambleMessage(playerName, message)
local scrambledMessage = ""
for i = 1, #message do
local char = message:sub(i, i)
if char == " " then
scrambledMessage = scrambledMessage .. " "
else
scrambledMessage = scrambledMessage .. string.char(math.random(32, 126))
end
end
return playerName .. ": " .. scrambledMessage
end
game.Players.PlayerAdded:Connect(function(player)
player.Chatted:Connect(function(message)
if string.sub(message, 1, 9) == "/scramble" then
local scrambledMessage = scrambleMessage(player.Name, message)
scrambleEvent:FireAllClients(scrambledMessage)
message = scrambleMessage(player.Name,message)
print(scrambledMessage)
end
print(message)
end)
end)
inside the local script (this local script needs to be inside: StarterPlayer > StarterPlayerScripts
local scrambleEvent = game:GetService("ReplicatedStorage").scrambleEvent
scrambleEvent.OnClientEvent:Connect(function(scrambledMessage)
game:GetService("StarterGui"):SetCore("ChatMakeSystemMessage", {Text = scrambledMessage})
end