-- [[ Rscripts Risk Notice ]] -- This script is not verified by rscripts.net. 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 Rscripts 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")