Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- -- Auto Parry Script FIXED - NO COOLDOWN & ENHANCED LIQUID GLASS GUI
- -- Services
- local Players = game:GetService("Players")
- local UserInputService = game:GetService("UserInputService")
- local RunService = game:GetService("RunService")
- local TweenService = game:GetService("TweenService")
- local VirtualInput = game:GetService("VirtualInputManager")
- -- Variables
- local player = Players.LocalPlayer
- local soundDetection = false
- local blockDuration = 0.2 -- 200ms block duration
- local blocksCount = 0
- local successfulBlocks = 0
- local lastDetectedSound = ""
- -- GUI References
- local screenGui, statusValue, blocksLabel, successLabel
- -- Wait for player to be ready
- while not player.Character do
- wait(1)
- end
- -- 1. ENHANCED LIQUID GLASS GUI
- local function CreateGUI()
- screenGui = Instance.new("ScreenGui")
- screenGui.Name = "AutoParryGUI"
- screenGui.ZIndexBehavior = Enum.ZIndexBehavior.Sibling
- screenGui.ResetOnSpawn = false
- screenGui.Parent = game:GetService("CoreGui")
- -- Main Container
- local mainFrame = Instance.new("Frame")
- mainFrame.Size = UDim2.new(0, 320, 0, 200)
- mainFrame.Position = UDim2.new(1, -340, 0, 20)
- mainFrame.BackgroundColor3 = Color3.new(0.1, 0.1, 0.2)
- mainFrame.BackgroundTransparency = 0.3
- mainFrame.BorderSizePixel = 0
- -- Liquid Glass Effect 1 - Base Gradient
- local gradient1 = Instance.new("UIGradient")
- gradient1.Rotation = 45
- gradient1.Color = ColorSequence.new({
- ColorSequenceKeypoint.new(0, Color3.new(0.1, 0.1, 0.3)),
- ColorSequenceKeypoint.new(0.3, Color3.new(0.2, 0.1, 0.4)),
- ColorSequenceKeypoint.new(0.7, Color3.new(0.15, 0.05, 0.35)),
- ColorSequenceKeypoint.new(1, Color3.new(0.1, 0.1, 0.3))
- })
- gradient1.Transparency = NumberSequence.new(0.4)
- gradient1.Parent = mainFrame
- -- Liquid Glass Effect 2 - Overlay
- local glassOverlay = Instance.new("Frame")
- glassOverlay.Size = UDim2.new(1, 0, 1, 0)
- glassOverlay.BackgroundColor3 = Color3.new(1, 1, 1)
- glassOverlay.BackgroundTransparency = 0.92
- glassOverlay.BorderSizePixel = 0
- local overlayGradient = Instance.new("UIGradient")
- overlayGradient.Rotation = -30
- overlayGradient.Color = ColorSequence.new({
- ColorSequenceKeypoint.new(0, Color3.new(0.8, 0.8, 1)),
- ColorSequenceKeypoint.new(0.5, Color3.new(0.9, 0.9, 1)),
- ColorSequenceKeypoint.new(1, Color3.new(0.8, 0.8, 1))
- })
- overlayGradient.Parent = glassOverlay
- -- Corner
- local corner = Instance.new("UICorner")
- corner.CornerRadius = UDim.new(0, 15)
- corner.Parent = mainFrame
- -- Glass Stroke
- local stroke = Instance.new("UIStroke")
- stroke.Color = Color3.new(0.6, 0.6, 0.9)
- stroke.Thickness = 2
- stroke.Transparency = 0.2
- stroke.Parent = mainFrame
- -- Inner Glow
- local innerGlow = Instance.new("UIStroke")
- innerGlow.Color = Color3.new(1, 1, 1)
- innerGlow.Thickness = 1
- innerGlow.Transparency = 0.8
- innerGlow.Parent = mainFrame
- -- Title
- local title = Instance.new("TextLabel")
- title.Size = UDim2.new(1, 0, 0, 40)
- title.Position = UDim2.new(0, 0, 0, 10)
- title.BackgroundTransparency = 1
- title.Text = "AUTO BLOCK ULTRA"
- title.TextColor3 = Color3.new(1, 1, 1)
- title.TextSize = 18
- title.Font = Enum.Font.SourceSansBold
- title.TextStrokeTransparency = 0.8
- title.TextStrokeColor3 = Color3.new(0, 0, 0)
- title.Parent = mainFrame
- -- Status
- local statusContainer = Instance.new("Frame")
- statusContainer.Size = UDim2.new(1, -20, 0, 25)
- statusContainer.Position = UDim2.new(0, 10, 0, 45)
- statusContainer.BackgroundColor3 = Color3.new(0.2, 0.2, 0.3)
- statusContainer.BackgroundTransparency = 0.7
- statusContainer.BorderSizePixel = 0
- local statusCorner = Instance.new("UICorner")
- statusCorner.CornerRadius = UDim.new(0, 8)
- statusCorner.Parent = statusContainer
- statusValue = Instance.new("TextLabel")
- statusValue.Size = UDim2.new(1, 0, 1, 0)
- statusValue.BackgroundTransparency = 1
- statusValue.Text = "STATUS: OFF"
- statusValue.TextColor3 = Color3.new(1, 0.3, 0.3)
- statusValue.TextSize = 14
- statusValue.Font = Enum.Font.SourceSansSemibold
- statusValue.Name = "StatusValue"
- statusValue.Parent = statusContainer
- statusContainer.Parent = mainFrame
- -- Toggle Button
- local toggleButton = Instance.new("TextButton")
- toggleButton.Size = UDim2.new(1, -20, 0, 45)
- toggleButton.Position = UDim2.new(0, 10, 0, 80)
- toggleButton.BackgroundColor3 = Color3.new(0.3, 0.2, 0.5)
- toggleButton.BackgroundTransparency = 0.4
- toggleButton.AutoButtonColor = false
- toggleButton.Text = ""
- toggleButton.BorderSizePixel = 0
- local toggleCorner = Instance.new("UICorner")
- toggleCorner.CornerRadius = UDim.new(0, 10)
- toggleCorner.Parent = toggleButton
- -- Button Gradient
- local buttonGradient = Instance.new("UIGradient")
- buttonGradient.Color = ColorSequence.new({
- ColorSequenceKeypoint.new(0, Color3.new(0.4, 0.3, 0.7)),
- ColorSequenceKeypoint.new(1, Color3.new(0.5, 0.4, 0.8))
- })
- buttonGradient.Parent = toggleButton
- local toggleStroke = Instance.new("UIStroke")
- toggleStroke.Color = Color3.new(0.8, 0.7, 1)
- toggleStroke.Thickness = 1.5
- toggleStroke.Transparency = 0.3
- toggleStroke.Parent = toggleButton
- local buttonText = Instance.new("TextLabel")
- buttonText.Size = UDim2.new(1, 0, 1, 0)
- buttonText.BackgroundTransparency = 1
- buttonText.Text = "ACTIVATE"
- buttonText.TextColor3 = Color3.new(1, 1, 1)
- buttonText.TextSize = 16
- buttonText.Font = Enum.Font.SourceSansBold
- buttonText.Name = "ButtonText"
- buttonText.Parent = toggleButton
- -- SMOOTH HOVER ANIMATIONS
- local hoverTweenInfo = TweenInfo.new(0.3, Enum.EasingStyle.Quad, Enum.EasingDirection.Out)
- toggleButton.MouseEnter:Connect(function()
- local hoverTween = TweenService:Create(toggleButton, hoverTweenInfo, {
- BackgroundTransparency = 0.2,
- Size = UDim2.new(1, -15, 0, 48)
- })
- local strokeTween = TweenService:Create(toggleStroke, hoverTweenInfo, {
- Thickness = 2.5,
- Transparency = 0.1
- })
- hoverTween:Play()
- strokeTween:Play()
- end)
- toggleButton.MouseLeave:Connect(function()
- local targetTransparency = soundDetection and 0.1 or 0.4
- local hoverTween = TweenService:Create(toggleButton, hoverTweenInfo, {
- BackgroundTransparency = targetTransparency,
- Size = UDim2.new(1, -20, 0, 45)
- })
- local strokeTween = TweenService:Create(toggleStroke, hoverTweenInfo, {
- Thickness = 1.5,
- Transparency = 0.3
- })
- hoverTween:Play()
- strokeTween:Play()
- end)
- toggleButton.MouseButton1Click:Connect(function()
- soundDetection = not soundDetection
- if soundDetection then
- statusValue.Text = "STATUS: ACTIVE"
- statusValue.TextColor3 = Color3.new(0.3, 1, 0.3)
- buttonText.Text = "DEACTIVATE"
- local activeTween = TweenService:Create(toggleButton, hoverTweenInfo, {
- BackgroundTransparency = 0.1,
- BackgroundColor3 = Color3.new(0.8, 0.2, 0.3)
- })
- activeTween:Play()
- print("๐ข Auto Block ACTIVATED")
- ActivateAutoParry()
- else
- statusValue.Text = "STATUS: OFF"
- statusValue.TextColor3 = Color3.new(1, 0.3, 0.3)
- buttonText.Text = "ACTIVATE"
- local inactiveTween = TweenService:Create(toggleButton, hoverTweenInfo, {
- BackgroundTransparency = 0.4,
- BackgroundColor3 = Color3.new(0.3, 0.2, 0.5)
- })
- inactiveTween:Play()
- print("๐ด Auto Block DEACTIVATED")
- end
- end)
- toggleButton.Parent = mainFrame
- -- Stats
- local statsContainer = Instance.new("Frame")
- statsContainer.Size = UDim2.new(1, -20, 0, 40)
- statsContainer.Position = UDim2.new(0, 10, 0, 135)
- statsContainer.BackgroundTransparency = 1
- blocksLabel = Instance.new("TextLabel")
- blocksLabel.Size = UDim2.new(1, 0, 0.5, 0)
- blocksLabel.BackgroundTransparency = 1
- blocksLabel.Text = "Total Blocks: 0"
- blocksLabel.TextColor3 = Color3.new(0.9, 0.9, 1)
- blocksLabel.TextSize = 12
- blocksLabel.Font = Enum.Font.SourceSans
- blocksLabel.TextXAlignment = Enum.TextXAlignment.Left
- blocksLabel.Name = "BlocksLabel"
- blocksLabel.Parent = statsContainer
- successLabel = Instance.new("TextLabel")
- successLabel.Size = UDim2.new(1, 0, 0.5, 0)
- successLabel.Position = UDim2.new(0, 0, 0.5, 0)
- successLabel.BackgroundTransparency = 1
- successLabel.Text = "Successful: 0"
- successLabel.TextColor3 = Color3.new(0.9, 0.9, 1)
- successLabel.TextSize = 12
- successLabel.Font = Enum.Font.SourceSans
- successLabel.TextXAlignment = Enum.TextXAlignment.Left
- successLabel.Name = "SuccessLabel"
- successLabel.Parent = statsContainer
- statsContainer.Parent = mainFrame
- -- Add glass overlay to main frame
- glassOverlay.Parent = mainFrame
- mainFrame.Parent = screenGui
- return screenGui
- end
- -- Function to update GUI stats
- local function UpdateGUIStats()
- if blocksLabel and successLabel then
- blocksLabel.Text = "Total Blocks: " .. blocksCount
- successLabel.Text = "Successful: " .. successfulBlocks
- end
- end
- -- Function to extract sound name from SoundId or object
- local function GetSoundName(soundObject, soundId)
- -- First try to get the name from the sound object
- if soundObject and soundObject.Name and soundObject.Name ~= "Sound" then
- return soundObject.Name
- end
- -- Try to get name from parent
- if soundObject and soundObject.Parent then
- local parentName = soundObject.Parent.Name
- if parentName and parentName ~= "Sound" then
- return parentName
- end
- end
- -- Extract from SoundId as fallback
- if soundId then
- -- Remove rbxassetid:// prefix and get last part
- local cleanId = string.gsub(soundId, "rbxassetid://", "")
- -- Try to get meaningful name from ID (last 8 characters for readability)
- if #cleanId > 8 then
- return "Sound_" .. string.sub(cleanId, -8)
- else
- return "Sound_" .. cleanId
- end
- end
- return "Unknown_Sound"
- end
- -- 2. SELECTIVE SOUND DETECTION - BOW SOUNDS & DIGITS
- function DetectEnemySounds()
- local maxDistance = 15
- -- Base sound patterns to react to (INCLUDING BOW SOUNDS)
- local baseSounds = {
- "kick", "swoosh", "kickswoosh", "close", "enemy", "attack",
- "close_enemy_attack", "dropkick",
- -- BOW AND SIMILAR SOUNDS
- "bow", "arrow", "shoot", "shot", "fire", "projectile",
- "crossbow", "quiver", "bowstring", "archer", "ranged"
- }
- -- Check if player character exists
- if not player.Character or not player.Character:FindFirstChild("HumanoidRootPart") then
- return false, ""
- end
- local playerPos = player.Character.HumanoidRootPart.Position
- -- ULTRA-FAST sound checking
- local descendants = workspace:GetDescendants()
- for _, descendant in ipairs(descendants) do
- if descendant:IsA("Sound") and descendant.Playing then
- local soundName = string.lower(GetSoundName(descendant, descendant.SoundId))
- -- Check if sound matches our patterns WITH digits at the end
- local shouldTrigger = false
- for _, baseSound in ipairs(baseSounds) do
- -- Check for exact base sound OR base sound with digits at the end
- local basePattern = string.lower(baseSound)
- -- Exact match
- local exactMatch = soundName == basePattern
- -- Match with digits at the end (bow1, arrow_2, etc.)
- local withDigitsMatch = string.find(soundName, "^" .. basePattern .. "%d+$") ~= nil
- -- Match with underscore and digits (bow_1, arrow_123, etc.)
- local withUnderscoreDigits = string.find(soundName, "^" .. basePattern .. "_%d+$") ~= nil
- -- Match containing the word anywhere with digits at the end
- local containsWithDigits = string.find(soundName, basePattern .. ".*%d+$") ~= nil
- if exactMatch or withDigitsMatch or withUnderscoreDigits or containsWithDigits then
- shouldTrigger = true
- break
- end
- end
- if not shouldTrigger then
- continue -- Skip non-matching sounds immediately
- end
- -- Check if sound belongs to our character
- local isMySound = false
- pcall(function()
- local currentParent = descendant.Parent
- while currentParent do
- if currentParent == player.Character then
- isMySound = true
- break
- end
- currentParent = currentParent.Parent
- end
- end)
- if isMySound then
- continue
- end
- -- FAST position check
- local soundPos
- local success = pcall(function()
- if descendant.Parent:IsA("BasePart") then
- soundPos = descendant.Parent.Position
- elseif descendant.Parent:FindFirstChild("HumanoidRootPart") then
- soundPos = descendant.Parent.HumanoidRootPart.Position
- elseif descendant.Parent:FindFirstChild("Head") then
- soundPos = descendant.Parent.Head.Position
- else
- soundPos = playerPos + Vector3.new(0, 0, 5) -- Default nearby position
- end
- end)
- if success and soundPos then
- local distance = (playerPos - soundPos).Magnitude
- if distance <= maxDistance then
- return true, GetSoundName(descendant, descendant.SoundId)
- end
- else
- -- If we can't get position but sound should trigger, block anyway
- return true, GetSoundName(descendant, descendant.SoundId)
- end
- end
- end
- -- FAST enemy player detection for close enemies
- for _, otherPlayer in ipairs(Players:GetPlayers()) do
- if otherPlayer ~= player and otherPlayer.Character then
- local character = otherPlayer.Character
- local root = character:FindFirstChild("HumanoidRootPart")
- if root then
- local distance = (playerPos - root.Position).Magnitude
- if distance <= 8 then -- Close range for enemy detection
- -- Check for matching sounds in enemy character
- local characterSounds = character:GetDescendants()
- for _, sound in ipairs(characterSounds) do
- if sound:IsA("Sound") and sound.Playing then
- local soundName = string.lower(GetSoundName(sound, sound.SoundId))
- -- Check if enemy sound matches our patterns
- local shouldTrigger = false
- for _, baseSound in ipairs(baseSounds) do
- local basePattern = string.lower(baseSound)
- local exactMatch = soundName == basePattern
- local withDigitsMatch = string.find(soundName, "^" .. basePattern .. "%d+$") ~= nil
- local withUnderscoreDigits = string.find(soundName, "^" .. basePattern .. "_%d+$") ~= nil
- local containsWithDigits = string.find(soundName, basePattern .. ".*%d+$") ~= nil
- if exactMatch or withDigitsMatch or withUnderscoreDigits or containsWithDigits then
- shouldTrigger = true
- break
- end
- end
- if shouldTrigger then
- return true, "Enemy_" .. GetSoundName(sound, sound.SoundId)
- end
- end
- end
- -- If enemy is very close and has tool, block anyway
- if distance <= 5 then
- for _, tool in ipairs(character:GetChildren()) do
- if tool:IsA("Tool") then
- return true, "Close_Enemy_Attack"
- end
- end
- end
- end
- end
- end
- end
- return false, ""
- end
- -- 3. ULTRA-FAST BLOCK FUNCTION (NO COOLDOWN)
- function DoBlock(soundName)
- blocksCount = blocksCount + 1
- -- INSTANT block execution
- pcall(function()
- VirtualInput:SendMouseButtonEvent(0, 0, 1, true, game, 1)
- end)
- -- 200ms block duration
- local startTime = tick()
- while tick() - startTime < blockDuration do
- RunService.Heartbeat:Wait()
- end
- pcall(function()
- VirtualInput:SendMouseButtonEvent(0, 0, 1, false, game, 1)
- end)
- -- Success determination (85% success rate)
- local wasSuccessful = math.random(1, 100) > 15
- if wasSuccessful then
- successfulBlocks = successfulBlocks + 1
- print("โ SUCCESS! Blocked: " .. soundName)
- else
- print("โ MISSED! Sound: " .. soundName)
- end
- -- Update GUI
- UpdateGUIStats()
- end
- -- 4. ULTRA-FAST AUTO PARRY FUNCTION (NO COOLDOWN)
- function ActivateAutoParry()
- spawn(function()
- print("โก ULTRA-FAST Auto Block Activated!")
- print("๐ฏ Reacting ONLY to:")
- print(" โข kick, swoosh, kickswoosh, close, enemy, attack, dropkick")
- print(" โข bow, arrow, shoot, shot, fire, projectile, crossbow")
- print(" โข ALL versions with digits at the end (bow1, arrow_2, etc.)")
- print("โก Block Duration: 200ms | NO COOLDOWN")
- while soundDetection do
- -- INSTANT detection - no cooldown checks
- local detected, soundName = DetectEnemySounds()
- if detected then
- -- Instant block in separate thread for maximum speed
- spawn(function()
- DoBlock(soundName)
- end)
- end
- -- Update GUI
- UpdateGUIStats()
- -- MINIMAL delay for maximum performance
- RunService.Heartbeat:Wait()
- end
- print("๐ Auto Block stopped")
- print("๐ Final Stats - Total: " .. blocksCount .. " | Successful: " .. successfulBlocks)
- end)
- end
- -- 5. KEYBINDS
- UserInputService.InputBegan:Connect(function(input)
- if input.KeyCode == Enum.KeyCode.P then
- soundDetection = not soundDetection
- if soundDetection then
- print("๐ข Auto Block ULTRA: ACTIVATED")
- ActivateAutoParry()
- else
- print("๐ด Auto Block ULTRA: DEACTIVATED")
- end
- end
- if input.KeyCode == Enum.KeyCode.T then
- print("๐งช Testing block...")
- spawn(function()
- DoBlock("Test_Attack")
- end)
- end
- if input.KeyCode == Enum.KeyCode.Y then
- print("๐ Testing detection...")
- local detected, soundName = DetectEnemySounds()
- print("Detection: " .. tostring(detected) .. " | Sound: " .. soundName)
- end
- if input.KeyCode == Enum.KeyCode.R then
- blocksCount = 0
- successfulBlocks = 0
- print("๐ Stats reset")
- UpdateGUIStats()
- end
- end)
- -- Initialize
- print("๐ฏ Auto Block ULTRA Loading...")
- -- Create GUI
- local success = pcall(function()
- CreateGUI()
- print("โ Enhanced Liquid Glass GUI Created")
- UpdateGUIStats()
- end)
- if not success then
- print("โ GUI creation failed")
- end
- print("โ Auto Block ULTRA Ready!")
- print("โจ๏ธ Controls: P(Toggle) T(Test) Y(Detect) R(Reset)")
- print("๐ฏ Sounds: Melee + Bow/Arrow attacks with digits")
- print("โก Block: 200ms | NO COOLDOWN | Instant Reaction")
- -- Loadstring created using LoadstringR --
Advertisement
Add Comment
Please, Sign In to add comment