Shiva spam v3 upd
Key RequiredUniversal

Shiva spam v3 upd

Universal Scriptreyanshroblox1reyanshroblox1 2.7K views 81 executesUpdated Apr 16, 2026
0.0/ 5(2 votes)
020% Positive
Lua Scriptβ€’421 lines (10486 chars)
-- [[ πŸ’Ž S1R SHIVA MINI HUB - FINAL V22 STABLE ☠️ FULL FINAL ]] --

local LP = game:GetService("Players").LocalPlayer
local UIS = game:GetService("UserInputService")
local RS = game:GetService("ReplicatedStorage")
local TS = game:GetService("TweenService")
local TextChatService = game:GetService("TextChatService")

-- 🎡 MUSIC
local music = Instance.new("Sound", workspace)
music.SoundId = "rbxassetid://95903202203393"
music.Volume = 2
music.Looped = true
music:Play()

-- GUI
local SG = Instance.new("ScreenGui", LP.PlayerGui)
SG.ResetOnSpawn = false

-- πŸ’Ž INTRO
local Intro = Instance.new("Frame", SG)
Intro.Size = UDim2.new(0,0,0,0)
Intro.Position = UDim2.new(0.5,0,0.5,0)
Intro.AnchorPoint = Vector2.new(0.5,0.5)
Intro.BackgroundColor3 = Color3.fromRGB(255,255,255)
Intro.BackgroundTransparency = 0.4
Intro.Rotation = 45

Instance.new("UIStroke", Intro).Thickness = 4

local Holder = Instance.new("Frame", Intro)
Holder.Size = UDim2.new(1,0,1,0)
Holder.BackgroundTransparency = 1
Holder.Rotation = -45

local IntroText = Instance.new("TextLabel", Holder)
IntroText.Size = UDim2.new(1,0,1,0)
IntroText.BackgroundTransparency = 1
IntroText.TextScaled = true
IntroText.TextColor3 = Color3.new(0,0,0)
IntroText.Text = "SH SPAM 2 VERSION\nCREDIT πŸ’³-ALONE_WX5🧿"

TS:Create(Intro, TweenInfo.new(0.5, Enum.EasingStyle.Back), {
	Size = UDim2.new(0,300,0,300)
}):Play()

task.delay(2.5, function()
	TS:Create(Intro, TweenInfo.new(0.4), {
		Size = UDim2.new(0,0,0,0),
		BackgroundTransparency = 1
	}):Play()
	task.wait(0.4)
	Intro:Destroy()
end)

-- πŸ’Ž ANTITAG
local AntiTags = {"discord","youtube","roblox","free","robux","admin","mod","exploit","hack"}
local function HasTag(t)
	t = string.lower(t)
	for _,v in pairs(AntiTags) do
		if t:find(v,1,true) then return true end
	end
	return false
end

-- πŸ’Ž MAIN
local Main = Instance.new("Frame", SG)
Main.Size = UDim2.new(0,0,0,0)
Main.Position = UDim2.new(0.5,0,0.45,0)
Main.AnchorPoint = Vector2.new(0.5,0.5)
Main.BackgroundColor3 = Color3.fromRGB(20,20,20)
Main.BackgroundTransparency = 1
Main.Rotation = 45
Main.Visible = false

local Stroke = Instance.new("UIStroke", Main)
Stroke.Thickness = 8

task.spawn(function()
	while true do
		for i=0,1,0.05 do Stroke.Transparency=i task.wait(0.03) end
		for i=1,0,-0.05 do Stroke.Transparency=i task.wait(0.03) end
	end
end)

-- πŸ’Ž PAGES
local Page1 = Instance.new("Frame", Main)
Page1.Size = UDim2.new(0.9,0,0.9,0)
Page1.Position = UDim2.new(0.05,0,0.05,0)
Page1.BackgroundTransparency = 1
Page1.Rotation = -45

local Page2 = Page1:Clone()
Page2.Parent = Main
Page2.Visible = false

-- TITLE
local Title = Instance.new("TextLabel", Page1)
Title.Size = UDim2.new(1,0,0,40)
Title.Text = "S1R SHIVA HUB"
Title.TextScaled = true
Title.BackgroundTransparency = 1
Title.TextColor3 = Color3.new(1,1,1)

-- πŸ”” POPUP
local Popup = Instance.new("TextLabel", SG)
Popup.Size = UDim2.new(0,200,0,35)
Popup.Position = UDim2.new(0.5,0,0,-40)
Popup.AnchorPoint = Vector2.new(0.5,0)
Popup.BackgroundColor3 = Color3.fromRGB(0,0,0)
Popup.TextColor3 = Color3.new(1,1,1)
Popup.TextScaled = true
Popup.BackgroundTransparency = 0.3
Popup.Visible = false
Instance.new("UICorner", Popup)

local function Notify(t)
	Title.Text = t
	Popup.Text = t
	Popup.Visible = true

	TS:Create(Popup, TweenInfo.new(0.3), {
		Position = UDim2.new(0.5,0,0,10)
	}):Play()

	task.delay(1.5, function()
		TS:Create(Popup, TweenInfo.new(0.3), {
			Position = UDim2.new(0.5,0,0,-40)
		}):Play()
		task.wait(0.3)
		Popup.Visible = false
	end)

	task.delay(1.5, function()
		Title.Text = "S1R SHIVA HUB"
	end)
end

-- BUTTON
local function Btn(p,txt,y)
	local b=Instance.new("TextButton",p)
	b.Size=UDim2.new(0.9,0,0,35)
	b.Position=UDim2.new(0.05,0,0,y)
	b.Text=txt
	b.TextScaled=true
	b.BackgroundTransparency=0.6
	b.TextColor3=Color3.new(1,1,1)
	Instance.new("UICorner",b)
	return b
end

-- PAGE SWITCH
local Next = Btn(Page1,">",5)
Next.Size=UDim2.new(0,40,0,30)
Next.Position=UDim2.new(1,-45,0,5)

local Back = Btn(Page2,"<",5)
Back.Size=UDim2.new(0,40,0,30)
Back.Position=UDim2.new(0,5,0,5)

Next.MouseButton1Click:Connect(function()
	Page1.Visible=false
	Page2.Visible=true
	Notify("PAGE 2")
end)

Back.MouseButton1Click:Connect(function()
	Page2.Visible=false
	Page1.Visible=true
	Notify("PAGE 1")
end)

-- PAGE1 BUTTONS
local Start=Btn(Page1,"πŸš€ START",50)
local Stop=Btn(Page1,"⏹ STOP",95)
local SpeedBtn=Btn(Page1,"⚑ SPEED:1",140)
local ThemeBtn=Btn(Page1,"🎨 THEME",185)
local AntiTagBtn=Btn(Page1,"πŸ›‘οΈ ANTI-TAG:ON",230)

-- INPUTS
local PatternBox=Instance.new("TextBox",Page1)
PatternBox.Size=UDim2.new(0.9,0,0,35)
PatternBox.Position=UDim2.new(0.05,0,0,270)
PatternBox.PlaceholderText="PATTERN"
PatternBox.TextScaled=true
PatternBox.BackgroundTransparency=0.7

local TargetBox=Instance.new("TextBox",Page1)
TargetBox.Size=UDim2.new(0.9,0,0,35)
TargetBox.Position=UDim2.new(0.05,0,0,310)
TargetBox.PlaceholderText="TARGET"
TargetBox.TextScaled=true
TargetBox.BackgroundTransparency=0.7

-- πŸ’₯ NORMAL SPAM
_G.SPAM=false
local speed=1
local emojis={"πŸ”₯","πŸ’€","😈","⚑","πŸ‘Ώ","πŸ’£"}

function StartSpam()
	if _G.SPAM then return end
	_G.SPAM=true

	task.spawn(function()
		while _G.SPAM do
			local target = TargetBox.Text ~= "" and TargetBox.Text or "NOOB"
			local patternInput = PatternBox.Text ~= "" and PatternBox.Text or "@"

			local endMsg = "("..target..")TMKX CUD "..emojis[math.random(#emojis)]
			local remaining = 200 - #endMsg

			if remaining > 0 then
				local repeatCount = math.floor(remaining/#patternInput)
				local pattern = string.rep(patternInput, repeatCount)
				pattern = pattern:sub(1, remaining)
				Send(pattern..endMsg)
			else
				Send(endMsg:sub(1,200))
			end

			task.wait(speed)
		end
	end)
end

function StopSpam()
	_G.SPAM=false
end

Start.MouseButton1Click:Connect(StartSpam)
Stop.MouseButton1Click:Connect(StopSpam)

-- SPEED
SpeedBtn.MouseButton1Click:Connect(function()
	if speed==1 then speed=0.5 elseif speed==0.5 then speed=0.2 else speed=1 end
	SpeedBtn.Text="⚑ SPEED:"..speed
end)

-- THEME
local themes={Color3.fromRGB(20,20,20),Color3.fromRGB(255,0,0),Color3.fromRGB(0,255,0)}
local ti=1
ThemeBtn.MouseButton1Click:Connect(function()
	ti=ti%#themes+1
	Main.BackgroundColor3=themes[ti]
	Notify("THEME CHANGED")
end)

-- ANTITAG
local anti=true
AntiTagBtn.MouseButton1Click:Connect(function()
	anti=not anti
	AntiTagBtn.Text="πŸ›‘οΈ ANTI-TAG:"..(anti and "ON" or "OFF")
end)

-- SEND
function Send(m)
	if anti and HasTag(m) then return end

	if TextChatService.ChatVersion==Enum.ChatVersion.TextChatService then
		local c=TextChatService.TextChannels:FindFirstChild("RBXGeneral")
		if c then pcall(function() c:SendAsync(m) end) end
	else
		local r=RS:FindFirstChild("DefaultChatSystemChatEvents")
		if r then pcall(function() r.SayMessageRequest:FireServer(m,"All") end) end
	end
end

-- πŸ’Ž PAGE 2 CUSTOM SPAM
local Title2=Instance.new("TextLabel",Page2)
Title2.Size=UDim2.new(1,0,0,40)
Title2.Text="CUSTOM SPAM"
Title2.TextScaled=true
Title2.BackgroundTransparency=1
Title2.TextColor3=Color3.new(1,1,1)

local CustomMsg=Instance.new("TextBox",Page2)
CustomMsg.Size=UDim2.new(0.9,0,0,40)
CustomMsg.Position=UDim2.new(0.05,0,0,60)
CustomMsg.PlaceholderText="ENTER MESSAGE"
CustomMsg.TextScaled=true
CustomMsg.BackgroundTransparency=0.7

local CustomDelay=Instance.new("TextBox",Page2)
CustomDelay.Size=UDim2.new(0.9,0,0,40)
CustomDelay.Position=UDim2.new(0.05,0,0,110)
CustomDelay.PlaceholderText="DELAY"
CustomDelay.TextScaled=true
CustomDelay.BackgroundTransparency=0.7

local CustomStart=Btn(Page2,"πŸš€ CUSTOM START",170)
local CustomStop=Btn(Page2,"⏹ CUSTOM STOP",215)

_G.CUSTOMSPAM=false

CustomStart.MouseButton1Click:Connect(function()
	if _G.CUSTOMSPAM then return end
	_G.CUSTOMSPAM=true

	local msg = CustomMsg.Text ~= "" and CustomMsg.Text or "HELLO"
	local delay = tonumber(CustomDelay.Text) or 1

	task.spawn(function()
		while _G.CUSTOMSPAM do
			Send(msg:sub(1,200))
			task.wait(delay)
		end
	end)

	Notify("CUSTOM STARTED")
end)

CustomStop.MouseButton1Click:Connect(function()
	_G.CUSTOMSPAM=false
	Notify("CUSTOM STOPPED")
end)

-- πŸ’Ž ADMIN CMDS
local ADMIN="ALONE_WX5"
local spinning=false
local dancing=false

local function StartSpin()
	if spinning then return end
	spinning=true
	task.spawn(function()
		while spinning do
			if LP.Character and LP.Character:FindFirstChild("HumanoidRootPart") then
				LP.Character.HumanoidRootPart.CFrame*=CFrame.Angles(0,math.rad(25),0)
			end
			task.wait(0.03)
		end
	end)
end

local function StopSpin() spinning=false end

local function StartDance()
	if dancing then return end
	dancing=true
	task.spawn(function()
		while dancing do
			if LP.Character and LP.Character:FindFirstChild("Humanoid") then
				local h=LP.Character.Humanoid
				h:Move(Vector3.new(math.random(-1,1),0,math.random(-1,1)))
				h.Jump=true
			end
			task.wait(0.5)
		end
	end)
end

local function StopDance() dancing=false end

local function OnMessage(msg,player)
	if player~=ADMIN then return end
	local raw=msg
	msg=string.lower(msg)

	if msg:sub(1,5)=="!say " then
		Send(raw:sub(6))
	elseif msg=="!start spam" then
		StartSpam()
	elseif msg=="!stop spam" then
		StopSpam()
	elseif msg:sub(1,12)=="!start spam " then
		TargetBox.Text=raw:sub(13)
		StartSpam()
	elseif msg=="!reply" then
		Send("USE SH SPAM SCRIPT BESTπŸ’³πŸ§Ώβœ…")
	elseif msg=="!dance" then
		StartDance()
	elseif msg=="!stop dance" then
		StopDance()
	elseif msg=="!spin" then
		StartSpin()
	elseif msg=="!stop spin" then
		StopSpin()
	end
end

if TextChatService.ChatVersion==Enum.ChatVersion.TextChatService then
	local ch=TextChatService.TextChannels:FindFirstChild("RBXGeneral")
	if ch then
		ch.MessageReceived:Connect(function(d)
			if not d.TextSource then return end
			local p=game.Players:GetPlayerByUserId(d.TextSource.UserId)
			if p then OnMessage(d.Text,p.Name) end
		end)
	end
end

-- πŸ’Ž OPEN BUTTON
local S=Instance.new("TextButton",SG)
S.Size=UDim2.new(0,65,0,65)
S.Position=UDim2.new(0,20,1,-110)
S.Text="S"
S.TextScaled=true
S.BackgroundColor3=Color3.fromRGB(0,0,0)
S.TextColor3=Color3.new(1,1,1)
Instance.new("UICorner",S).CornerRadius=UDim.new(1,0)

local open=false
S.MouseButton1Click:Connect(function()
	if not open then
		Main.Visible=true
		TS:Create(Main,TweenInfo.new(0.4),{
			Size=UDim2.new(0,360,0,360),
			BackgroundTransparency=0.2
		}):Play()
	else
		TS:Create(Main,TweenInfo.new(0.3),{
			Size=UDim2.new(0,0,0,0),
			BackgroundTransparency=1
		}):Play()
		task.wait(0.3)
		Main.Visible=false
	end
	open=not open
end)

Notify("πŸ’Ž FINAL V22 LOADED")

Features & Information

Hm

Community Comments (3)

n96ovpgn96ovpgApr 16, 2026

tres

tadmratestadmratesApr 17, 2026

How is it work?

SURVIVALGOONESYSURVIVALGOONESYApr 17, 2026

sigma

More Scripts for Universal Scripts