
Key Required VerifiedUniversal

--[[
SAI V2 - DYNAMIC MASTER UPDATE
"TGR RVX DGN DIVINE PNX VN ON TOP"
PERSONALIZED FOR DELTA
]]
repeat task.wait() until game:IsLoaded()
local lp = game:GetService("Players").LocalPlayer
local tcs = game:GetService("TextChatService")
local rs = game:GetService("ReplicatedStorage")
local uis = game:GetService("UserInputService")
local cg = game:GetService("CoreGui")
local ts = game:GetService("TweenService")
local run = game:GetService("RunService")
local looping = false
local safeMode = false
local pIdx = 1
local patternIdx = 1
local customPatterns = {
"_____",
"$_$",
"&_&",
"(?_?_)",
"(/\\_ /\\_)",
"(#_#_)",
"(@_@)"
}
-- 1. UTILS
local function sendGlobal(txt)
pcall(function()
if tcs.ChatVersion == Enum.ChatVersion.TextChatService then
local channel = tcs:FindFirstChild("RBXGeneral", true)
if channel then channel:SendAsync(txt) end
else
rs.DefaultChatSystemChatEvents.SayMessageRequest:FireServer(txt, "All")
end
end)
end
local function makeDraggable(gui, dragPart)
local dragging, dragInput, dragStart, startPos
dragPart.InputBegan:Connect(function(input)
if input.UserInputType == Enum.UserInputType.MouseButton1 or input.UserInputType == Enum.UserInputType.Touch then
dragging = true; dragStart = input.Position; startPos = gui.Position
end
end)
uis.InputChanged:Connect(function(input)
if input.UserInputType == Enum.UserInputType.MouseMovement or input.UserInputType == Enum.UserInputType.Touch then dragInput = input end
end)
run.Heartbeat:Connect(function()
if dragging and dragInput then
local delta = dragInput.Position - dragStart
gui.Position = UDim2.new(startPos.X.Scale, startPos.X.Offset + delta.X, startPos.Y.Scale, startPos.Y.Offset + delta.Y)
end
end)
uis.InputEnded:Connect(function(input)
if input.UserInputType == Enum.UserInputType.MouseButton1 or input.UserInputType == Enum.UserInputType.Touch then dragging = false end
end)
end
-- 2. GUI CONSTRUCTION
if cg:FindFirstChild("SAI_V2_FINAL_MASTER") then cg:FindFirstChild("SAI_V2_FINAL_MASTER"):Destroy() end
local sg = Instance.new("ScreenGui", cg); sg.Name = "SAI_V2_FINAL_MASTER"
local main = Instance.new("Frame", sg)
main.Size = UDim2.new(0, 260, 0, 380); main.Position = UDim2.new(0.5, -130, 0.5, -190)
main.BackgroundColor3 = Color3.fromRGB(10, 10, 12); main.Visible = false; main.ClipsDescendants = true
local mainStroke = Instance.new("UIStroke", main); mainStroke.Thickness = 2; mainStroke.Color = Color3.fromRGB(0, 150, 255)
Instance.new("UICorner", main).CornerRadius = UDim.new(0, 10)
makeDraggable(main, main)
-- Tab Navigation
local tabF = Instance.new("Frame", main); tabF.Size = UDim2.new(1,0,0,35); tabF.BackgroundColor3 = Color3.fromRGB(20, 20, 25)
local btnSpam = Instance.new("TextButton", tabF); btnSpam.Size = UDim2.new(0.5,0,1,0); btnSpam.Text = "SPAM"; btnSpam.TextColor3 = Color3.new(1,1,1); btnSpam.BackgroundTransparency = 1; btnSpam.Font = "GothamBold"
local btnCred = Instance.new("TextButton", tabF); btnCred.Size = UDim2.new(0.5,0,1,0); btnCred.Position = UDim2.new(0.5,0,0,0); btnCred.Text = "CREDITS"; btnCred.TextColor3 = Color3.new(1,1,1); btnCred.BackgroundTransparency = 1; btnCred.Font = "GothamBold"
local spamP = Instance.new("Frame", main); spamP.Size = UDim2.new(1,0,0.9,0); spamP.Position = UDim2.new(0,0,0.1,0); spamP.BackgroundTransparency = 1
local credP = Instance.new("ScrollingFrame", main); credP.Visible = false; credP.Size = spamP.Size; credP.Position = spamP.Position; credP.BackgroundTransparency = 1; credP.ScrollBarThickness = 2; credP.CanvasSize = UDim2.new(0,0,1.2,0)
btnSpam.MouseButton1Click:Connect(function() spamP.Visible = true; credP.Visible = false end)
btnCred.MouseButton1Click:Connect(function() spamP.Visible = false; credP.Visible = true end)
-- UPDATED CREDITS SECTION
local crText = Instance.new("TextLabel", credP)
crText.Size = UDim2.new(0.9, 0, 0, 320); crText.Position = UDim2.new(0.05, 0, 0.05, 0); crText.BackgroundTransparency = 1; crText.TextColor3 = Color3.new(1, 1, 1); crText.TextWrapped = true; crText.Font = "GothamBold"; crText.TextSize = 14; crText.TextYAlignment = 0; crText.TextXAlignment = 0
crText.Text = "SCRIPT BY SAI π\nUSERNAME: Jack_fine5\n\nIf you want to join my clan DGN(Dragon) put DGN in ur name and send me a friend request I will give ur rankπ\n\nthx for using my script and if you want more scripts let me know:)\n\nPeace βπ»"
-- SPAM ELEMENTS
local nIn = Instance.new("TextBox", spamP); nIn.Size = UDim2.new(0.9,0,0,30); nIn.Position = UDim2.new(0.05,0,0.05,0); nIn.Text = "TARGET"; nIn.BackgroundColor3 = Color3.fromRGB(25,25,30); nIn.TextColor3 = Color3.new(1,1,1); Instance.new("UICorner", nIn)
local dIn = Instance.new("TextBox", spamP); dIn.Size = UDim2.new(0.9,0,0,30); dIn.Position = UDim2.new(0.05,0,0.16,0); dIn.Text = "1.4"; dIn.BackgroundColor3 = Color3.fromRGB(25,25,30); dIn.TextColor3 = Color3.new(1,1,1); Instance.new("UICorner", dIn)
local safeBtn = Instance.new("TextButton", spamP); safeBtn.Size = UDim2.new(0.9,0,0,30); safeBtn.Position = UDim2.new(0.05,0,0.28,0); safeBtn.Text = "Safe Mode: OFF"; safeBtn.BackgroundColor3 = Color3.fromRGB(30,30,35); safeBtn.TextColor3 = Color3.new(1,1,1); Instance.new("UICorner", safeBtn)
local startB = Instance.new("TextButton", spamP); startB.Size = UDim2.new(0.9,0,0,35); startB.Position = UDim2.new(0.05,0,0.45,0); startB.Text = "START SPAM"; startB.BackgroundColor3 = Color3.fromRGB(0, 150, 70); startB.TextColor3 = Color3.new(1,1,1); Instance.new("UICorner", startB)
local stopB = Instance.new("TextButton", spamP); stopB.Size = UDim2.new(0.9,0,0,35); stopB.Position = UDim2.new(0.05,0,0.58,0); stopB.Text = "STOP SPAM"; stopB.BackgroundColor3 = Color3.fromRGB(180, 0, 0); stopB.TextColor3 = Color3.new(1,1,1); Instance.new("UICorner", stopB)
-- 3. S-BUTTON & TRAIL ORBS
local sHold = Instance.new("Frame", sg); sHold.Size = UDim2.new(0, 65, 0, 65); sHold.Position = UDim2.new(0, 30, 0.5, -30); sHold.BackgroundTransparency = 1
local sBtn = Instance.new("TextButton", sHold); sBtn.Size = UDim2.new(0.7,0,0.7,0); sBtn.Position = UDim2.new(0.15,0,0.15,0); sBtn.BackgroundColor3 = Color3.new(0,0,0); sBtn.Text = "S"; sBtn.TextColor3 = Color3.new(1,1,1); sBtn.Font = "FredokaOne"; sBtn.TextSize = 24; Instance.new("UICorner", sBtn).CornerRadius = UDim.new(1,0); Instance.new("UIStroke", sBtn).Color = Color3.fromRGB(0, 150, 255)
makeDraggable(sHold, sBtn)
local function createOrb(color)
local o = Instance.new("Frame", sHold); o.Size = UDim2.new(0,10,0,10); o.BackgroundColor3 = color; Instance.new("UICorner", o).CornerRadius = UDim.new(1,0)
task.spawn(function()
while task.wait(0.05) do
local trail = Instance.new("Frame", sg); trail.Size = o.Size; trail.BackgroundColor3 = o.BackgroundColor3; trail.Position = o.AbsolutePosition + Vector2.new(5,5); trail.BorderSizePixel = 0; Instance.new("UICorner", trail).CornerRadius = UDim.new(1,0)
ts:Create(trail, TweenInfo.new(0.4), {Size = UDim2.new(0,0,0,0), BackgroundTransparency = 1}):Play()
task.wait(0.4); trail:Destroy()
end
end)
return o
end
local o1, o2 = createOrb(Color3.fromRGB(0, 180, 255)), createOrb(Color3.fromRGB(0, 100, 255))
run.Heartbeat:Connect(function()
local r = tick() * 4
o1.Position = UDim2.new(0.5 + math.cos(r)*1.1, -5, 0.5 + math.sin(r)*1.1, -5)
o2.Position = UDim2.new(0.5 - math.cos(r)*1.1, -5, 0.5 - math.sin(r)*1.1, -5)
end)
-- 4. SPAM ENGINE
local phrases = {
"TMKX MEH INDIA π", "TMKX MEH KERALA π", "TMKX MEH ATLANTIC OCEAN π",
"PER KHOL πβ‘", "PAPA KO H8 WHYπ?", "BHEEK MANG 6KEEπβπ»",
"TERI MAA KA REP AAJ KIYA H MENEπ₯", "ROO KYU RA Hπ€", "ITNI JALDI BHAAG GYAπ₯΄",
"SAI V2 USE KAR π₯±", "GOP GOP KAR π", "PAPA AA GYE H π€ͺπ€",
"PAPA SE PANGA NHI MUNNA π€«", "TMKX MEH PASINA π", "BAAP KO H8 DEGA π€£",
"DADDY SAI RUNS YOU π", "SCRIPT BY SAI πβ‘"
}
safeBtn.MouseButton1Click:Connect(function()
safeMode = not safeMode
safeBtn.Text = safeMode and "Safe Mode: ON" or "Safe Mode: OFF"
safeBtn.TextColor3 = safeMode and Color3.new(0,1,0) or Color3.new(1,1,1)
end)
startB.MouseButton1Click:Connect(function() looping = true end)
stopB.MouseButton1Click:Connect(function() looping = false end)
task.spawn(function()
while true do
if looping then
local target = nIn.Text; local phrase = phrases[pIdx]; local pat = customPatterns[patternIdx]
local maxLen = 198
local currentLen = #target + #phrase + 2
local available = maxLen - currentLen
local finalPattern = string.sub(string.rep(pat, 50), 1, math.max(available, 5))
sendGlobal(finalPattern .. " " .. target .. " " .. phrase)
pIdx = (pIdx >= #phrases) and 1 or (pIdx + 1)
patternIdx = (patternIdx >= #customPatterns) and 1 or (patternIdx + 1)
local waitTime = tonumber(dIn.Text) or 1.4
if safeMode then waitTime = waitTime + (math.random(-2, 2)/10) end
task.wait(math.max(waitTime, 0.1))
else task.wait(0.5) end
end
end)
-- 5. UPDATED INTRO & STARTUP (____ PATTERN)
task.spawn(function()
local startupPattern = string.rep("____", 40) -- Creates long pattern
sendGlobal(startupPattern .. " SAI V2 LOADED πβπ»")
local iS = Instance.new("ScreenGui", cg); local box = Instance.new("Frame", iS); box.Size = UDim2.new(0, 400, 0, 150); box.Position = UDim2.new(0.5, -200, 0.45, -75); box.BackgroundColor3 = Color3.new(0,0,0); box.BackgroundTransparency = 0.2; Instance.new("UIStroke", box).Color = Color3.new(0, 0.6, 1)
local l = Instance.new("TextLabel", box); l.Size = UDim2.new(1,0,1,0); l.BackgroundTransparency = 1; l.TextColor3 = Color3.new(1,1,1); l.Font = "Code"; l.TextSize = 18; l.Text = ""; l.TextWrapped = true
local function typeW(str)
l.Text = ""
for i = 1, #str do l.Text = str:sub(1,i); task.wait(0.03) end
task.wait(1.5)
local t = ts:Create(l, TweenInfo.new(0.3), {TextTransparency = 1})
t:Play()
t.Completed:Wait()
l.TextTransparency = 0
end
typeW("SAI V2 LOADED πβπ»")
typeW("TGR RVX DGN DIVINE PNX VN ON TOP π€«π")
iS:Destroy(); main.Visible = true
end)
sBtn.MouseButton1Click:Connect(function() main.Visible = not main.Visible end)No comments yet for this script.


