dodos chat v001
Key RequiredUniversal

dodos chat v001

Universal ScriptKyeliszKyelisz 321 views 55 executesUpdated Mar 19, 2026
Unrated
00
Lua Script•145 lines (4447 chars)
-- Dodo's BrookChat for Executors (Optimized)
local HttpService = game:GetService("HttpService")
local Players = game:GetService("Players")
local RunService = game:GetService("RunService")

-- CONFIG
local GIST_URL = "https://pastebin.com/raw/YOUR_PASTE_ID" -- Replace with your paste URL or server endpoint
local POLL_INTERVAL = 3 -- seconds between updates
local username = Players.LocalPlayer.Name

-- GUI
local ScreenGui = Instance.new("ScreenGui")
ScreenGui.Parent = game:GetService("CoreGui")
ScreenGui.Name = "DodosBrookChat"

local MainFrame = Instance.new("Frame")
MainFrame.Size = UDim2.new(0, 400, 0, 500)
MainFrame.Position = UDim2.new(0.5, -200, 0.5, -250)
MainFrame.BackgroundColor3 = Color3.fromRGB(40, 40, 40)
MainFrame.Visible = false
MainFrame.Parent = ScreenGui

local FrameCorner = Instance.new("UICorner")
FrameCorner.CornerRadius = UDim.new(0, 10)
FrameCorner.Parent = MainFrame

-- Title
local Title = Instance.new("TextLabel")
Title.Size = UDim2.new(1, 0, 0, 50)
Title.BackgroundColor3 = Color3.fromRGB(60, 60, 60)
Title.Text = "Dodo's BrookChat"
Title.TextColor3 = Color3.fromRGB(255, 255, 255)
Title.Font = Enum.Font.GothamBold
Title.TextScaled = true
Title.Parent = MainFrame

-- Chat ScrollingFrame
local ChatFrame = Instance.new("ScrollingFrame")
ChatFrame.Size = UDim2.new(1, -20, 1, -120)
ChatFrame.Position = UDim2.new(0, 10, 0, 60)
ChatFrame.BackgroundTransparency = 1
ChatFrame.ScrollBarThickness = 6
ChatFrame.AutomaticCanvasSize = Enum.AutomaticSize.Y
ChatFrame.Parent = MainFrame

local UIListLayout = Instance.new("UIListLayout")
UIListLayout.SortOrder = Enum.SortOrder.LayoutOrder
UIListLayout.Padding = UDim.new(0, 5)
UIListLayout.Parent = ChatFrame

-- Input
local InputBox = Instance.new("TextBox")
InputBox.Size = UDim2.new(1, -20, 0, 30)
InputBox.Position = UDim2.new(0, 10, 1, -50)
InputBox.PlaceholderText = "Type your message..."
InputBox.TextColor3 = Color3.fromRGB(255, 255, 255)
InputBox.BackgroundColor3 = Color3.fromRGB(60, 60, 60)
InputBox.ClearTextOnFocus = false
InputBox.TextScaled = true
InputBox.Parent = MainFrame

-- Send button
local SendBtn = Instance.new("TextButton")
SendBtn.Size = UDim2.new(0, 60, 0, 30)
SendBtn.Position = UDim2.new(1, -70, 1, -50)
SendBtn.Text = "Send"
SendBtn.BackgroundColor3 = Color3.fromRGB(100, 100, 100)
SendBtn.TextColor3 = Color3.fromRGB(255, 255, 255)
SendBtn.Parent = MainFrame

-- Toggle Button
local ToggleBtn = Instance.new("TextButton")
ToggleBtn.Size = UDim2.new(0, 50, 0, 50)
ToggleBtn.Position = UDim2.new(0, 10, 0.5, -25)
ToggleBtn.Text = "Chat"
ToggleBtn.BackgroundColor3 = Color3.fromRGB(60, 60, 60)
ToggleBtn.TextColor3 = Color3.fromRGB(255, 255, 255)
ToggleBtn.Parent = ScreenGui

ToggleBtn.MouseButton1Click:Connect(function()
    MainFrame.Visible = not MainFrame.Visible
end)

-- Message storage
local messages = {}

-- Utilities
local function addMessage(name, msg)
    local label = Instance.new("TextLabel")
    label.Size = UDim2.new(1, 0, 0, 30)
    label.Text = name .. ": " .. msg
    label.TextColor3 = Color3.fromRGB(255, 255, 255)
    label.BackgroundTransparency = 1
    label.TextScaled = true
    label.Font = Enum.Font.Gotham
    label.TextWrapped = true
    label.Parent = ChatFrame

    -- Scroll to bottom
    ChatFrame.CanvasPosition = Vector2.new(0, ChatFrame.CanvasSize.Y.Offset)
end

local function updateChat(newMessages)
    -- Only add new messages
    for i = #messages + 1, #newMessages do
        local msgData = newMessages[i]
        addMessage(msgData.username, msgData.message)
        table.insert(messages, msgData)
    end
end

-- Send message
local function sendMessage()
    local msg = InputBox.Text
    if msg ~= "" then
        local data = {username=username, message=msg}
        pcall(function()
            HttpService:PostAsync(GIST_URL, HttpService:JSONEncode(data))
        end)
        InputBox.Text = ""
        addMessage(username, msg)
        table.insert(messages, data)
    end
end

SendBtn.MouseButton1Click:Connect(sendMessage)
InputBox.FocusLost:Connect(function(enterPressed)
    if enterPressed then
        sendMessage()
    end
end)

-- Polling messages
spawn(function()
    while true do
        if MainFrame.Visible then
            pcall(function()
                local json = HttpService:GetAsync(GIST_URL)
                local data = HttpService:JSONDecode(json)
                updateChat(data)
            end)
        end
        task.wait(POLL_INTERVAL)
    end
end)

Features & Information

chat script coming soon still may not work

Community Comments (0)

No comments yet for this script.

More Scripts for Universal Scripts