M
Description
This script is extremely OP and won't get you banned at all. It includes ESP and aimbot.Extra keyless.
GAMEBonk & Block [1v1v1]
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 ]]
-- Bonk Block - ESP + Hold Aimbot Script (Rayfield Edition)
-- Script by kaisan_lover
local Rayfield = loadstring(game:HttpGet('https://sirius.menu/rayfield'))()
--==========================================================
-- SERVICES
--==========================================================
local Players = game:GetService("Players")
local RunService = game:GetService("RunService")
local UserInputService = game:GetService("UserInputService")
local TweenService = game:GetService("TweenService")
local Workspace = game:GetService("Workspace")
local CoreGui = game:GetService("CoreGui")
local LocalPlayer = Players.LocalPlayer
local Camera = Workspace.CurrentCamera
--==========================================================
-- STATE
--==========================================================
local State = {
ESPEnabled = false,
AimbotEnabled = true,
AimbotHeld = false,
FOVSize = 200,
Smoothness = 0.95, -- Avtomatik YUQORI
TeamCheck = false,
WallCheck = false,
AutoFire = false,
}
local ESPHighlights = {}
--==========================================================
-- ESP FUNCTIONS
--==========================================================
local function CreateESP(player)
if player == LocalPlayer then return end
local function setupCharacter(character)
if not character then return end
local oldHighlight = character:FindFirstChild("ESPHighlight")
if oldHighlight then
oldHighlight:Destroy()
end
local highlight = Instance.new("Highlight")
highlight.Name = "ESPHighlight"
highlight.FillColor = Color3.fromRGB(255, 0, 0)
highlight.OutlineColor = Color3.fromRGB(255, 255, 0)
highlight.FillTransparency = 0.3
highlight.OutlineTransparency = 0
highlight.DepthMode = Enum.HighlightDepthMode.AlwaysOnTop
highlight.Parent = character
ESPHighlights[player] = highlight
end
if player.Character then
setupCharacter(player.Character)
end
player.CharacterAdded:Connect(function(character)
if State.ESPEnabled then
task.wait(0.2)
setupCharacter(character)
end
end)
end
local function RemoveESP(player)
if ESPHighlights[player] then
ESPHighlights[player]:Destroy()
ESPHighlights[player] = nil
end
if player.Character then
local highlight = player.Character:FindFirstChild("ESPHighlight")
if highlight then
highlight:Destroy()
end
end
end
local function RemoveAllESP()
for _, player in pairs(Players:GetPlayers()) do
RemoveESP(player)
end
end
--==========================================================
-- AIMBOT FUNCTIONS
--==========================================================
local function GetClosestPlayer()
local closestPlayer = nil
local closestDistance = State.FOVSize
for _, player in pairs(Players:GetPlayers()) do
if player ~= LocalPlayer and player.Character then
-- Team Check
if State.TeamCheck and player.Team and LocalPlayer.Team
and player.Team == LocalPlayer.Team then
continue
end
local character = player.Character
local humanoidRootPart = character:FindFirstChild("HumanoidRootPart")
local humanoid = character:FindFirstChild("Humanoid")
local head = character:FindFirstChild("Head")
if humanoidRootPart and humanoid and humanoid.Health > 0 then
local targetPosition = humanoidRootPart.Position
if head then
targetPosition = (head.Position + humanoidRootPart.Position) / 2
end
-- Wall Check
if State.WallCheck then
local origin = Camera.CFrame.Position
local dir = targetPosition - origin
local params = RaycastParams.new()
params.FilterType = Enum.RaycastFilterType.Exclude
params.FilterDescendantsInstances = { LocalPlayer.Character, character }
local hit = Workspace:Raycast(origin, dir, params)
if hit then continue end
end
local screenPos, onScreen = Camera:WorldToScreenPoint(targetPosition)
if onScreen then
local screenCenter = Vector2.new(Camera.ViewportSize.X / 2, Camera.ViewportSize.Y / 2)
local distance = (Vector2.new(screenPos.X, screenPos.Y) - screenCenter).Magnitude
if distance < closestDistance then
closestDistance = distance
closestPlayer = player
end
end
end
end
end
return closestPlayer
end
local function AimbotLoop()
if not (State.AimbotEnabled and State.AimbotHeld) then return end
local target = GetClosestPlayer()
if target and target.Character then
local character = target.Character
local humanoidRootPart = character:FindFirstChild("HumanoidRootPart")
local humanoid = character:FindFirstChild("Humanoid")
local head = character:FindFirstChild("Head")
if humanoidRootPart and humanoid and humanoid.Health > 0 then
local targetPosition = humanoidRootPart.Position
if head then
targetPosition = (head.Position + humanoidRootPart.Position) / 2
end
local targetCFrame = CFrame.new(Camera.CFrame.Position, targetPosition)
local smoothedCFrame = Camera.CFrame:Lerp(targetCFrame, State.Smoothness)
Camera.CFrame = smoothedCFrame
local distance = (Camera.CFrame.Position - targetPosition).Magnitude
if distance < 20 then
Camera.CFrame = targetCFrame
end
-- Auto Fire
if State.AutoFire then
local tool = LocalPlayer.Character and LocalPlayer.Character:FindFirstChildOfClass("Tool")
if tool then
pcall(function() tool:Activate() end)
end
end
end
end
end
--==========================================================
-- INPUT
--==========================================================
UserInputService.InputBegan:Connect(function(input, gameProcessed)
if gameProcessed then return end
if input.KeyCode == Enum.KeyCode.E then
State.AimbotHeld = true
end
end)
UserInputService.InputEnded:Connect(function(input, gameProcessed)
if input.KeyCode == Enum.KeyCode.E then
State.AimbotHeld = false
end
end)
--==========================================================
-- PLAYER EVENTS
--==========================================================
Players.PlayerAdded:Connect(function(player)
if State.ESPEnabled and player ~= LocalPlayer then
player.CharacterAdded:Connect(function()
task.wait(0.3)
if State.ESPEnabled then
CreateESP(player)
end
end)
end
end)
Players.PlayerRemoving:Connect(function(player)
RemoveESP(player)
end)
--==========================================================
-- MAIN LOOP
--==========================================================
RunService.RenderStepped:Connect(AimbotLoop)
--==========================================================
-- RAYFIELD UI
--==========================================================
local Window = Rayfield:CreateWindow({
Name = "Bonk Block - ESP + Aimbot",
LoadingTitle = "Loading...",
LoadingSubtitle = "by kaisan_lover",
ConfigurationSaving = { Enabled = false },
KeySystem = false,
})
--==================== ESP TAB ====================
local ESPTab = Window:CreateTab("ESP", 4483362458)
ESPTab:CreateSection("ESP Settings")
ESPTab:CreateToggle({
Name = "Enable ESP",
CurrentValue = false,
Flag = "ESPEnabled",
Callback = function(value)
State.ESPEnabled = value
if value then
for _, player in pairs(Players:GetPlayers()) do
if player ~= LocalPlayer then
CreateESP(player)
end
end
else
RemoveAllESP()
end
end,
})
ESPTab:CreateSection("ESP Info")
ESPTab:CreateParagraph({
Title = "ESP",
Content = "Highlights enemies with Red fill and Yellow outline.\nWorks through walls (AlwaysOnTop).",
})
--==================== AIMBOT TAB ====================
local AimbotTab = Window:CreateTab("Aimbot", 4483362458)
AimbotTab:CreateSection("Aimbot Settings")
AimbotTab:CreateToggle({
Name = "Enable Aimbot",
CurrentValue = true,
Flag = "AimbotEnabled",
Callback = function(value)
State.AimbotEnabled = value
end,
})
AimbotTab:CreateParagraph({
Title = "Controls",
Content = "Hold [E] to activate Aimbot.\nRelease [E] to stop.",
})
AimbotTab:CreateSlider({
Name = "FOV Size",
Range = {50, 1000},
Increment = 10,
Suffix = "px",
CurrentValue = 200,
Flag = "FOVSize",
Callback = function(value)
State.FOVSize = value
end,
})
AimbotTab:CreateSlider({
Name = "Smoothness",
Range = {10, 100},
Increment = 5,
Suffix = "%",
CurrentValue = 95, -- Avtomatik YUQORI
Flag = "Smoothness",
Callback = function(value)
State.Smoothness = value / 100
end,
})
AimbotTab:CreateSection("Filters")
AimbotTab:CreateToggle({
Name = "Team Check",
CurrentValue = false,
Flag = "TeamCheck",
Callback = function(value)
State.TeamCheck = value
end,
})
AimbotTab:CreateToggle({
Name = "Wall Check",
CurrentValue = false,
Flag = "WallCheck",
Callback = function(value)
State.WallCheck = value
end,
})
AimbotTab:CreateSection("Extra")
AimbotTab:CreateToggle({
Name = "Auto Fire",
CurrentValue = false,
Flag = "AutoFire",
Callback = function(value)
State.AutoFire = value
end,
})
--==================== SETTINGS TAB ====================
local SettingsTab = Window:CreateTab("Settings", 4483362458)
SettingsTab:CreateSection("UI Settings")
SettingsTab:CreateButton({
Name = "Close UI",
Callback = function()
RemoveAllESP()
Rayfield:Destroy()
end,
})
SettingsTab:CreateSection("About")
SettingsTab:CreateParagraph({
Title = "Bonk Block - ESP + Aimbot",
Content = "Version: 1.0\nAuthor: kaisan_lover\nUI: Rayfield\n\nHold [E] to activate Aimbot.\nToggle ESP in the ESP tab.",
})
--==========================================================
-- NOTIFY
--==========================================================
Rayfield:Notify({
Title = "Bonk Block",
Content = "Loaded. Hold [E] for Aimbot.",
Duration = 6,
})
print("[Bonk Block - ESP + Aimbot] Loaded. by kaisan_lover")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