
KeylessUniversal

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)



Looks AI
Does it?