BC9 universal Aimbot
Key RequiredUniversal

BC9 universal Aimbot

Universal ScriptBC_rider9BC_rider9 1.1K views 166 executesUpdated Feb 23, 2026
5.0/ 5(1 votes)
10100% Positive
Lua Script•201 lines (7833 chars)
local Players = game:GetService("Players")
local LocalPlayer = Players.LocalPlayer
local Camera = workspace.CurrentCamera
local RunService = game:GetService("RunService")
local UserInputService = game:GetService("UserInputService")

local Settings = {
    Aimbot = false,
    ESP = true,
    Tracers = true,
    TeamCheck = true,
    FOV = 150,
    AimPart = "Head",
    Smoothness = 5,
    ShowFOV = true
}

local ScreenGui = Instance.new("ScreenGui", LocalPlayer:WaitForChild("PlayerGui"))
ScreenGui.Name = "BC9_V2"
ScreenGui.ResetOnSpawn = false

local Main = Instance.new("Frame", ScreenGui)
Main.Size = UDim2.new(0, 240, 0, 390)
Main.Position = UDim2.new(0.5, -120, 0.5, -195)
Main.BackgroundColor3 = Color3.fromRGB(12, 12, 12)
Main.BorderSizePixel = 0
Main.Active = true
Main.Draggable = true

Instance.new("UICorner", Main).CornerRadius = UDim.new(0, 8)
local Stroke = Instance.new("UIStroke", Main)
Stroke.Color = Color3.fromRGB(75, 0, 190)
Stroke.Thickness = 1.8

local Title = Instance.new("TextLabel", Main)
Title.Size = UDim2.new(1, 0, 0, 40)
Title.BackgroundTransparency = 1
Title.Text = "  BC9 V2"
Title.TextColor3 = Color3.fromRGB(255, 255, 255)
Title.TextSize = 14
Title.Font = Enum.Font.RobotoMono
Title.TextXAlignment = "Left"

local StatusBtn = Instance.new("TextButton", Main)
StatusBtn.Size = UDim2.new(0, 18, 0, 18)
StatusBtn.Position = UDim2.new(1, -25, 0, 11)
StatusBtn.BackgroundColor3 = Color3.fromRGB(220, 40, 40)
StatusBtn.Text = ""
Instance.new("UICorner", StatusBtn).CornerRadius = UDim.new(1, 0)

local Container = Instance.new("ScrollingFrame", Main)
Container.Size = UDim2.new(1, -20, 1, -55)
Container.Position = UDim2.new(0, 10, 0, 45)
Container.BackgroundTransparency = 1
Container.ScrollBarThickness = 0
Container.CanvasSize = UDim2.new(0, 0, 0, 0)
Instance.new("UIListLayout", Container).Padding = UDim.new(0, 6)

local Minimized = false
StatusBtn.MouseButton1Click:Connect(function()
    Minimized = not Minimized
    Container.Visible = not Minimized
    Main.Size = Minimized and UDim2.new(0, 240, 0, 40) or UDim2.new(0, 240, 0, 390)
    StatusBtn.BackgroundColor3 = Minimized and Color3.fromRGB(40, 220, 40) or Color3.fromRGB(220, 40, 40)
end)

local function NewToggle(name, key)
    local Btn = Instance.new("TextButton", Container)
    Btn.Size = UDim2.new(1, -5, 0, 30)
    Btn.BackgroundColor3 = Settings[key] and Color3.fromRGB(75, 0, 190) or Color3.fromRGB(25, 25, 25)
    Btn.Text = name .. ": " .. (Settings[key] and "ON" or "OFF")
    Btn.TextColor3 = Color3.fromRGB(255, 255, 255)
    Btn.Font = Enum.Font.SourceSans
    Btn.TextSize = 14
    Instance.new("UICorner", Btn)

    Btn.MouseButton1Click:Connect(function()
        Settings[key] = not Settings[key]
        Btn.Text = name .. ": " .. (Settings[key] and "ON" or "OFF")
        Btn.BackgroundColor3 = Settings[key] and Color3.fromRGB(75, 0, 190) or Color3.fromRGB(25, 25, 25)
    end)
end

local function NewSlider(name, min, max, key)
    local SFrame = Instance.new("Frame", Container)
    SFrame.Size = UDim2.new(1, -5, 0, 45)
    SFrame.BackgroundColor3 = Color3.fromRGB(20, 20, 20)
    Instance.new("UICorner", SFrame)

    local Label = Instance.new("TextLabel", SFrame)
    Label.Size = UDim2.new(1, 0, 0, 20)
    Label.Position = UDim2.new(0, 8, 0, 2)
    Label.BackgroundTransparency = 1
    Label.Text = name .. ": " .. Settings[key]
    Label.TextColor3 = Color3.fromRGB(200, 200, 200)
    Label.TextSize = 12
    Label.Font = Enum.Font.SourceSans
    Label.TextXAlignment = "Left"

    local SliderBar = Instance.new("Frame", SFrame)
    SliderBar.Size = UDim2.new(1, -20, 0, 4)
    SliderBar.Position = UDim2.new(0, 10, 0, 32)
    SliderBar.BackgroundColor3 = Color3.fromRGB(40, 40, 40)
    SliderBar.BorderSizePixel = 0

    local Fill = Instance.new("Frame", SliderBar)
    Fill.Size = UDim2.new((Settings[key] - min) / (max - min), 0, 1, 0)
    Fill.BackgroundColor3 = Color3.fromRGB(75, 0, 190)
    Fill.BorderSizePixel = 0

    local IsDragging = false
    local function Update()
        local mPos = UserInputService:GetMouseLocation().X
        local rPos = SliderBar.AbsolutePosition.X
        local size = SliderBar.AbsoluteSize.X
        local raw = math.clamp((mPos - rPos) / size, 0, 1)
        local val = math.floor(min + (max - min) * raw)
        Settings[key] = val
        Label.Text = name .. ": " .. val
        Fill.Size = UDim2.new(raw, 0, 1, 0)
    end

    SliderBar.InputBegan:Connect(function(i) if i.UserInputType == Enum.UserInputType.MouseButton1 then IsDragging = true end end)
    UserInputService.InputEnded:Connect(function(i) if i.UserInputType == Enum.UserInputType.MouseButton1 then IsDragging = false end end)
    UserInputService.InputChanged:Connect(function(i) if IsDragging and i.UserInputType == Enum.UserInputType.MouseMovement then Update() end end)
end

local Tracers = {}
local function Visuals()
    for _, p in pairs(Players:GetPlayers()) do
        if p == LocalPlayer then continue end
        local char = p.Character
        local root = char and char:FindFirstChild("HumanoidRootPart")
        local tracer = Tracers[p] or Drawing.new("Line")
        Tracers[p] = tracer

        if char and root then
            local pos, vis = Camera:WorldToViewportPoint(root.Position)
            local isF = LocalPlayer:IsFriendsWith(p.UserId)
            local isT = Settings.TeamCheck and p.Team == LocalPlayer.Team
            local col = isF and Color3.fromRGB(0, 255, 0) or Color3.fromRGB(255, 0, 0)
            local esp = char:FindFirstChild("BC9_ESP") or Instance.new("Highlight", char)
            esp.Name = "BC9_ESP"

            if (isT and not isF) then
                esp.Enabled = false
                tracer.Visible = false
            else
                esp.Enabled = Settings.ESP
                esp.OutlineColor, esp.FillColor = col, col
                esp.FillTransparency = 0.6
                tracer.Visible = Settings.Tracers and vis
                tracer.From, tracer.To, tracer.Color = Vector2.new(Camera.ViewportSize.X/2, Camera.ViewportSize.Y), Vector2.new(pos.X, pos.Y), col
            end
        else
            if char and char:FindFirstChild("BC9_ESP") then char.BC9_ESP.Enabled = false end
            tracer.Visible = false
        end
    end
end

local FOV = Drawing.new("Circle")
FOV.Thickness = 1
FOV.Color = Color3.fromRGB(75, 0, 190)
FOV.Filled = false -- Fix: This ensures it is a ring, not a solid circle
FOV.Transparency = 1

local function Target()
    local t, d = nil, Settings.FOV
    for _, v in pairs(Players:GetPlayers()) do
        if v ~= LocalPlayer and v.Character and v.Character:FindFirstChild(Settings.AimPart) then
            if Settings.TeamCheck and v.Team == LocalPlayer.Team then continue end
            local p, vis = Camera:WorldToScreenPoint(v.Character[Settings.AimPart].Position)
            if vis then
                local mag = (Vector2.new(p.X, p.Y) - Vector2.new(Camera.ViewportSize.X/2, Camera.ViewportSize.Y/2)).Magnitude
                if mag < d then d = mag t = v end
            end
        end
    end
    return t
end

NewToggle("Aimbot", "Aimbot")
NewToggle("ESP", "ESP")
NewToggle("Tracers", "Tracers")
NewToggle("Team Check", "TeamCheck")
NewToggle("Show FOV", "ShowFOV")
NewSlider("FOV Range", 30, 800, "FOV")
NewSlider("Smoothness", 1, 20, "Smoothness")

RunService.RenderStepped:Connect(function()
    Visuals()
    FOV.Visible, FOV.Radius = Settings.ShowFOV, Settings.FOV
    FOV.Position = Vector2.new(Camera.ViewportSize.X/2, Camera.ViewportSize.Y/2)
    if Settings.Aimbot then
        local t = Target()
        if t and t.Character and t.Character:FindFirstChild(Settings.AimPart) then
            Camera.CFrame = Camera.CFrame:Lerp(CFrame.lookAt(Camera.CFrame.Position, t.Character[Settings.AimPart].Position), 1/Settings.Smoothness)
        end
    end
end)

Features & Information

ɪᴛ ɪs ᴍɪɴᴇ.. -ғᴇᴀᴜᴛʀᴇ𝚜-- 𝙰𝚒𝚖𝚋𝚘𝚝 𝙰𝚒𝚖𝚋𝚘𝚝 𝚝𝚎𝚊𝚖 𝚌𝚑𝚎𝚌𝚔 𝙵𝚘𝚟 𝚂𝚖𝚘𝚘𝚝𝚑𝚗𝚎𝚜𝚜 𝙰𝚒𝚖 𝚙𝚊𝚛𝚝

Community Comments (2)

Looks AI

BC_rider9BC_rider9Feb 23, 2026

Does it?

More Scripts for Universal Scripts