--// Modern Roblox GUI: Full Letter πŸ…° Replacer (Dark Mode + Draggable) local player = game.Players.LocalPlayer local playerGui = player:WaitForChild("PlayerGui") -- Create GUI local ScreenGui = Instance.new("ScreenGui") ScreenGui.Name = "LetterReplacerGUI" ScreenGui.ResetOnSpawn = false ScreenGui.Parent = playerGui -- Main Frame local Frame = Instance.new("Frame") Frame.Size = UDim2.new(0, 320, 0, 120) Frame.Position = UDim2.new(0.5, -160, 0.5, -80) Frame.BackgroundColor3 = Color3.fromRGB(25, 25, 30) Frame.BorderSizePixel = 0 Frame.Active = true Frame.Draggable = true Frame.Parent = ScreenGui local UICorner = Instance.new("UICorner", Frame) UICorner.CornerRadius = UDim.new(0, 12) -- Title Bar local TitleBar = Instance.new("Frame") TitleBar.Size = UDim2.new(1, 0, 0, 30) TitleBar.BackgroundColor3 = Color3.fromRGB(35, 35, 40) TitleBar.BorderSizePixel = 0 TitleBar.Parent = Frame local TitleCorner = Instance.new("UICorner", TitleBar) TitleCorner.CornerRadius = UDim.new(0, 12) local Title = Instance.new("TextLabel") Title.Parent = TitleBar Title.Size = UDim2.new(1, -20, 1, 0) Title.Position = UDim2.new(0, 10, 0, 0) Title.BackgroundTransparency = 1 Title.Text = "πŸ…²πŸ…·πŸ…°πŸ†ƒ πŸ…±πŸ†ˆπŸ…ΏπŸ…°πŸ†‚πŸ†‚πŸ…΄πŸ†" Title.Font = Enum.Font.GothamBold Title.TextColor3 = Color3.fromRGB(255, 255, 255) Title.TextSize = 20 Title.TextXAlignment = Enum.TextXAlignment.Left -- TextBox local TextBox = Instance.new("TextBox") TextBox.Size = UDim2.new(1, -20, 0, 30) TextBox.Position = UDim2.new(0, 10, 0, 40) TextBox.PlaceholderText = "Type your message..." TextBox.Text = "" TextBox.Font = Enum.Font.Gotham TextBox.TextSize = 18 TextBox.TextColor3 = Color3.fromRGB(255, 255, 255) TextBox.BackgroundColor3 = Color3.fromRGB(45, 45, 50) TextBox.BorderSizePixel = 0 TextBox.Parent = Frame local tbCorner = Instance.new("UICorner", TextBox) tbCorner.CornerRadius = UDim.new(0, 8) -- Send Button local SendButton = Instance.new("TextButton") SendButton.Size = UDim2.new(1, -20, 0, 30) SendButton.Position = UDim2.new(0, 10, 0, 80) SendButton.Text = "Send" SendButton.Font = Enum.Font.GothamBold SendButton.TextSize = 20 SendButton.TextColor3 = Color3.fromRGB(255, 255, 255) SendButton.BackgroundColor3 = Color3.fromRGB(0, 170, 255) SendButton.BorderSizePixel = 0 SendButton.Parent = Frame local btnCorner = Instance.new("UICorner", SendButton) btnCorner.CornerRadius = UDim.new(0, 8) -- Hover effects SendButton.MouseEnter:Connect(function() SendButton.BackgroundColor3 = Color3.fromRGB(0, 200, 255) end) SendButton.MouseLeave:Connect(function() SendButton.BackgroundColor3 = Color3.fromRGB(0, 170, 255) end) -- Smooth Dragging local UserInputService = game:GetService("UserInputService") local dragging, dragInput, dragStart, startPos local function update(input) local delta = input.Position - dragStart Frame.Position = UDim2.new(startPos.X.Scale, startPos.X.Offset + delta.X, startPos.Y.Scale, startPos.Y.Offset + delta.Y) end TitleBar.InputBegan:Connect(function(input) if input.UserInputType == Enum.UserInputType.MouseButton1 or input.UserInputType == Enum.UserInputType.Touch then dragging = true dragStart = input.Position startPos = Frame.Position input.Changed:Connect(function() if input.UserInputState == Enum.UserInputState.End then dragging = false end end) end end) TitleBar.InputChanged:Connect(function(input) if input.UserInputType == Enum.UserInputType.MouseMovement or input.UserInputType == Enum.UserInputType.Touch then dragInput = input end end) UserInputService.InputChanged:Connect(function(input) if input == dragInput and dragging then update(input) end end) -- Letter mapping (A–Z) local letters ={ A = "πŸ…°", B = "πŸ…±", C = "πŸ…²", D = "πŸ…³", E = "πŸ…΄", F = "πŸ…΅", G = "πŸ…Ά", H = "πŸ…·", I = "πŸ…Έ", J = "πŸ…Ή", K = "πŸ…Ί", L = "πŸ…»", M = "πŸ…Ό", N = "πŸ…½", O = "πŸ…Ύ", P = "πŸ…Ώ", Q = "πŸ†€", R = "πŸ†", S = "πŸ†‚", T = "πŸ†ƒ", U = "πŸ†„", V = "πŸ†…", W = "πŸ††", X = "πŸ†‡", Y = "πŸ†ˆ", Z = "πŸ†‰" } local function replaceLetters(text) local result = "" for i = 1, #text do local char = text:sub(i, i) local upper = char:upper() if letters[upper] then result = result .. letters[upper] else result = result .. char end end return result end -- Chat Service local ChatService = game:GetService("TextChatService") SendButton.MouseButton1Click:Connect(function() local text = TextBox.Text if text ~= "" then local modified = replaceLetters(text) -- Send to chat if ChatService.ChatVersion == Enum.ChatVersion.TextChatService then ChatService.TextChannels.RBXGeneral:SendAsync(modified) else game.ReplicatedStorage.DefaultChatSystemChatEvents.SayMessageRequest:FireServer(modified, "All") end TextBox.Text = "" end end)