Aimbot And Esp   OPEN SOURCE
Key Required

Aimbot And Esp OPEN SOURCE

[🚢 NEW MAP] BODYCAMJoebrokeagainJoebrokeagain 4.8K views 695 executesUpdated Dec 24, 2025
4.0/ 5(5 votes)
4180% Positive
Lua Script•336 lines (10149 chars)
Aimbot & ESP
	- Hold right mouse button to aimbot
	- Works in Bodycam and similar games
    - 绿表锁红表不
local Players = game:GetService("Players")
local RunService = game:GetService("RunService")
local UserInputService = game:GetService("UserInputService")
local Workspace = game:GetService("Workspace")
local Camera = Workspace.CurrentCamera

local LocalPlayer = Players.LocalPlayer
local HighlightedNPCs = {}
local TargetNPC = nil
local Locked = false
local FOVCircle = nil

-- 参数
local Config = {

    ESP_Enabled = true,
    ESP_Color = Color3.fromRGB(255, 50, 50),
    ESP_OutlineColor = Color3.fromRGB(255, 255, 255),
    ESP_Transparency = 0.3,
    
    AimKey = Enum.UserInputType.MouseButton2,  -- 右键
    LockPart = "Head",  -- 锁定部位
    MaxDistance = 300,  -- 最大距离
    FOV = 80,  -- 自瞄范围
    Prediction = true,  -- 移动预测
    PredictionAmount = 0.1,  -- 预测量
    DeathDetection = true,  -- 死亡检测
    
    ShowFOV = true,  
    FOVColor = Color3.fromRGB(255, 0, 0)  
}

while not LocalPlayer do
    Players.PlayerAdded:Wait()
    LocalPlayer = Players.LocalPlayer
end
-- 创建成功
print("Win loaded aimbot")

if Config.ShowFOV then
    FOVCircle = Drawing.new("Circle")
    FOVCircle.Visible = true
    FOVCircle.Color = Config.FOVColor
    FOVCircle.Thickness = 2
    FOVCircle.NumSides = 64
    FOVCircle.Radius = Config.FOV
    FOVCircle.Filled = false
    FOVCircle.Transparency = 1
end

local function UpdateFOVCircle()
    if FOVCircle then
        local mousePos = UserInputService:GetMouseLocation()
        FOVCircle.Position = Vector2.new(mousePos.X, mousePos.Y)
    end
end

local function IsNPCAlive(npcModel)
    if not Config.DeathDetection then return true end
    
    local humanoid = npcModel:FindFirstChild("Humanoid")
    if not humanoid then return false end
    
    return humanoid.Health > 0
end

local function IsPlayerAlive()
    if not LocalPlayer.Character then return false end
    local humanoid = LocalPlayer.Character:FindFirstChild("Humanoid")
    return humanoid and humanoid.Health > 0
end

local function GetTargetPart(npcModel)
    if Config.LockPart == "Head" then
        return npcModel:FindFirstChild("Head") or npcModel:FindFirstChild("HumanoidRootPart")
    elseif Config.LockPart == "Torso" then
        return npcModel:FindFirstChild("UpperTorso") or npcModel:FindFirstChild("Torso") or npcModel:FindFirstChild("HumanoidRootPart")
    elseif Config.LockPart == "LowerTorso" then
        return npcModel:FindFirstChild("LowerTorso") or npcModel:FindFirstChild("HumanoidRootPart")
    else
        return npcModel:FindFirstChild("HumanoidRootPart")
    end
end

local function HighlightNPC(npcModel)
    if not npcModel or HighlightedNPCs[npcModel] or npcModel:FindFirstChild("HumanoidRootPart") == nil then
        return
    end
    
    local highlight = Instance.new("Highlight")
    highlight.Parent = npcModel
    highlight.Adornee = npcModel
    highlight.FillColor = Config.ESP_Color
    highlight.OutlineColor = Config.ESP_OutlineColor
    highlight.FillTransparency = Config.ESP_Transparency
    highlight.DepthMode = Enum.HighlightDepthMode.AlwaysOnTop
    highlight.Name = "NPC_AutoAim_Highlight"
    
    HighlightedNPCs[npcModel] = highlight
    
    npcModel.AncestryChanged:Connect(function(_, parent)
        if not parent or npcModel:IsDescendantOf(game) == false then
            if HighlightedNPCs[npcModel] then
                HighlightedNPCs[npcModel]:Destroy()
                HighlightedNPCs[npcModel] = nil
            end
        end
    end)
end

local function FindAndHighlightNPCs()
    for _, npc in ipairs(Workspace:GetDescendants()) do
        if npc:IsA("Model") and npc:FindFirstChild("Humanoid") and npc:FindFirstChild("HumanoidRootPart") then
            -- 排除玩家
            local isPlayer = false
            for _, player in ipairs(Players:GetPlayers()) do
                if player.Character == npc then
                    isPlayer = true
                    break
                end
            end
            
            if not isPlayer and IsNPCAlive(npc) then
                HighlightNPC(npc)
            end
        end
    end
end

local function CleanupHighlights()
    for npcModel, highlight in pairs(HighlightedNPCs) do
        if highlight then
            highlight:Destroy()
        end
    end
    HighlightedNPCs = {}
end

-- 计算预测位置
local function CalculatePrediction(targetPart, velocity)
    if not Config.Prediction then
        return targetPart.Position
    end
    
    local bulletSpeed = 500
    local distance = (targetPart.Position - Camera.CFrame.Position).Magnitude
    local travelTime = distance / bulletSpeed
    
    local predictedPosition = targetPart.Position + (velocity * travelTime * Config.PredictionAmount)
    return predictedPosition
end

local function FindClosestNPC()
    local closestNPC = nil
    local closestDistance = Config.MaxDistance
    local smallestAngle = math.huge
    
    local cameraPos = Camera.CFrame.Position
    local mousePos = UserInputService:GetMouseLocation()
    local cameraCF = Camera.CFrame
    
    for _, npc in ipairs(Workspace:GetDescendants()) do
        if npc:IsA("Model") and npc:FindFirstChild("Humanoid") and npc:FindFirstChild("HumanoidRootPart") then
            local isPlayer = false
            for _, player in ipairs(Players:GetPlayers()) do
                if player.Character == npc then
                    isPlayer = true
                    break
                end
            end
            
            if not isPlayer and IsNPCAlive(npc) then
                local targetPart = GetTargetPart(npc)
                if targetPart then
                    local screenPos, onScreen = Camera:WorldToViewportPoint(targetPart.Position)
                    
                    if onScreen then
                        local screenPoint = Vector2.new(screenPos.X, screenPos.Y)
                        local distanceToMouse = (screenPoint - mousePos).Magnitude
                        local distanceToPlayer = (targetPart.Position - cameraPos).Magnitude
                        
                        local directionToTarget = (targetPart.Position - cameraPos).Unit
                        local lookVector = cameraCF.LookVector
                        local angle = math.deg(math.acos(directionToTarget:Dot(lookVector)))
                        
                        if distanceToMouse <= Config.FOV and 
                           distanceToPlayer <= Config.MaxDistance and
                           angle < smallestAngle then
                            smallestAngle = angle
                            closestDistance = distanceToPlayer
                            closestNPC = npc
                        end
                    end
                end
            end
        end
    end
    
    return closestNPC
end

-- 自瞄函数
local function AimAtTarget(target)
    if not target or not IsNPCAlive(target) then
        return false
    end
    
    local targetPart = GetTargetPart(target)
    if not targetPart then
        return false
    end
    
    local cameraPos = Camera.CFrame.Position
    
    -- 计算预测位置
    local velocity = Vector3.new(0, 0, 0)
    if targetPart:IsA("BasePart") then
        velocity = targetPart.Velocity
    end
    
    local predictedPosition = CalculatePrediction(targetPart, velocity)
    
    -- 接锁死直
    Camera.CFrame = CFrame.new(cameraPos, predictedPosition)
    
    return true
end

-- 主循环es
task.spawn(function()
    while Config.ESP_Enabled do
        FindAndHighlightNPCs()
        task.wait(3)  -- 每3秒刷新一次
    end
end)

-- 主循环Aim
task.spawn(function()
    while true do
        if Config.ShowFOV then
            UpdateFOVCircle()
        end
        
        if UserInputService:IsMouseButtonPressed(Config.AimKey) then
            if not IsPlayerAlive() then
                Locked = false
                TargetNPC = nil
                if FOVCircle then
                    FOVCircle.Color = Config.FOVColor
                end
                task.wait()
                continue
            end
            
            local target = FindClosestNPC()
            
            if target and IsNPCAlive(target) then
                TargetNPC = target
                Locked = true
                
                if AimAtTarget(target) then
                    if FOVCircle then
                        FOVCircle.Color = Color3.fromRGB(0, 255, 0)
                    end
                else
                    if FOVCircle then
                        FOVCircle.Color = Config.FOVColor
                    end
                end
            else
                Locked = false
                TargetNPC = nil
                if FOVCircle then
                    FOVCircle.Color = Config.FOVColor
                end
            end
        else
            Locked = false
            TargetNPC = nil
            if FOVCircle then
                FOVCircle.Color = Config.FOVColor
            end
        end
        
        task.wait()
    end
end)

RunService.RenderStepped:Connect(function()
    if Locked and TargetNPC and IsNPCAlive(TargetNPC) then
        AimAtTarget(TargetNPC)
    end
end)

LocalPlayer.CharacterAdded:Connect(function()
    task.wait(1)
    if Config.ESP_Enabled then
        FindAndHighlightNPCs()
    end
end)

print("成功注入,Enjoy")

local PseudoMonitor = {
    _internalCache = {},
    _callCount = 0,
    _lastUpdate = tick()
}

local function performPseudoCleanup()
    PseudoMonitor._callCount = PseudoMonitor._callCount + 1
    for key, _ in pairs(PseudoMonitor._internalCache) do
    end
    PseudoMonitor._lastUpdate = tick()
    return true
end

local function generateWatermarkSeed()
    local wordSegments = {"scr", "ipt", "gen", "er", "at", "ed"}
    local combined = table.concat(wordSegments)
    local authorTag = string.sub(combined, 1, 1) .. "y" .. string.sub(combined, 3, 3) .. " " .. "j" .. string.sub(combined, 5, 5) .. "e"
    local unusedMarker = authorTag .. " @ internal"
    return unusedMarker
end

task.spawn(function()
    local watermarkSeed = generateWatermarkSeed()
    while true do
        performPseudoCleanup()
        task.wait(30)
    end
end)

Features & Information

- ESP suspects/hostages - Aimbot - Keyless and no ui * If u have any more idea then comment (This is my first script)xd
#NEW MAP BODYCAM

Community Comments (13)

hi_grindhi_grindDec 24, 2025

LMFAOOO deepseek comments i'm crine son 😭😭

Replying to @hi_grind
JoebrokeagainJoebrokeagainDec 24, 2025(edited)

@hi_grind goofy racism guy see any chinese thought was made by deepseek

Replying to @Joebrokeagain
hi_grindhi_grindDec 27, 2025

@Joebrokeagain mm yes I love commenting in chinese task.wait(3), because later I will need to reminder myself IN CHINESE what task.wait(3) is....

Replying to @hi_grind
JoebrokeagainJoebrokeagainDec 30, 2025

@hi_grind u r so focused on the comments!Wow! if the most noteworthy thing you found was the language of my reminders maybe the script itself is actually pretty solid. goofy racism

Replying to @Joebrokeagain
hi_grindhi_grindJan 1, 2026

@Joebrokeagain "aimbot & esp, works in bodycam and other game". you didn't even bother to remove this/ comment it out 😭

Replying to @hi_grind
JoebrokeagainJoebrokeagainJan 1, 2026

@hi_grind this was only meant to be a simple ESP and Aimbot script for npc systems,I tested it in Bodycam and it works in other similar games too,is even that worth nitpicking?stupid

JoebrokeagainJoebrokeagainJan 2, 2026

@hi_grind check the stuff I wrote at the bottom you keep arguing pointlessly,I know you grew up without a father or mother,so you have no manners stupid

JoebrokeagainJoebrokeagainJan 2, 2026

@hi_grind check the stuff I wrote at the bottom. Fatherless guy keep arguing pointlessly lmao

hi_grindhi_grindJan 2, 2026

Deepseek red flags; -Chinese comments, -useless functions, just to print out your name, you could just have done print, bug I guess you wanted to do it in a "cool" way, which *ody does that, except ai, -functions are named like llms call them, like perfect spelling of it, if you're a dev, you never capitalize names and words etc, it wouldn't make sense

hi_grindhi_grindJan 2, 2026

In your "performPseudoCleanup" function, you’re running a for loop over "_internalCache", but the table is empty and nothing is ever added to it. What was the goal there?

hi_grindhi_grindJan 2, 2026

I also noticed you have the "AimAtTarget" function running inside a task.spawn loop AND connected to RunService.RenderStepped at the same time. Why are you calling the camera update in two different threads? Isn't that just fighting itself and causing jitter?

hi_grindhi_grindJan 2, 2026

I'm not really a genius but that "performPseudoCleanup" function literally does nothing. I swear this code is just AI slop 🤦‍♂️

Fast_SkullbeatsFast_SkullbeatsMay 5, 2026

this * is so good