NEW open surce Smooth aimbot for
Key Required

NEW open surce Smooth aimbot for

Dan FFATYGATYGA 48.5K views 6.2K executesUpdated Apr 12, 2025
5.0/ 5(2 votes)
20100% Positive
Lua Script•131 lines (4114 chars)
-- Aimbot Script
local aimbotEnabled = false
local aimbotToggleKey = Enum.KeyCode.Q
local aimbotFOV = 360
local aimbotMaxRange = 1000

local UserInputService = game:GetService("UserInputService")
local Players = game:GetService("Players")
local RunService = game:GetService("RunService")
local Camera = workspace.CurrentCamera
local LocalPlayer = Players.LocalPlayer

local currentTarget = nil

-- Drawing setup
local FOVCircle = Drawing.new("Circle")
FOVCircle.Color = Color3.fromRGB(255, 0, 0)
FOVCircle.Thickness = 2
FOVCircle.NumSides = 32
FOVCircle.Radius = aimbotFOV / 2
FOVCircle.Visible = false

local SnapLine = Drawing.new("Line")
SnapLine.Color = Color3.fromRGB(255, 0, 0)
SnapLine.Thickness = 2
SnapLine.Visible = false

local HeadDot = Drawing.new("Circle")
HeadDot.Color = Color3.fromRGB(255, 0, 0)
HeadDot.Thickness = 2
HeadDot.NumSides = 32
HeadDot.Radius = 5
HeadDot.Visible = false

-- Utils
local function updateFOVCircle()
    local size = Camera.ViewportSize
    FOVCircle.Position = Vector2.new(size.X / 2, size.Y / 2)
end

local function updateSnapLine(targetPos)
    local size = Camera.ViewportSize
    SnapLine.From = Vector2.new(size.X / 2, size.Y / 2)
    local screenPoint = Camera:WorldToViewportPoint(targetPos)
    SnapLine.To = Vector2.new(screenPoint.X, screenPoint.Y)
    SnapLine.Visible = true
end

local function updateHeadDot(targetPos)
    local screenPoint = Camera:WorldToViewportPoint(targetPos)
    HeadDot.Position = Vector2.new(screenPoint.X, screenPoint.Y)
    HeadDot.Visible = true
end

local function isValidTarget(player)
    return player
        and player.Character
        and player.Character:FindFirstChild("Head")
        and player.Character:FindFirstChild("Humanoid")
        and player.Character.Humanoid.Health > 0
end

local function getClosestPlayer()
    local closestPlayer = nil
    local shortestDistance = math.huge

    for _, player in ipairs(Players:GetPlayers()) do
        if player ~= LocalPlayer and isValidTarget(player) then
            local head = player.Character.Head
            local distance = (head.Position - LocalPlayer.Character.HumanoidRootPart.Position).Magnitude

            if distance <= aimbotMaxRange then
                local screenPoint, onScreen = Camera:WorldToViewportPoint(head.Position)
                if onScreen then
                    local screenCenter = Vector2.new(Camera.ViewportSize.X / 2, Camera.ViewportSize.Y / 2)
                    local distanceFromCenter = (Vector2.new(screenPoint.X, screenPoint.Y) - screenCenter).Magnitude

                    if distanceFromCenter <= aimbotFOV / 2 and distance < shortestDistance then
                        shortestDistance = distance
                        closestPlayer = player
                    end
                end
            end
        end
    end

    return closestPlayer
end

-- Input
UserInputService.InputBegan:Connect(function(input, gameProcessed)
    if not gameProcessed and input.KeyCode == aimbotToggleKey then
        aimbotEnabled = not aimbotEnabled
        FOVCircle.Visible = aimbotEnabled
        SnapLine.Visible = false
        HeadDot.Visible = false

        -- Reset target on toggle
        currentTarget = nil

        print("Aimbot toggled: " .. tostring(aimbotEnabled))
    end
end)

-- Main loop
RunService.RenderStepped:Connect(function()
    updateFOVCircle()

    if aimbotEnabled then
        -- Get target if we don't have one yet
        if not currentTarget or not isValidTarget(currentTarget) then
            currentTarget = getClosestPlayer()
        end

        -- Lock onto current target
        if currentTarget and isValidTarget(currentTarget) then
            local head = currentTarget.Character.Head
            updateSnapLine(head.Position)
            updateHeadDot(head.Position)

            local targetCFrame = CFrame.new(Camera.CFrame.Position, head.Position)
            Camera.CFrame = targetCFrame
        else
            SnapLine.Visible = false
            HeadDot.Visible = false
        end
    else
        SnapLine.Visible = false
        HeadDot.Visible = false
    end
end)

Features & Information

smooth aimbot to turn on use q and off

Community Comments (6)

TYGATYGAApr 13, 2025

Should i add more on this script?

rakheshabhinand48rakheshabhinand48Apr 16, 2025

why does it keep crashing when i execute it (i use solora)

azkapermata03azkapermata03Apr 28, 2025

ty broo

steveninigo29steveninigo29Jul 22, 2025

How do i paste this on delta bro

QMARZQMARZJul 22, 2025

yes u should add miore

keifkeifNov 4, 2025

how do i use this

More Scripts for Dan FFA