Autoblock open src
Key Required

Autoblock open src

The Strongest Battlegroundsv1nnzv1nnz 15.5K views 251 executesUpdated Jul 10, 2025
1.3/ 5(8 votes)
2625% Positive
Lua Script•357 lines (11838 chars)
local Players = game:GetService("Players")
local RunService = game:GetService("RunService")
local VirtualInputManager = game:GetService("VirtualInputManager")
local LocalPlayer = Players.LocalPlayer
local PlayerGui = LocalPlayer:WaitForChild("PlayerGui")

local gui = Instance.new("ScreenGui", PlayerGui)
gui.Name = "DetectAnimGui"
gui.ResetOnSpawn = false

local function addCorner(inst, radius)
	local corner = Instance.new("UICorner")
	corner.CornerRadius = UDim.new(0, radius or 6)
	corner.Parent = inst
end

local mainFrame = Instance.new("Frame")
mainFrame.Size = UDim2.new(0, 220, 0, 150)
mainFrame.Position = UDim2.new(0.5, -110, 0.5, -120)
mainFrame.BackgroundColor3 = Color3.fromRGB(40, 40, 40)
mainFrame.Active = true
mainFrame.Draggable = true
mainFrame.Visible = true
addCorner(mainFrame)
mainFrame.Parent = gui

local toggleDetect = Instance.new("TextButton", mainFrame)
toggleDetect.Size = UDim2.new(0.7, 0, 0, 30)
toggleDetect.Position = UDim2.new(0, 0, 0, 0)
toggleDetect.Text = "Auto Block: OFF"
toggleDetect.BackgroundColor3 = Color3.fromRGB(60, 60, 60)
toggleDetect.TextColor3 = Color3.new(1, 1, 1)
toggleDetect.Font = Enum.Font.SourceSansBold
toggleDetect.TextScaled = true
addCorner(toggleDetect)

local openBtn = Instance.new("TextButton", mainFrame)
openBtn.Size = UDim2.new(0.3, 0, 0, 30)
openBtn.Position = UDim2.new(0.7, 0, 0, 0)
openBtn.Text = ">"
openBtn.BackgroundColor3 = Color3.fromRGB(50, 50, 50)
openBtn.TextColor3 = Color3.new(1, 1, 1)
openBtn.Font = Enum.Font.SourceSansBold
openBtn.TextScaled = true
addCorner(openBtn)

local settingFrame = Instance.new("Frame", mainFrame)
settingFrame.Size = UDim2.new(1, 0, 0, 140)
settingFrame.Position = UDim2.new(0, 0, 0, 30)
settingFrame.BackgroundColor3 = Color3.fromRGB(50, 50, 50)
settingFrame.Visible = false
addCorner(settingFrame)
settingFrame.Parent = mainFrame

openBtn.MouseButton1Click:Connect(function()
	settingFrame.Visible = not settingFrame.Visible
	openBtn.Text = settingFrame.Visible and "<" or ">"
end)

local bubble = Instance.new("TextButton", gui)
bubble.Size = UDim2.new(0, 32, 0, 32)
bubble.Position = UDim2.new(0, 5, 0.5, -80)
bubble.Text = "🗿"
bubble.BackgroundColor3 = Color3.fromRGB(60, 60, 60)
bubble.TextColor3 = Color3.new(1, 1, 1)
bubble.Font = Enum.Font.SourceSansBold
bubble.TextScaled = true
bubble.Active = true
bubble.Draggable = true
addCorner(bubble)

bubble.MouseButton1Click:Connect(function()
	mainFrame.Visible = not mainFrame.Visible
end)

local function makeBox(size, pos, placeholder)
	local box = Instance.new("TextBox")
	box.Size = size
	box.Position = pos
	box.PlaceholderText = placeholder
	box.Text = ""
	box.BackgroundColor3 = Color3.fromRGB(70, 70, 70)
	box.TextColor3 = Color3.new(1, 1, 1)
	box.Font = Enum.Font.SourceSans
	box.TextScaled = true
	addCorner(box)
	return box
end

local normalBox = makeBox(UDim2.new(0.45, 0, 0, 25), UDim2.new(0.05, 0, 0, 0), "M1")
local specialBox = makeBox(UDim2.new(0.45, 0, 0, 25), UDim2.new(0.5, 0, 0, 0), "Dash Q")
local skillBox = makeBox(UDim2.new(0.45, 0, 0, 25), UDim2.new(0.05, 0, 0, 30), "Skill")
local skillDelayBox = makeBox(UDim2.new(0.45, 0, 0, 25), UDim2.new(0.5, 0, 0, 30), "Hold Skill")

normalBox.Parent = settingFrame
specialBox.Parent = settingFrame
skillBox.Parent = settingFrame
skillDelayBox.Parent = settingFrame

local normalRange, specialRange, skillRange = 30, 50, 50
local skillDelay = 1.2
skillDelayBox.Text = tostring(skillDelay)

normalBox.FocusLost:Connect(function()
	local v = tonumber(normalBox.Text)
	if v then normalRange = v end
end)
specialBox.FocusLost:Connect(function()
	local v = tonumber(specialBox.Text)
	if v then specialRange = v end
end)
skillBox.FocusLost:Connect(function()
	local v = tonumber(skillBox.Text)
	if v then skillRange = v end
end)
skillDelayBox.FocusLost:Connect(function()
	local v = tonumber(skillDelayBox.Text)
	if v and v > 0 then skillDelay = v end
end)

local function createSquareToggle(name, defaultText, posY)
	local label = Instance.new("TextLabel", mainFrame)
	label.Text = name
	label.Size = UDim2.new(0.7, 0, 0, 20)
	label.Position = UDim2.new(0.05, 0, 0, posY)
	label.BackgroundTransparency = 1
	label.Font = Enum.Font.SourceSans
	label.TextColor3 = Color3.new(1, 1, 1)
	label.TextScaled = true

	local button = Instance.new("TextButton", mainFrame)
	button.Size = UDim2.new(0, 25, 0, 25)
	button.Position = UDim2.new(1, -30, 0, posY)
	button.Text = "OFF"
	button.BackgroundColor3 = Color3.fromRGB(70, 70, 70)
	button.TextColor3 = Color3.new(1, 1, 1)
	button.Font = Enum.Font.SourceSansBold
	button.TextScaled = true
	addCorner(button)

	return button
end

local m1AfterBtn = createSquareToggle("M1 After Block",  "OFF", 80)
local m1CatchBtn = createSquareToggle("M1 Catch", "OFF", 110)

local m1AfterEnabled = false
m1AfterBtn.MouseButton1Click:Connect(function()
	m1AfterEnabled = not m1AfterEnabled
	m1AfterBtn.Text = m1AfterEnabled and "ON" or "OFF"
end)

local m1CatchEnabled = false
m1CatchBtn.MouseButton1Click:Connect(function()
	m1CatchEnabled = not m1CatchEnabled
	m1CatchBtn.Text = m1CatchEnabled and "ON" or "OFF"
end)

local function fireRemote(goal, mobile)
	local args = {{
		Goal = goal,
		Key = (goal == "KeyPress" or goal == "KeyRelease") and Enum.KeyCode.F or nil,
		Mobile = mobile or nil
	}}
	LocalPlayer.Character:WaitForChild("Communicate"):FireServer(unpack(args))
end

local function doAfterBlock(hrp)
	if m1AfterEnabled and hrp and LocalPlayer.Character then
		local root = LocalPlayer.Character:FindFirstChild("HumanoidRootPart")
		if root then
			local dist = (hrp.Position - root.Position).Magnitude
			if dist <= 10 then
				fireRemote("LeftClick", true)
				task.delay(0.3, function()
					local newDist = (hrp.Position - root.Position).Magnitude
					if newDist <= 10 then
						fireRemote("LeftClickRelease", true)
					end
				end)
			end
		end
	end
end

local lastCatch = 0

local comboIDs = {10480793962, 10480796021}
local allIDs = {
	Saitama = {
		10469493270, 10469630950, 10469639222, 10469643643,
		special = 10479335397
	},
	Garou = {
		13532562418, 13532600125, 13532604085, 13294471966,
		special = 10479335397
	},
	Cyborg = {
		13491635433, 13296577783, 13295919399, 13295936866,
		special = 10479335397
	},
	Sonic = {
		13370310513, 13390230973, 13378751717, 13378708199,
		special = 13380255751
	},
	Metal = {
		14004222985, 13997092940, 14001963401, 14136436157,
		special = 13380255751
	},
	Blade = {
		15259161390, 15240216931, 15240176873, 15162694192,
		special = 13380255751
	},
	Tatsumaki = {
		16515503507, 16515520431, 16515448089, 16552234590,
		special = 10479335397
	},
	Dragon = {
		17889458563, 17889461810, 17889471098, 17889290569,
		special = 10479335397
	},
	Tech = {
		123005629431309, 100059874351664, 104895379416342, 134775406437626,
		special = 10479335397
	}
}
local skillIDs = {
	[10468665991] = true, [10466974800] = true, [10471336737] = true, [12510170988] = true,
	[12272894215] = true, [12296882427] = true, [12307656616] = true,
	[101588604872680] = true, [105442749844047] = true, [109617620932970] = true,
	[131820095363270] = true, [135289891173395] = true, [125955606488863] = true,
	[12534735382] = true, [12502664044] = true, [12509505723] = true, [12618271998] = true, [12684390285] = true,
	[13376869471] = true, [13294790250] = true, [13376962659] = true, [13501296372] = true, [13556985475] = true,
	[145162735010] = true, [14046756619] = true, [14299135500] = true, [14351441234] = true,
	[15290930205] = true, [15145462680] = true, [15295895753] = true, [15295336270] = true,
	[16139108718] = true, [16515850153] = true, [16431491215] = true, [16597322398] = true, [16597912086] = true,
	[17799224866] = true, [17838006839] = true, [17857788598] = true, [18179181663] = true,
	[113166426814229] = true, [116753755471636] = true, [116153572280464] = true, [114095570398448] = true, [77509627104305] = true
}

local function checkAnims()
	for _, player in pairs(Players:GetPlayers()) do
		if player ~= LocalPlayer and player.Character and player.Character.Parent == workspace:FindFirstChild("Live") then
			local char = player.Character
			local hrp = char:FindFirstChild("HumanoidRootPart")
			local hum = char:FindFirstChildWhichIsA("Humanoid")
			local myHRP = LocalPlayer.Character and LocalPlayer.Character:FindFirstChild("HumanoidRootPart")
			if hrp and hum and myHRP then
				local dist = (hrp.Position - myHRP.Position).Magnitude
				local animator = hum:FindFirstChildOfClass("Animator")
				if animator then
					local anims = {}
					for _, track in ipairs(animator:GetPlayingAnimationTracks()) do
						local id = tonumber(track.Animation.AnimationId:match("%d+"))
						if id then anims[id] = true end
					end

					local comboCount = 0
					for _, id in ipairs(comboIDs) do
						if anims[id] then comboCount += 1 end
					end

					for _, group in pairs(allIDs) do
						local normalHits, special = 0, anims[group.special]
						for i = 1, 4 do
							if anims[group[i]] then normalHits += 1 end
						end

						if comboCount == 2 and normalHits >= 2 and dist <= specialRange then
							fireRemote("KeyPress") task.wait(0.7)
							fireRemote("KeyRelease")
							break
						elseif normalHits > 0 and dist <= normalRange then
							fireRemote("KeyPress") task.wait(0.15)
							fireRemote("KeyRelease")
							doAfterBlock(hrp)
							break
						elseif special and dist <= specialRange and not m1CatchEnabled then
							fireRemote("KeyPress")
							task.delay(1, function()
								fireRemote("KeyRelease")
							end)
							break
						end
					end

					for animId in pairs(anims) do
						if skillIDs[animId] and dist <= skillRange then
							fireRemote("KeyPress")
							task.delay(skillDelay, function()
								fireRemote("KeyRelease")
							end)
							break
						end
					end
				end
			end
		end
	end
end

local function checkM1Catch()
	if not m1CatchEnabled then return end

	for _, player in ipairs(Players:GetPlayers()) do
		if player ~= LocalPlayer and player.Character and player.Character.Parent == workspace:FindFirstChild("Live") then
			local char = player.Character
			local hrp = char:FindFirstChild("HumanoidRootPart")
			local hum = char:FindFirstChildWhichIsA("Humanoid")
			local myHRP = LocalPlayer.Character and LocalPlayer.Character:FindFirstChild("HumanoidRootPart")
			if hrp and hum and myHRP then
				local dist1 = (hrp.Position - myHRP.Position).Magnitude
				if dist1 <= 30 then
					local animator = hum:FindFirstChildOfClass("Animator")
					if animator then
						for _, track in ipairs(animator:GetPlayingAnimationTracks()) do
							local id = tonumber(track.Animation.AnimationId:match("%d+"))
							if id == 10479335397 then
								task.delay(0.1, function()
									local dist2 = (hrp.Position - myHRP.Position).Magnitude
									if dist2 < dist1 - 0.5 and tick() - lastCatch >= 5 then
										lastCatch = tick()
										fireRemote("LeftClick", true)
										task.delay(0.2, function()
											fireRemote("LeftClickRelease", true)
										end)
										VirtualInputManager:SendKeyEvent(true, Enum.KeyCode.D, false, game)
										VirtualInputManager:SendKeyEvent(true, Enum.KeyCode.Q, false, game)
										task.delay(1, function()
											VirtualInputManager:SendKeyEvent(false, Enum.KeyCode.Q, false, game)
											VirtualInputManager:SendKeyEvent(false, Enum.KeyCode.D, false, game)
										end)
									end
								end)
								return
							end
						end
					end
				end
			end
		end
	end
end

local detectActive = false
toggleDetect.MouseButton1Click:Connect(function()
	detectActive = not detectActive
	toggleDetect.Text = detectActive and "Auto Block: ON" or "Auto Block: OFF"
	toggleDetect.BackgroundColor3 = detectActive and Color3.fromRGB(0, 170, 0) or Color3.fromRGB(60, 60, 60)
end)

RunService.Heartbeat:Connect(function()
	if detectActive then
		pcall(checkAnims)
		pcall(checkM1Catch)
	end
end)

Features & Information

open source :v (all of my {post} scripts is skidded btw)
#sigma#huzz

Community Comments (9)

zxcvzxcvJul 10, 2025

woahhh

Scripter_BloxerScripter_BloxerJul 10, 2025

Chatgpt

semajam372semajam372Jul 23, 2025

This * *

v1nnzv1nnzJul 23, 2025

@semajam372 this what

semajam372semajam372Jul 23, 2025

@sleeper this s fire

v1nnzv1nnzJul 24, 2025

it's old

iplaywarzone5iplaywarzone5Aug 5, 2025

lights out *es

lyneeiixlyneeiixAug 11, 2025

Sleeper, dm me on discord, my user is : iamontopofu Yes, I made that user name 4 years ago and I still haven't changed it. Anyways, Can you teach me how to do ts?

RonneyRonneyDec 31, 2025

Chatgpt

More Scripts for The Strongest Battlegrounds