SaMDeV Chat
Key RequiredUniversal

SaMDeV Chat

Universal Scriptgreninjayt007greninjayt007 724 views 292 executesUpdated Jan 18, 2026
5.0/ 5(1 votes)
10100% Positive
Lua Script•126 lines (4201 chars)
-- pattern, then text, then tmkx ma.
local lp = game:GetService("Players").LocalPlayer
local uis = game:GetService("UserInputService")
local ts = game:GetService("TweenService")

-- 1. THE FONT CONVERTER (ᴀʙᴄᴅᴇ)
local function toAesthetic(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 c)
    end
    return res
end

-- 2. GUI CREATION
if lp.PlayerGui:FindFirstChild("SamDev_v2") then lp.PlayerGui.SamDev_v2:Destroy() end
local sg = Instance.new("ScreenGui", lp.PlayerGui)
sg.Name = "SamDev_v2"

local main = Instance.new("Frame", sg)
main.Size = UDim2.new(0, 380, 0, 280)
main.Position = UDim2.new(0.5, -190, 0.5, -140)
main.BackgroundColor3 = Color3.fromRGB(15, 15, 15)
main.BorderSizePixel = 0
Instance.new("UICorner", main).CornerRadius = UDim.new(0, 10)

-- RAINBOW BORDER (Aesthetic)
local stroke = Instance.new("UIStroke", main)
stroke.Thickness = 3
stroke.ApplyStrokeMode = Enum.ApplyStrokeMode.Border

task.spawn(function()
    while task.wait(0.05) do
        local hue = tick() % 5 / 5
        stroke.Color = Color3.fromHSV(hue, 1, 1)
    end
end)

-- Top Bar (Draggable Area)
local topBar = Instance.new("Frame", main)
topBar.Size = UDim2.new(1, 0, 0, 40)
topBar.BackgroundColor3 = Color3.fromRGB(25, 25, 25)
topBar.BorderSizePixel = 0
Instance.new("UICorner", topBar)

local title = Instance.new("TextLabel", topBar)
title.Size = UDim2.new(1, 0, 1, 0)
title.Position = UDim2.new(0, 15, 0, 0)
title.BackgroundTransparency = 1
title.Text = toAesthetic("SamDev Chat v2")
title.TextColor3 = Color3.new(1, 1, 1)
title.Font = Enum.Font.GothamBold
title.TextSize = 16
title.TextXAlignment = "Left"

-- Chat Area
local scroll = Instance.new("ScrollingFrame", main)
scroll.Size = UDim2.new(0.9, 0, 0.65, 0)
scroll.Position = UDim2.new(0.05, 0, 0.18, 0)
scroll.BackgroundTransparency = 1
scroll.CanvasSize = UDim2.new(0, 0, 0, 0)
scroll.AutomaticCanvasSize = Enum.AutomaticSize.Y
scroll.ScrollBarThickness = 2
Instance.new("UIListLayout", scroll).VerticalAlignment = "Bottom"

-- Input
local input = Instance.new("TextBox", main)
input.Size = UDim2.new(0.9, 0, 0, 40)
input.Position = UDim2.new(0.05, 0, 0.82, 0)
input.BackgroundColor3 = Color3.fromRGB(25, 25, 25)
input.TextColor3 = Color3.new(1, 1, 1)
input.PlaceholderText = "Type message..."
input.Text = ""
Instance.new("UICorner", input)

-- 3. THE FIXED DRAGGING LOGIC
local dragging, dragInput, dragStart, startPos

local function update(input)
    local delta = input.Position - dragStart
    main.Position = UDim2.new(startPos.X.Scale, startPos.X.Offset + delta.X, startPos.Y.Scale, startPos.Y.Offset + delta.Y)
end

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

uis.InputChanged:Connect(function(inp)
    if dragging and (inp.UserInputType == Enum.UserInputType.MouseMovement or inp.UserInputType == Enum.UserInputType.Touch) then
        update(inp)
    end
end)

-- 4. MESSAGING SYSTEM
local function addMsg(user, text)
    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.RichText = true
    l.TextXAlignment = "Left"
    l.Text = "<b>[" .. toAesthetic(user) .. "]:</b> " .. text
    scroll.CanvasPosition = Vector2.new(0, 99999)
end

input.FocusLost:Connect(function(enter)
    if enter and input.Text ~= "" then
        addMsg(lp.DisplayName, input.Text)
        input.Text = ""
    end
end)

-- tmkx ma.
addMsg("SYSTEM", "Draggable & Rainbow Glow Enabled.")

Features & Information

It is basically a chat panel where all age group can chat and with NO TAGS global chat messages

Community Comments (0)

No comments yet for this script.

More Scripts for Universal Scripts