-- Configuration local guiColor = Color3.fromRGB(0, 0, 255) -- Blue -- Translation functions local function englishToHexadecimal(text) local hex = "" for i = 1, #text do local char = text:sub(i, i) hex = hex .. string.format("%x", string.byte(char)) end return hex end local function englishToMorseCode(text) local morseCode = { 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 morse = "" for i = 1, #text do local char = text:sub(i, i):upper() if morseCode[char] then morse = morse .. morseCode[char] .. " " end end return morse end local function englishToBinaryCode(text) local binary = "" for i = 1, #text do local char = text:sub(i, i) binary = binary .. string.format("%08b", string.byte(char)) .. " " end return binary end local function englishToDecimal(text) local decimal = "" for i = 1, #text do local char = text:sub(i, i) decimal = decimal .. string.byte(char) .. " " end return decimal end -- GUI creation local gui = Instance.new("ScreenGui") gui.Name = "EnglishTranslator" local frame = Instance.new("Frame") frame.Parent = gui frame.BackgroundColor = guiColor frame.Size = UDim2.new(0.5, 0, 0.5, 0) frame.Position = UDim2.new(0.25, 0, 0.25, 0) local textInput = Instance.new("TextBox") textInput.Parent = frame textInput.Size = UDim2.new(0.8, 0, 0.2, 0) textInput.Position = UDim2.new(0.1, 0, 0.1, 0) local translationOptions = { Hexadecimal = englishToHexadecimal, ["Morse_Code"] = englishToMorseCode, ["Binary_Code"] = englishToBinaryCode, Decimal = englishToDecimal } local translationType = Instance.new("TextButton") translationType.Parent = frame translationType.Size = UDim2.new(0.2, 0, 0.2, 0) translationType.Position = UDim2.new(0.1, 0, 0.3, 0) translationType.Text = "Select Translation Type" local translationOutput = Instance.new("TextLabel") translationOutput.Parent = frame translationOutput.Size = UDim2.new(0.8, 0, 0.2, 0) translationOutput.Position = UDim2.new(0.1, 0, 0.5, 0) local destroyButton = Instance.new("TextButton") destroyButton.Parent = frame destroyButton.Size = UDim2.new(0.2, 0, 0.2, 0) destroyButton.Position = UDim2.new(0.1, 0, 0.7, 0) destroyButton.Text = "Destroy GUI" local closeButton = Instance.new("TextButton") closeButton.Parent = frame closeButton.Size = UDim2.new(0.05, 0, 0.05, 0) closeButton.Position = UDim2.new(0.9, 0, 0.05, 0) closeButton.Text = "X" -- Event listeners translationType.MouseButton1Click:Connect(function() local options = {} for i, v in pairs(translationOptions) do table.insert(options, i) end local dropdown = Instance.new("Menu") dropdown.Parent = frame dropdown.MenuItems = options dropdown.Selected:Connect(function(selectedOption) local text = textInput.Text local translationFunction = translationOptions[selectedOption] local translatedText = translationFunction(text) translationOutput.Text = translatedText end) end) destroyButton.MouseButton1Click:Connect(function() gui:Destroy() local message = Instance.new("TextLabel") message.Parent = game.StarterGui message.Size = UDim2.new(0.5, 0, 0.2, 0) message.Position = UDim2.new(0.25, 0, 0.4, 0) message.Text = "Destroyed GUI successfully. To reopen the GUI, press Shift+S." local closeMessageButton = Instance.new("TextButton") closeMessageButton.Parent = message closeMessageButton.Size = UDim2.new(0.05, 0, 0.05, 0) closeMessageButton.Position = UDim2.new(0.9, 0, 0.05, 0) closeMessageButton.Text = "X" closeMessageButton.MouseButton1Click:Connect(function() message:Destroy() end) game:GetService("UserInputService").InputBegan:Connect(function(input) if input.KeyCode == Enum.KeyCode.S and game:GetService("UserInputService"):IsKeyDown(Enum.KeyCode.LeftShift) then gui = Instance.new("ScreenGui") gui.Name = "EnglishTranslator" -- recreate GUI elements... end end) end) closeButton.MouseButton1Click:Connect(function() gui:Destroy() end) -- Insert GUI into StarterGui gui.Parent = game.StarterGui Usage Create a new LocalScript in ServerScriptService. Copy and paste the script into the LocalScript. Run the game. Notes This script uses a simple GUI with a text input, translation options, and a destroy button. The translation functions are basic and may not cover all edge cases. The GUI can be reopened by pressing Shift+S after it has been destroyed. Luau Roblox Script: English Translator Script Description This script creates a GUI that translates English text into non-letter-based languages, including hexadecimal, Morse code, binary code, and decimal. The GUI features a reusable button, a "Destroy GUI" button, and a close button. When the "Destroy GUI" button is clicked, a message is displayed, and the GUI can be reopened by pressing Shift+S. Script -- Configuration local guiColor = Color3.fromRGB(0, 0, 255) -- Blue -- Translation functions local function englishToHexadecimal(text) local hex = "" for i = 1, #text do local char = text:sub(i, i) hex = hex .. string.format("%x", string.byte(char)) end return hex end local function englishToMorseCode(text) local morseCode = { 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 morse = "" for i = 1, #text do local char = text:sub(i, i):upper() if morseCode[char] then morse = morse .. morseCode[char] .. " " end end return morse end local function englishToBinaryCode(text) local binary = "" for i = 1, #text do local char = text:sub(i, i) binary = binary .. string.format("%08b", string.byte(char)) .. " " end return binary end local function englishToDecimal(text) local decimal = "" for i = 1, #text do local char = text:sub(i, i) decimal = decimal .. string.byte(char) .. " " end return decimal end -- GUI creation local gui = Instance.new("ScreenGui") gui.Name = "EnglishTranslator" local frame = Instance.new("Frame") frame.Parent = gui frame.BackgroundColor = guiColor