
Key RequiredUniversal

local Players = game:GetService("Players")
local CoreGui = game:GetService("CoreGui")
local TextChatService = game:GetService("TextChatService")
local ReplicatedStorage = game:GetService("ReplicatedStorage")
local lp = Players.LocalPlayer
-- CLEANUP PREVIOUS SCRIPT
if CoreGui:FindFirstChild("DeltaSculpt") then CoreGui.DeltaSculpt:Destroy() end
local ScreenGui = Instance.new("ScreenGui")
ScreenGui.Name = "DeltaSculpt"
ScreenGui.Parent = (gethui and gethui()) or CoreGui
ScreenGui.ZIndexBehavior = Enum.ZIndexBehavior.Sibling
-- [MAIN CONTROL FRAME]
local MainFrame = Instance.new("Frame", ScreenGui)
MainFrame.Size = UDim2.new(0, 250, 0, 180)
MainFrame.Position = UDim2.new(0.5, -260, 0.5, -90)
MainFrame.BackgroundColor3 = Color3.fromRGB(15, 15, 15)
MainFrame.Active = true; MainFrame.Draggable = true
Instance.new("UICorner", MainFrame).CornerRadius = UDim.new(0, 15)
-- [CUSTOMIZER FRAME]
local CustomFrame = Instance.new("Frame", ScreenGui)
CustomFrame.Size = UDim2.new(0, 250, 0, 180)
CustomFrame.Position = UDim2.new(0.5, 10, 0.5, -90)
CustomFrame.BackgroundColor3 = Color3.fromRGB(20, 20, 20)
CustomFrame.Active = true; CustomFrame.Draggable = true
Instance.new("UICorner", CustomFrame).CornerRadius = UDim.new(0, 15)
-- [TITLE & TOGGLES]
local Title = Instance.new("TextLabel", MainFrame)
Title.Size = UDim2.new(1, 0, 0, 30); Title.Text = "MAIN CONTROLS"; Title.TextColor3 = Color3.new(1,1,1); Title.BackgroundTransparency = 1
local autoChatEnabled = true
local ToggleBtn = Instance.new("TextButton", MainFrame)
ToggleBtn.Size = UDim2.new(0.9, 0, 0, 35); ToggleBtn.Position = UDim2.new(0.05, 0, 0.25, 0)
ToggleBtn.Text = "AUTO-CHAT: ON"; ToggleBtn.BackgroundColor3 = Color3.fromRGB(0, 150, 0); ToggleBtn.TextColor3 = Color3.new(1,1,1)
Instance.new("UICorner", ToggleBtn)
local chatDelay = 10
local SpeedInput = Instance.new("TextBox", MainFrame)
SpeedInput.Size = UDim2.new(0.9, 0, 0, 35); SpeedInput.Position = UDim2.new(0.05, 0, 0.5, 0)
SpeedInput.PlaceholderText = "Delay (Current: 10s)"; SpeedInput.Text = "10"; SpeedInput.BackgroundColor3 = Color3.fromRGB(30, 30, 30); SpeedInput.TextColor3 = Color3.new(1,1,1)
Instance.new("UICorner", SpeedInput)
-- [CUSTOM PHRASE CONTROLS]
local CTitle = Instance.new("TextLabel", CustomFrame)
CTitle.Size = UDim2.new(1, 0, 0, 30); CTitle.Text = "CHAT CUSTOMIZER"; CTitle.TextColor3 = Color3.new(1,1,1); CTitle.BackgroundTransparency = 1
local PhraseInput = Instance.new("TextBox", CustomFrame)
PhraseInput.Size = UDim2.new(0.9, 0, 0, 35); PhraseInput.Position = UDim2.new(0.05, 0, 0.2, 0)
PhraseInput.PlaceholderText = "Type new phrase..."; PhraseInput.BackgroundColor3 = Color3.fromRGB(40, 40, 40); PhraseInput.TextColor3 = Color3.new(1,1,1)
Instance.new("UICorner", PhraseInput)
local AddBtn = Instance.new("TextButton", CustomFrame)
AddBtn.Size = UDim2.new(0.42, 0, 0, 35); AddBtn.Position = UDim2.new(0.05, 0, 0.45, 0)
AddBtn.Text = "ADD TEXT"; AddBtn.BackgroundColor3 = Color3.fromRGB(0, 100, 200); AddBtn.TextColor3 = Color3.new(1,1,1)
Instance.new("UICorner", AddBtn)
local ClearBtn = Instance.new("TextButton", CustomFrame)
ClearBtn.Size = UDim2.new(0.42, 0, 0, 35); ClearBtn.Position = UDim2.new(0.53, 0, 0.45, 0)
ClearBtn.Text = "DELETE ALL"; ClearBtn.BackgroundColor3 = Color3.fromRGB(150, 0, 0); ClearBtn.TextColor3 = Color3.new(1,1,1)
Instance.new("UICorner", ClearBtn)
-- [LOGIC & PHRASES]
local myPhrases = {"hi test test 🤖", "Delta Sculpting...", "made by noooooo_986"}
AddBtn.MouseButton1Click:Connect(function()
if PhraseInput.Text ~= "" then
table.insert(myPhrases, PhraseInput.Text)
PhraseInput.Text = ""
AddBtn.Text = "ADDED!"
task.wait(1)
AddBtn.Text = "ADD TEXT"
end
end)
ClearBtn.MouseButton1Click:Connect(function()
myPhrases = {}
ClearBtn.Text = "CLEARED!"
task.wait(1)
ClearBtn.Text = "DELETE ALL"
end)
ToggleBtn.MouseButton1Click:Connect(function()
autoChatEnabled = not autoChatEnabled
ToggleBtn.Text = "AUTO-CHAT: " .. (autoChatEnabled and "ON" or "OFF")
ToggleBtn.BackgroundColor3 = autoChatEnabled and Color3.fromRGB(0, 150, 0) or Color3.fromRGB(150, 0, 0)
end)
SpeedInput:GetPropertyChangedSignal("Text"):Connect(function()
chatDelay = tonumber(SpeedInput.Text) or 10
end)
-- [CHAT LOOP]
local function sendMessage(msg)
pcall(function()
if TextChatService.ChatVersion == Enum.ChatVersion.TextChatService then
local channel = TextChatService.TextChannels:FindFirstChild("RBXGeneral")
if channel then channel:SendAsync(msg) end
else
local remote = ReplicatedStorage:FindFirstChild("SayMessageRequest", true)
if remote then remote:FireServer(msg, "All") end
end
end)
end
task.spawn(function()
while true do
task.wait(chatDelay)
if autoChatEnabled and #myPhrases > 0 then
local playersList = Players:GetPlayers()
local target = playersList[math.random(1, #playersList)]
local chosen = myPhrases[math.random(1, #myPhrases)]
-- Replaces {player} in your custom text with a random name if you want!
local finalMsg = chosen:gsub("{player}", target.Name)
sendMessage(finalMsg)
end
end
end)



Please do not dislike my first time scripting :(
@SaiIsMe ok
Why paid