-- pattern, then text, then tmkx ma. local lp = game:GetService("Players").LocalPlayer local rs = game:GetService("ReplicatedStorage") local uis = game:GetService("UserInputService") -- 1. THE FONT (ᴀʙᴄᴅᴇ) local function toImgFont(text) local map = {["a"]="ᴀ", ["b"]="ʙ", ["c"]="ᴄ", ["d"]="ᴅ", ["e"]="ᴇ", ["f"]="ғ", ["g"]="ɢ", ["h"]="ʜ", ["i"]="ɪ", ["j"]="ᴊ", ["k"]="ᴋ", ["l"]="ʟ", ["m"]="ᴍ", ["n"]="ɴ", ["o"]="ᴏ", ["p"]="ᴘ", ["q"]="ǫ", ["r"]="ʀ", ["s"]="s", ["t"]="ᴛ", ["u"]="ᴜ", ["v"]="ᴠ", ["w"]="ᴡ", ["x"]="x", ["y"]="ʏ", ["z"]="ᴢ"} local res = "" for i = 1, #text do local c = text:sub(i,i):lower() res = res .. (map[c] or text:sub(i,i)) end return res end -- 2. GUI SETUP if lp.PlayerGui:FindFirstChild("SamDev_Secret") then lp.PlayerGui.SamDev_Secret:Destroy() end local sg = Instance.new("ScreenGui", lp.PlayerGui) sg.Name = "SamDev_Secret" sg.ResetOnSpawn = false local main = Instance.new("Frame", sg) main.Size = UDim2.new(0, 400, 0, 300); main.Position = UDim2.new(0.5, -200, 0.4, 0) main.BackgroundColor3 = Color3.fromRGB(12, 12, 12); main.Active = true; main.Draggable = true Instance.new("UICorner", main) local stroke = Instance.new("UIStroke", main) stroke.Thickness = 3 task.spawn(function() while task.wait(0.05) do stroke.Color = Color3.fromHSV(tick() % 5 / 5, 1, 1) end end) local scroll = Instance.new("ScrollingFrame", main) scroll.Size = UDim2.new(0.9, 0, 0.65, 0); scroll.Position = UDim2.new(0.05, 0, 0.1, 0) scroll.BackgroundTransparency = 1; scroll.AutomaticCanvasSize = "Y" Instance.new("UIListLayout", scroll).VerticalAlignment = "Bottom" local input = Instance.new("TextBox", main) input.Size = UDim2.new(0.9, 0, 0, 45); input.Position = UDim2.new(0.05, 0, 0.8, 0) input.PlaceholderText = "PRIVATE SYNC..."; input.Text = "" input.BackgroundColor3 = Color3.fromRGB(25, 25, 25); input.TextColor3 = Color3.new(1,1,1) Instance.new("UICorner", input) -- 3. THE "HIDDEN" SYNC LOGIC -- We use a hidden folder in the game to pass text without chatting local function addLine(name, msg) local l = Instance.new("TextLabel", scroll) l.Size = UDim2.new(1, 0, 0, 25); l.BackgroundTransparency = 1 l.TextColor3 = Color3.new(1, 1, 1); l.TextXAlignment = "Left"; l.RichText = true l.Text = "[" .. toImgFont(name) .. "]: " .. msg scroll.CanvasPosition = Vector2.new(0, 99999) end -- This detects when OTHER people use the "UpdateName" remote (Hidden Sync) -- This is how friends see your msg in the GUI only! for _, v in pairs(game:GetDescendants()) do if v:IsA("RemoteEvent") and (v.Name == "PrepareCharacter" or v.Name == "UpdateName") then v.OnClientEvent:Connect(function(mode, data) if mode == "UpdateName" and data:find("||") then local split = string.split(data, "||") addLine(split[1], split[2]) end end) end end -- 4. THE SENDER (Doesn't use SendAsync!) input.FocusLost:Connect(function(enter) if enter and input.Text ~= "" then local msg = input.Text local myName = lp.DisplayName or lp.Name -- Show for you addLine(myName, msg) -- Send to others HIDDEN (using the Brookhaven name remote as a carrier) pcall(function() local remote = rs:FindFirstChild("PrepareCharacter", true) if remote then -- We hide the message inside the Name parameter so it doesn't show in chat remote:FireServer("UpdateName", myName .. "||" .. msg) end end) input.Text = "" end end) -- 5. BIO FORCE task.spawn(function() while task.wait(5) do pcall(function() local remote = rs:FindFirstChild("PrepareCharacter", true) if remote then remote:FireServer("UpdateDescription", toImgFont(lp.DisplayName)) end end) end end) -- tmkx ma. addLine("SYSTEM", "Private Sync Active. Not showing in Roblox Chat.")