--[[ Bronx Duels - Ultimate Cheat Suite Version: 2.0 (cook45) Features: Combat (Camlock, Triggerbot, Hitbox selection, Prediction, Smoothing, FOV circle) Visuals (Box, Name, Health, Distance, Weapon, Tracers, Team/Enemy colors) Movement (Noclip, Walkspeed, JumpPower, Infinite Jump) Mobile/PC support, Custom keybinds, No connection leaks ]] local Players = game:GetService("Players") local RunService = game:GetService("RunService") local UIS = game:GetService("UserInputService") local Camera = workspace.CurrentCamera local LP = Players.LocalPlayer -- Settings local Settings = { Combat = { Camlock = false, CamlockSmoothing = 0.3, FOVRadius = 200, ShowFOV = true, Triggerbot = false, TriggerCooldown = 150, Hitbox = "Head", IgnoreTeammates = true, Prediction = 0.02, }, Visuals = { Box = true, Name = true, Health = true, Distance = true, Weapon = true, Tracers = true, ESPColor = Color3.fromRGB(255, 50, 50), TeamColor = Color3.fromRGB(50, 255, 50), TracerColor = Color3.fromRGB(255, 255, 255), }, Movement = { Noclip = false, Walkspeed = 16, JumpPower = 50, InfiniteJump = false, }, Keybinds = { ToggleUI = "Insert", Camlock = "Q", Noclip = "X", Triggerbot = "T", }, UIEnabled = true, } -- State local State = { noclipConn = nil, infJumpConn = nil, lastTriggerTime = 0, currentTarget = nil, } local cachedEnemies = {} local function isTeammate(player) if not Settings.Combat.IgnoreTeammates then return false end return player.Team and LP.Team and player.Team == LP.Team end local function getHitboxPart(char, hitbox) if hitbox == "Head" then return char:FindFirstChild("Head") elseif hitbox == "Torso" then return char:FindFirstChild("UpperTorso") or char:FindFirstChild("HumanoidRootPart") or char:FindFirstChild("Torso") else local limbs = {"LeftUpperArm","RightUpperArm","LeftLowerArm","RightLowerArm","LeftUpperLeg","RightUpperLeg"} local best, bestDist = nil, math.huge local cross = Vector2.new(Camera.ViewportSize.X/2, Camera.ViewportSize.Y/2) for _, name in ipairs(limbs) do local p = char:FindFirstChild(name) if p then local sp, vis = Camera:WorldToViewportPoint(p.Position) if vis then local d = (Vector2.new(sp.X, sp.Y) - cross).Magnitude if d < bestDist then bestDist = d; best = p end end end end return best or char:FindFirstChild("Head") end end local function rebuildCache() cachedEnemies = {} for _, player in ipairs(Players:GetPlayers()) do if player ~= LP and not isTeammate(player) then local char = player.Character if char then local root = char:FindFirstChild("HumanoidRootPart") or char.PrimaryPart local hum = char:FindFirstChild("Humanoid") if root and hum and hum.Health > 0 then local part = getHitboxPart(char, Settings.Combat.Hitbox) table.insert(cachedEnemies, { player = player, character = char, rootPart = root, humanoid = hum, targetPart = part, }) end end end end end -- ESP local espObjects = {} local fovCircle = Drawing.new("Circle") fovCircle.Thickness = 1 fovCircle.NumSides = 64 fovCircle.Filled = false fovCircle.Transparency = 0.6 fovCircle.Color = Color3.fromRGB(255, 255, 255) fovCircle.Visible = false local function getOrCreateESP(player) if espObjects[player] then return espObjects[player] end local obj = { box = {Drawing.new("Line"), Drawing.new("Line"), Drawing.new("Line"), Drawing.new("Line")}, tracer = Drawing.new("Line"), text = Drawing.new("Text"), } for _, l in ipairs(obj.box) do l.Thickness = 1; l.Transparency = 1; l.Visible = false end obj.tracer.Thickness = 1; obj.tracer.Transparency = 1; obj.tracer.Visible = false obj.text.Size = 14; obj.text.Center = false; obj.text.Outline = true; obj.text.Visible = false espObjects[player] = obj return obj end local function hideESP(obj) for _, l in ipairs(obj.box) do l.Visible = false end obj.tracer.Visible = false obj.text.Visible = false end local function removeESP(player) local obj = espObjects[player] if not obj then return end for _, l in ipairs(obj.box) do l:Remove() end obj.tracer:Remove(); obj.text:Remove() espObjects[player] = nil end local function updateESP() if Settings.Combat.ShowFOV and Settings.UIEnabled then fovCircle.Position = Vector2.new(Camera.ViewportSize.X/2, Camera.ViewportSize.Y/2) fovCircle.Radius = Settings.Combat.FOVRadius fovCircle.Visible = true else fovCircle.Visible = false end local activePlayers = {} for _, data in ipairs(cachedEnemies) do activePlayers[data.player] = true local obj = getOrCreateESP(data.player) local root = data.rootPart local pos, onScreen = Camera:WorldToViewportPoint(root.Position) if not onScreen or not Settings.UIEnabled then hideESP(obj); goto continue end local head = data.character:FindFirstChild("Head") local headPos = head and Camera:WorldToViewportPoint(head.Position + Vector3.new(0, 0.5, 0)) or Vector3.new(pos.X, pos.Y - 50, pos.Z) local footPos = Camera:WorldToViewportPoint(root.Position - Vector3.new(0, 3, 0)) local h = math.abs(headPos.Y - footPos.Y) local w = h * 0.6 local left = pos.X - w/2 local right = pos.X + w/2 local top = headPos.Y local bottom = footPos.Y local isFriendly = data.player.Team and LP.Team and data.player.Team == LP.Team local col = isFriendly and Settings.Visuals.TeamColor or Settings.Visuals.ESPColor -- Box if Settings.Visuals.Box then local corners = { {Vector2.new(left, top), Vector2.new(right, top)}, {Vector2.new(right, top), Vector2.new(right, bottom)}, {Vector2.new(right, bottom), Vector2.new(left, bottom)}, {Vector2.new(left, bottom), Vector2.new(left, top)}, } for i, c in ipairs(corners) do obj.box[i].From = c[1]; obj.box[i].To = c[2] obj.box[i].Color = col; obj.box[i].Visible = true end else for _, l in ipairs(obj.box) do l.Visible = false end end -- Tracer if Settings.Visuals.Tracers then obj.tracer.From = Vector2.new(Camera.ViewportSize.X/2, Camera.ViewportSize.Y) obj.tracer.To = Vector2.new(pos.X, pos.Y) obj.tracer.Color = Settings.Visuals.TracerColor obj.tracer.Visible = true else obj.tracer.Visible = false end -- Text local parts = {} if Settings.Visuals.Name then table.insert(parts, data.player.Name) end if Settings.Visuals.Health then table.insert(parts, string.format("HP: %d/%d", math.floor(data.humanoid.Health), math.floor(data.humanoid.MaxHealth))) end if Settings.Visuals.Distance then local dist = (root.Position - Camera.CFrame.Position).Magnitude table.insert(parts, math.floor(dist) .. "m") end if Settings.Visuals.Weapon then local tool = data.character:FindFirstChildWhichIsA("Tool") table.insert(parts, tool and tool.Name or "Unarmed") end if #parts > 0 then obj.text.Text = table.concat(parts, " | ") obj.text.Position = Vector2.new(left, top - 18) obj.text.Color = Color3.new(1, 1, 1) obj.text.Visible = true else obj.text.Visible = false end ::continue:: end for player, obj in pairs(espObjects) do if not activePlayers[player] then hideESP(obj) if not player or not player.Parent then removeESP(player) end end end end -- Camlock local function camlock() if not Settings.Combat.Camlock or not Settings.UIEnabled then State.currentTarget = nil; return end local cross = Vector2.new(Camera.ViewportSize.X/2, Camera.ViewportSize.Y/2) local best, bestDist, bestPart = nil, math.huge, nil for _, data in ipairs(cachedEnemies) do if not data.targetPart then continue end local sp, vis = Camera:WorldToViewportPoint(data.targetPart.Position) if not vis then continue end local d = (Vector2.new(sp.X, sp.Y) - cross).Magnitude if d < Settings.Combat.FOVRadius and d < bestDist then bestDist = d; best = data; bestPart = data.targetPart end end if bestPart then State.currentTarget = bestPart local targetPos = bestPart.Position if Settings.Combat.Prediction > 0 and best.rootPart:IsA("BasePart") then targetPos = targetPos + best.rootPart.AssemblyLinearVelocity * Settings.Combat.Prediction end local desired = CFrame.new(Camera.CFrame.Position, targetPos) local smooth = 1 - math.min(Settings.Combat.CamlockSmoothing, 0.99) Camera.CFrame = Camera.CFrame:Lerp(desired, smooth) else State.currentTarget = nil end end -- Triggerbot local function triggerbot() if not Settings.Combat.Triggerbot or not Settings.UIEnabled then return end local now = os.clock() * 1000 if now - State.lastTriggerTime < Settings.Combat.TriggerCooldown then return end local cross = Vector2.new(Camera.ViewportSize.X/2, Camera.ViewportSize.Y/2) for _, data in ipairs(cachedEnemies) do if not data.targetPart then continue end local sp, vis = Camera:WorldToViewportPoint(data.targetPart.Position) if not vis then continue end if (Vector2.new(sp.X, sp.Y) - cross).Magnitude < 50 then State.lastTriggerTime = now pcall(function() if syn and syn.input then syn.input:ClickButton1() elseif VirtualUser then VirtualUser:ClickButton1(Vector2.new(0,0)) else mouse1click() end end) return end end end -- Movement local function setNoclip(enabled) if enabled then if not State.noclipConn then State.noclipConn = RunService.Stepped:Connect(function() local char = LP.Character if not char then return end for _, p in ipairs(char:GetDescendants()) do if p:IsA("BasePart") then p.CanCollide = false end end end) end else if State.noclipConn then State.noclipConn:Disconnect() State.noclipConn = nil local char = LP.Character if char then for _, p in ipairs(char:GetDescendants()) do if p:IsA("BasePart") then p.CanCollide = true end end end end end end local function setInfiniteJump(enabled) if enabled and not State.infJumpConn then State.infJumpConn = UIS.JumpRequest:Connect(function() local hum = LP.Character and LP.Character:FindFirstChild("Humanoid") if hum then hum:ChangeState(Enum.HumanoidStateType.Jumping) end end) elseif not enabled and State.infJumpConn then State.infJumpConn:Disconnect() State.infJumpConn = nil end end local function applyWeaponMods() local char = LP.Character if not char then return end local tool = char:FindFirstChildWhichIsA("Tool") if not tool then return end pcall(function() for _, name in ipairs({"Recoil","Spread","WeaponRecoil","Sway","RecoilAmount"}) do local val = tool:FindFirstChild(name) if val and val:IsA("ValueBase") then val.Value = 0 end end end) end -- UI local uiObjects = {} local function createUI() local bg = Drawing.new("Square") bg.Filled = true; bg.Color = Color3.fromRGB(15, 15, 20) bg.Transparency = 0.85; bg.Size = Vector2.new(340, 140) bg.Position = Vector2.new(10, 10); bg.Visible = false local title = Drawing.new("Text") title.Text = "Bronx Duels [cook45]" title.Size = 18; title.Color = Color3.fromRGB(255, 200, 50) title.Position = Vector2.new(20, 15); title.Outline = true; title.Visible = false local status = Drawing.new("Text") status.Size = 13; status.Color = Color3.new(1,1,1) status.Position = Vector2.new(20, 40); status.Outline = true; status.Visible = false uiObjects = {bg = bg, title = title, status = status} end local function updateUI() if not uiObjects.bg then createUI() end local vis = Settings.UIEnabled uiObjects.bg.Visible = vis uiObjects.title.Visible = vis uiObjects.status.Visible = vis if not vis then return end uiObjects.status.Text = string.format( "Lock: %s (%.0f%%) | Trigger: %s (%dms)\nHitbox: %s | Predict: %.3f\nSpeed: %d | Jump: %d | Noclip: %s | InfJump: %s", Settings.Combat.Camlock and "ON" or "OFF", (1 - Settings.Combat.CamlockSmoothing) * 100, Settings.Combat.Triggerbot and "ON" or "OFF", Settings.Combat.TriggerCooldown, Settings.Combat.Hitbox, Settings.Combat.Prediction, Settings.Movement.Walkspeed, Settings.Movement.JumpPower, Settings.Movement.Noclip and "ON" or "OFF", Settings.Movement.InfiniteJump and "ON" or "OFF" ) end -- Keybinds UIS.InputBegan:Connect(function(input, gpe) if gpe then return end local key = input.KeyCode.Name if key == Settings.Keybinds.ToggleUI then Settings.UIEnabled = not Settings.UIEnabled elseif key == Settings.Keybinds.Camlock then Settings.Combat.Camlock = not Settings.Combat.Camlock elseif key == Settings.Keybinds.Noclip then Settings.Movement.Noclip = not Settings.Movement.Noclip setNoclip(Settings.Movement.Noclip) elseif key == Settings.Keybinds.Triggerbot then Settings.Combat.Triggerbot = not Settings.Combat.Triggerbot end end) -- Main loop createUI() setNoclip(Settings.Movement.Noclip) setInfiniteJump(Settings.Movement.InfiniteJump) RunService.RenderStepped:Connect(function() rebuildCache() updateESP() camlock() triggerbot() applyWeaponMods() updateUI() end) -- Walkspeed/JumpPower RunService.Heartbeat:Connect(function() local hum = LP.Character and LP.Character:FindFirstChild("Humanoid") if not hum then return end if hum.WalkSpeed ~= Settings.Movement.Walkspeed then hum.WalkSpeed = Settings.Movement.Walkspeed end if hum.JumpPower ~= Settings.Movement.JumpPower then hum.JumpPower = Settings.Movement.JumpPower end end) Players.PlayerRemoving:Connect(function(p) removeESP(p) end) print("[cook45] Bronx Duels loaded | INS=UI | Q=Lock | X=Noclip | T=Trigger")