M
Description
There are bugs in Auto fire. Auto fire esp Silent aim
GAMEBlood Zone
UPDATEDOct 10, 2026
ACCESSKeyless
PLATFORMDesktop
Script source Luau
-- [[ BloxScripts Risk Notice ]]
-- This script has not been verified by BloxScripts.fun. Deal with caution.
--
-- Stay safe:
-- • Never log in on unofficial Roblox sites or lookalike domains.
-- • Real Roblox links use roblox.com (check the .com ending).
-- • Treat fake Roblox login / "claim reward" pages as phishing.
-- [[ End BloxScripts Risk Notice ]]
local Settings = {
Enabled = true,
AutoFire = true,
AutoFireDelay = 0.07,
TargetPart = "Head",
HitChance = 100,
TeamCheck = false,
WallCheck = true,
IgnoreShield = true,
IgnoreDowned = true,
AliveCheck = true,
MaxDistance = 2500,
Wallbang = false,
FOV = {
Enabled = true,
Visible = true,
Radius = 180,
Color = Color3.fromRGB(0, 255, 160),
Thickness = 1.5,
Filled = false,
Transparency = 0.7
},
ESP = {
Enabled = true,
Boxes = true,
Tracers = false,
Names = true,
Health = true,
Color = Color3.fromRGB(0, 230, 255)
},
FlickReturn = true,
ToggleKey = Enum.KeyCode.Insert
}
local Players = game:GetService("Players")
local RunService = game:GetService("RunService")
local UserInputService = game:GetService("UserInputService")
local VirtualInputManager = game:GetService("VirtualInputManager")
local CollectionService = game:GetService("CollectionService")
local ReplicatedStorage = game:GetService("ReplicatedStorage")
local CoreGui = game:GetService("CoreGui")
local Workspace = game:GetService("Workspace")
local LocalPlayer = Players.LocalPlayer
local Mouse = LocalPlayer:GetMouse()
local Camera = Workspace.CurrentCamera
local CurrentTarget = nil
local FOVCircle = nil
local lastAutoFire = 0
if Drawing and Drawing.new then
FOVCircle = Drawing.new("Circle")
FOVCircle.Visible = Settings.FOV.Visible
FOVCircle.Radius = Settings.FOV.Radius
FOVCircle.Color = Settings.FOV.Color
FOVCircle.Thickness = Settings.FOV.Thickness
FOVCircle.Filled = Settings.FOV.Filled
FOVCircle.Transparency = Settings.FOV.Transparency
FOVCircle.NumSides = 64
end
local function HasShield(player, character)
if not character then return false end
if character:FindFirstChildWhichIsA("ForceField", true) then
return true
end
for _, desc in pairs(character:GetDescendants()) do
local name = desc.Name:lower()
local className = desc.ClassName:lower()
if className == "forcefield" then
return true
end
if name:find("forcefield") or name:find("shield") or name:find("protection") or name:find("щит") or name:find("godmode") or name:find("immune") then
return true
end
if desc:IsA("SelectionBox") and (name:find("shield") or name:find("forcefield")) then
return true
end
end
if player and player:FindFirstChild("Backpack") then
for _, tool in pairs(player.Backpack:GetChildren()) do
local name = tool.Name:lower()
if (name:find("shield") or name:find("forcefield")) and tool.Parent == character then
return true
end
end
end
local checkAttributes = {"Shield", "HasShield", "ForceField", "Invincible", "Protected", "SpawnProtection", "Immune", "GodMode"}
for _, attr in ipairs(checkAttributes) do
if character:GetAttribute(attr) == true or (player and player:GetAttribute(attr) == true) then
return true
end
end
for _, tag in ipairs({"Shield", "ForceField", "Protected", "Immune", "SpawnProtection"}) do
if CollectionService:HasTag(character, tag) or (player and CollectionService:HasTag(player, tag)) then
return true
end
end
local root = character:FindFirstChild("HumanoidRootPart")
if root then
for _, obj in pairs(Workspace:GetChildren()) do
local objName = obj.Name:lower()
if (objName:find("forcefield") or objName:find("shield") or objName:find("bubble") or objName:find("dome")) then
local pos = nil
if obj:IsA("BasePart") then
pos = obj.Position
elseif obj:IsA("Model") then
pos = obj.PrimaryPart and obj.PrimaryPart.Position or obj:GetPivot().Position
end
if pos and (pos - root.Position).Magnitude <= 15 then
return true
end
end
end
end
if Settings.IgnoreDowned then
if character:GetAttribute("Downed") or character:GetAttribute("IsRagdolled") or character:GetAttribute("Carried") then
return true
end
end
return false
end
local function IsVisible(headPart, character)
if Settings.Wallbang then return true end
if not Settings.WallCheck then return true end
local origin = Camera.CFrame.Position
local targetPos = headPart.Position
local direction = targetPos - origin
local raycastParams = RaycastParams.new()
raycastParams.FilterType = Enum.RaycastFilterType.Exclude
local ignoreList = {LocalPlayer.Character, character, Camera}
if Workspace:FindFirstChild("RaycastIgnore") then
table.insert(ignoreList, Workspace.RaycastIgnore)
end
raycastParams.FilterDescendantsInstances = ignoreList
local result = Workspace:Raycast(origin, direction, raycastParams)
if not result then return true end
if result.Instance and result.Instance:IsDescendantOf(character) then return true end
return false
end
local function GetClosestTarget()
local closestTarget = nil
local shortestDistance = Settings.FOV.Radius
local mousePos = Vector2.new(Mouse.X, Mouse.Y)
for _, player in pairs(Players:GetPlayers()) do
if player ~= LocalPlayer then
if Settings.TeamCheck and player.Team == LocalPlayer.Team then
continue
end
local char = player.Character
if char and char:FindFirstChild("Humanoid") and char.Humanoid.Health > 0 then
if Settings.IgnoreShield and HasShield(player, char) then
continue
end
local targetPart = char:FindFirstChild("Head")
if targetPart then
local myRoot = LocalPlayer.Character and LocalPlayer.Character:FindFirstChild("HumanoidRootPart")
local distFromChar = myRoot and (targetPart.Position - myRoot.Position).Magnitude or 0
if distFromChar <= Settings.MaxDistance then
local screenPos, onScreen = Camera:WorldToViewportPoint(targetPart.Position)
if onScreen then
local screenVec = Vector2.new(screenPos.X, screenPos.Y)
local distanceToMouse = (screenVec - mousePos).Magnitude
if distanceToMouse < shortestDistance then
if IsVisible(targetPart, char) then
shortestDistance = distanceToMouse
closestTarget = {
Player = player,
Character = char,
Part = targetPart,
ScreenPos = screenPos
}
end
end
end
end
end
end
end
end
return closestTarget
end
local function CalculationHitChance()
return math.random(1, 100) <= Settings.HitChance
end
local rawmetatable = getrawmetatable or debug.getmetatable
local setreadonly = setreadonly or make_writeable or function(...) end
if rawmetatable and setreadonly then
local gmt = rawmetatable(game)
local oldNamecall = gmt.__namecall
local oldIndex = gmt.__index
setreadonly(gmt, false)
gmt.__namecall = newcclosure(function(self, ...)
local method = getnamecallmethod()
local args = {...}
if Settings.Enabled and CalculationHitChance() and CurrentTarget and CurrentTarget.Part then
local targetPos = CurrentTarget.Part.Position
local origin = Camera.CFrame.Position
local directionVector = (targetPos - origin).Unit
if method == "Raycast" and (Settings.Method == "Raycast Hook" or Settings.Method == "All") then
if self == Workspace then
if Settings.Wallbang then
local fakeResult = {
Instance = CurrentTarget.Part,
Position = targetPos,
Normal = Vector3.new(0, 1, 0),
Material = Enum.Material.SmoothPlastic,
Distance = (origin - targetPos).Magnitude
}
return fakeResult
else
local rayLength = args[2] and args[2].Magnitude or 1000
args[2] = directionVector * rayLength
return oldNamecall(self, unpack(args))
end
end
end
if method == "FireServer" or method == "InvokeServer" then
local remoteName = tostring(self)
if remoteName == "FireBullet" or remoteName == "FireProjectile" or remoteName == "Hit" or remoteName == "Aim" then
for i, arg in ipairs(args) do
if typeof(arg) == "Vector3" then
args[i] = targetPos
elseif typeof(arg) == "CFrame" then
args[i] = CFrame.new(origin, targetPos)
end
end
return oldNamecall(self, unpack(args))
end
end
end
return oldNamecall(self, ...)
end)
gmt.__index = newcclosure(function(self, key)
if Settings.Enabled and CurrentTarget and CurrentTarget.Part and not checkcaller() then
if self == Mouse then
if key == "Hit" or key == "hit" then
return CFrame.new(CurrentTarget.Part.Position)
elseif key == "Target" or key == "target" then
return CurrentTarget.Part
end
end
end
return oldIndex(self, key)
end)
setreadonly(gmt, true)
end
local isFlicking = false
local function PerformCameraFlick()
if not Settings.Enabled or not Settings.FlickReturn or not CurrentTarget or not CurrentTarget.Part then return end
if isFlicking then return end
isFlicking = true
local oldCFrame = Camera.CFrame
local targetPos = CurrentTarget.Part.Position
local targetCFrame = CFrame.new(oldCFrame.Position, targetPos)
Camera.CFrame = targetCFrame
RunService.RenderStepped:Once(function()
Camera.CFrame = oldCFrame
isFlicking = false
end)
end
UserInputService.InputBegan:Connect(function(input, gameProcessed)
if gameProcessed then return end
if input.UserInputType == Enum.UserInputType.MouseButton1 then
PerformCameraFlick()
end
end)
local function TriggerAutoFire()
if not Settings.Enabled or not Settings.AutoFire or not CurrentTarget or not CurrentTarget.Part then return end
if tick() - lastAutoFire < Settings.AutoFireDelay then return end
lastAutoFire = tick()
local origin = Camera.CFrame.Position
local headPos = CurrentTarget.Part.Position
local directionVector = (headPos - origin).Unit
if isrbxactive and isrbxactive() == false then return end
if mouse1press and mouse1release then
pcall(function()
mouse1press()
task.defer(mouse1release)
end)
elseif mouse1click then
pcall(mouse1click)
else
pcall(function()
VirtualInputManager:SendMouseButtonEvent(Mouse.X, Mouse.Y, 0, true, game, 0)
task.defer(function()
VirtualInputManager:SendMouseButtonEvent(Mouse.X, Mouse.Y, 0, false, game, 0)
end)
end)
end
pcall(function()
local remotes = ReplicatedStorage:FindFirstChild("Remotes")
if remotes and remotes:FindFirstChild("Weapons") and remotes.Weapons:FindFirstChild("Guns") then
local guns = remotes.Weapons.Guns
if guns:FindFirstChild("FireBullet") then
guns.FireBullet:FireServer(headPos, directionVector)
end
if guns:FindFirstChild("Hit") then
guns.Hit:FireServer(CurrentTarget.Part, headPos)
end
end
end)
if Settings.FlickReturn then
PerformCameraFlick()
end
end
RunService.RenderStepped:Connect(function()
CurrentTarget = GetClosestTarget()
if FOVCircle then
FOVCircle.Position = Vector2.new(Mouse.X, Mouse.Y + 36)
FOVCircle.Radius = Settings.FOV.Radius
FOVCircle.Visible = Settings.FOV.Enabled and Settings.FOV.Visible
FOVCircle.Color = Settings.FOV.Color
end
if CurrentTarget then
TriggerAutoFire()
end
end)
local ESPFolder = Instance.new("Folder")
ESPFolder.Name = "BloodZone_ESP"
ESPFolder.Parent = CoreGui
local function CreateESP(player)
if player == LocalPlayer then return end
local function ApplyESP(character)
if not character then return end
local root = character:WaitForChild("HumanoidRootPart", 5)
local head = character:WaitForChild("Head", 5)
local hum = character:WaitForChild("Humanoid", 5)
if not root or not head or not hum then return end
local highlight = Instance.new("Highlight")
highlight.Name = player.Name .. "_Highlight"
highlight.Adornee = character
highlight.FillColor = Settings.ESP.Color
highlight.FillTransparency = 0.5
highlight.OutlineColor = Color3.new(1, 1, 1)
highlight.OutlineTransparency = 0
highlight.Enabled = Settings.ESP.Enabled
highlight.Parent = ESPFolder
local bb = Instance.new("BillboardGui")
bb.Name = player.Name .. "_BB"
bb.Adornee = head
bb.Size = UDim2.new(0, 150, 0, 40)
bb.StudsOffset = Vector3.new(0, 2.5, 0)
bb.AlwaysOnTop = true
bb.Parent = ESPFolder
local label = Instance.new("TextLabel")
label.Size = UDim2.new(1, 0, 1, 0)
label.BackgroundTransparency = 1
label.TextColor3 = Color3.new(1, 1, 1)
label.TextStrokeTransparency = 0
label.TextSize = 13
label.Font = Enum.Font.SourceSansBold
label.Text = player.Name .. " | HP: " .. math.floor(hum.Health)
label.Parent = bb
hum.HealthChanged:Connect(function(newHealth)
label.Text = player.Name .. " | HP: " .. math.floor(newHealth)
end)
character.Destroying:Connect(function()
highlight:Destroy()
bb:Destroy()
end)
end
if player.Character then ApplyESP(player.Character) end
player.CharacterAdded:Connect(ApplyESP)
end
for _, p in pairs(Players:GetPlayers()) do CreateESP(p) end
Players.PlayerAdded:Connect(CreateESP)
local ScreenGui = Instance.new("ScreenGui")
ScreenGui.Name = "BloodZone_SilentAim_UI"
pcall(function() ScreenGui.Parent = CoreGui end)
if not ScreenGui.Parent then ScreenGui.Parent = LocalPlayer:WaitForChild("PlayerGui") end
local MainFrame = Instance.new("Frame")
MainFrame.Name = "MainFrame"
MainFrame.Size = UDim2.new(0, 320, 0, 420)
MainFrame.Position = UDim2.new(0.5, -160, 0.4, -210)
MainFrame.BackgroundColor3 = Color3.fromRGB(20, 20, 25)
MainFrame.BorderSizePixel = 0
MainFrame.Active = true
MainFrame.Draggable = true
MainFrame.Parent = ScreenGui
local UICorner = Instance.new("UICorner")
UICorner.CornerRadius = UDim.new(0, 8)
UICorner.Parent = MainFrame
local TitleBar = Instance.new("Frame")
TitleBar.Size = UDim2.new(1, 0, 0, 40)
TitleBar.BackgroundColor3 = Color3.fromRGB(0, 160, 120)
TitleBar.BorderSizePixel = 0
TitleBar.Parent = MainFrame
local TitleCorner = Instance.new("UICorner")
TitleCorner.CornerRadius = UDim.new(0, 8)
TitleCorner.Parent = TitleBar
local TitleLabel = Instance.new("TextLabel")
TitleLabel.Size = UDim2.new(1, -10, 1, 0)
TitleLabel.Position = UDim2.new(0, 10, 0, 0)
TitleLabel.BackgroundTransparency = 1
TitleLabel.Text = "BLOOD ZONE — HEAD SILENT & AUTOFIRE"
TitleLabel.TextColor3 = Color3.fromRGB(255, 255, 255)
TitleLabel.Font = Enum.Font.SourceSansBold
TitleLabel.TextSize = 14
TitleLabel.TextXAlignment = Enum.TextXAlignment.Left
TitleLabel.Parent = TitleBar
local Container = Instance.new("UIListLayout")
Container.Parent = MainFrame
Container.SortOrder = Enum.SortOrder.LayoutOrder
Container.Padding = UDim.new(0, 8)
local Padding = Instance.new("UIPadding")
Padding.PaddingTop = UDim.new(0, 48)
Padding.PaddingLeft = UDim.new(0, 12)
Padding.PaddingRight = UDim.new(0, 12)
Padding.Parent = MainFrame
local function CreateToggle(text, defaultValue, callback)
local btn = Instance.new("TextButton")
btn.Size = UDim2.new(1, 0, 0, 32)
btn.BackgroundColor3 = defaultValue and Color3.fromRGB(0, 160, 100) or Color3.fromRGB(45, 45, 55)
btn.Text = text .. ": " .. (defaultValue and "ВКЛ" or "ВЫКЛ")
btn.TextColor3 = Color3.fromRGB(255, 255, 255)
btn.Font = Enum.Font.SourceSansSemibold
btn.TextSize = 14
btn.Parent = MainFrame
local corner = Instance.new("UICorner")
corner.CornerRadius = UDim.new(0, 5)
corner.Parent = btn
local state = defaultValue
btn.MouseButton1Click:Connect(function()
state = not state
btn.BackgroundColor3 = state and Color3.fromRGB(0, 160, 100) or Color3.fromRGB(45, 45, 55)
btn.Text = text .. ": " .. (state and "ВКЛ" or "ВЫКЛ")
callback(state)
end)
return btn
end
local function CreateInfoBox(text)
local box = Instance.new("TextLabel")
box.Size = UDim2.new(1, 0, 0, 32)
box.BackgroundColor3 = Color3.fromRGB(35, 35, 45)
box.Text = text
box.TextColor3 = Color3.fromRGB(0, 255, 180)
box.Font = Enum.Font.SourceSansBold
box.TextSize = 13
box.Parent = MainFrame
local corner = Instance.new("UICorner")
corner.CornerRadius = UDim.new(0, 5)
corner.Parent = box
return box
end
CreateToggle("Silent Aim (Head)", Settings.Enabled, function(val) Settings.Enabled = val end)
CreateToggle("Auto Fire (Именно в голову)", Settings.AutoFire, function(val) Settings.AutoFire = val end)
CreateToggle("Wall Checker (Не бьет за стеной)", Settings.WallCheck, function(val)
Settings.WallCheck = val
if val then Settings.Wallbang = false end
end)
CreateToggle("Shield Checker (Не бьет с щитом)", Settings.IgnoreShield, function(val) Settings.IgnoreShield = val end)
CreateToggle("Flick & Return (Поворот/возврат)", Settings.FlickReturn, function(val) Settings.FlickReturn = val end)
CreateToggle("FOV Circle (Круг наводки)", Settings.FOV.Visible, function(val)
Settings.FOV.Visible = val
Settings.FOV.Enabled = val
end)
CreateToggle("ESP Chams & Names", Settings.ESP.Enabled, function(val)
Settings.ESP.Enabled = val
for _, child in pairs(ESPFolder:GetChildren()) do
if child:IsA("Highlight") then child.Enabled = val end
if child:IsA("BillboardGui") then child.Enabled = val end
end
end)
CreateInfoBox("Цель: Head (ОНЛИ ГОЛОВА)")
UserInputService.InputBegan:Connect(function(input, gpe)
if not gpe and input.KeyCode == Settings.ToggleKey then
MainFrame.Visible = not MainFrame.Visible
end
end)
print("[BLOOD ZONE] Clean Silent Aim & AutoFire loaded!")
Review the source before using it. Executions count successful copies, capped at 10 per user and network per script in 24 hours.
Community discussion
0Start the conversation.


Your community, in one place