Unicode Helper
Key RequiredUniversal

Unicode Helper

Universal ScriptGdvinnyYtGdvinnyYt 521 views 12 executesUpdated Oct 25, 2025
Unrated
00
Lua Script•134 lines (4176 chars)
local Players = game:GetService("Players")
local UserInputService = game:GetService("UserInputService")
local player = Players.LocalPlayer
local playerGui = player:WaitForChild("PlayerGui")

-- Create ScreenGui
local screenGui = Instance.new("ScreenGui")
screenGui.Name = "UnicodeConverterGUI"
screenGui.ResetOnSpawn = false
screenGui.Parent = playerGui

-- Main Frame
local frame = Instance.new("Frame")
frame.Size = UDim2.new(0, 320, 0, 150)
frame.Position = UDim2.new(0.5, -160, 0.35, -75)
frame.AnchorPoint = Vector2.new(0.5, 0.5)
frame.BackgroundColor3 = Color3.fromRGB(30,30,40)
frame.BorderSizePixel = 0
frame.Active = true
frame.Parent = screenGui

-- Title bar (drag handle)
local titleBar = Instance.new("TextLabel")
titleBar.Size = UDim2.new(1,0,0,30)
titleBar.Position = UDim2.new(0,0,0,0)
titleBar.BackgroundColor3 = Color3.fromRGB(45,45,55)
titleBar.Text = "Unicode Hex → Character"
titleBar.TextColor3 = Color3.new(1,1,1)
titleBar.Font = Enum.Font.GothamBold
titleBar.TextSize = 18
titleBar.Parent = frame

-- Hex Input
local input = Instance.new("TextBox")
input.Size = UDim2.new(1,-20,0,36)
input.Position = UDim2.new(0,10,0,40)
input.PlaceholderText = "Enter hex (e.g., 1F600)"
input.BackgroundColor3 = Color3.fromRGB(60,60,75)
input.TextColor3 = Color3.fromRGB(1,1,1)
input.Font = Enum.Font.Gotham
input.TextSize = 18
input.Parent = frame

-- Convert button
local convertBtn = Instance.new("TextButton")
convertBtn.Size = UDim2.new(0.4,0,0,30)
convertBtn.Position = UDim2.new(0.05,0,0,90)
convertBtn.Text = "Convert"
convertBtn.Font = Enum.Font.GothamSemibold
convertBtn.TextSize = 16
convertBtn.BackgroundColor3 = Color3.fromRGB(95,95,120)
convertBtn.TextColor3 = Color3.new(1,1,1)
convertBtn.Parent = frame

-- Result TextBox (selectable)
local resultBox = Instance.new("TextBox")
resultBox.Size = UDim2.new(0.55,0,0,36)
resultBox.Position = UDim2.new(0.45,5,0,90)
resultBox.Text = ""
resultBox.PlaceholderText = "Result"
resultBox.BackgroundColor3 = Color3.fromRGB(40,40,50)
resultBox.TextColor3 = Color3.fromRGB(1,1,1)
resultBox.Font = Enum.Font.GothamBold
resultBox.TextSize = 22
resultBox.TextEditable = false -- selectable but not editable
resultBox.Parent = frame

-- ===== Hex → Unicode function =====
local function sanitizeHex(s)
    if not s then return nil end
    s = s:gsub("^U%+", ""):gsub("^0x", ""):gsub("%s+","")
    return s
end

local function hexToChar(hexStr)
    local s = sanitizeHex(hexStr)
    if not s or s == "" then return nil end
    local num = tonumber(s,16)
    if not num then return nil end
    return utf8.char(num)
end

-- Convert button function
convertBtn.MouseButton1Click:Connect(function()
    local char = hexToChar(input.Text)
    if char then
        resultBox.Text = char
    else
        resultBox.Text = "Invalid hex"
    end
end)

-- Enter key also converts
input.FocusLost:Connect(function(enterPressed)
    if enterPressed then
        local char = hexToChar(input.Text)
        if char then
            resultBox.Text = char
        else
            resultBox.Text = "Invalid hex"
        end
    end
end)

-- ===== Dragging =====
local dragging = false
local dragStart = Vector2.new()
local startPos = UDim2.new()

titleBar.InputBegan:Connect(function(inputObj)
    if inputObj.UserInputType == Enum.UserInputType.MouseButton1 or
       inputObj.UserInputType == Enum.UserInputType.Touch then
        dragging = true
        dragStart = inputObj.Position
        startPos = frame.Position
        inputObj.Changed:Connect(function()
            if inputObj.UserInputState == Enum.UserInputState.End then
                dragging = false
            end
        end)
    end
end)

UserInputService.InputChanged:Connect(function(inputObj)
    if dragging and (inputObj.UserInputType == Enum.UserInputType.MouseMovement or inputObj.UserInputType == Enum.UserInputType.Touch) then
        local delta = inputObj.Position - dragStart
        frame.Position = UDim2.new(startPos.X.Scale, startPos.X.Offset + delta.X,
                                   startPos.Y.Scale, startPos.Y.Offset + delta.Y)
    end
end)

-- ===== Initial example =====
input.Text = "1F600"
resultBox.Text = hexToChar(input.Text) or ""

Features & Information

Type, copy

Community Comments (1)

xyrevexxyrevexOct 25, 2025

AI

More Scripts for Universal Scripts