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)