op  aimbot esp and more
Key Required Patched

op aimbot esp and more

SNIPER DUELSmiks81001miks81001 5.1K views 48 executesUpdated Nov 13, 2025
5.0/ 5(1 votes)
10100% Positive
Lua Script•202 lines (7241 chars)
-- Sniper Duels Aimbot + ESP (Boxes, Names, Health Bars, Tracers) with Cool UI (No Keybind)

-- Import required modules
local Players = game:GetService("Players")
local Player = Players.LocalPlayer
local StarterGui = game:GetService("StarterGui")
local StarterPlayer = game:GetService("StarterPlayer")
local StarterCharacters = game:GetSeine("StarterCharacters")
local StarterPacks = game:GetService("StarterPacks")
local UserInputService = game:GetService("UserInputService")
local RunService = game:GetService("RunService")
local CollectionsService = game:GetService("CollectionsService")
local Workspace = game:GetService("Workspace")
local CoreGui = game:GetService("CoreGui")

-- Create Main GUI
local mainGui = Instance.new("ScreenGui")
mainGui.Name = "MainGUI"
mainGui.Parent = StarterGui
mainGui.ZIndexBehavior = Enum.ZIndexBehavior.Sibling

-- Create Frame
local frame = Instance.new("Frame")
frame.Size = UDim.new(0.25, 0)
frame.Position = UDim.new(0, 10)
frame.BackgroundColor3 = Color3.new(0.1, 0.1, 0.1)
frame.Parent = mainGui
frame.Draggable = true

-- Create Toggles
local aimbotToggle = Instance.new("TextButton")
aimbotToggle.Size = UDim.new(1, 0)
aimbotToggle.TextSize = 20
aimbotToggle.TextColor3 = Color3.new(1, 1, 1)
aimbotToggle.Text = "Aimbot: OFF"
aimbotToggle.BackgroundColor3 = Color3.new(0.2, 0.2, 0.2)
aimbotToggle.Parent = frame
aimbotToggle[Mouse.Button1Press] = function()
    if aimbotToggle.Text == "Aimbot: ON" then
        aimbotToggle.Text = "Aimbot: OFF"
        aiming = false
    else
        aimbotToggle.Text = "Aimbot: ON"
        aiming = true
    end
end

local aimAssistToggle = Instance.new("TextButton")
aimAssistToggle.Size = UDim.new(1, 0)
aimAssistToggle.TextSize = 20
aimAssistToggle.TextColor3 = Color3.new(1, 1, 1)
aimAssistToggle.Text = "Aim Assist: OFF"
aimAssistToggle.BackgroundColor3 = Color3.new(0.2, 0.2, 0.2)
aimAssistToggle.Parent = frame
aimAssistToggle[Mouse.Button1Press] = function()
    if aimAssistToggle.Text == "Aim Assist: ON" then
        aimAssistToggle.Text = "Aim Assist: OFF"
        aimAssisting = false
    else
        aimAssistToggle.Text = "Aim Assist: ON"
        aimAssisting = true
    end
end

local espToggle = Instance.new("TextButton")
espToggle.Size = UDim.new(1, 0)
espToggle.TextSize = 20
espToggle.TextColor3 = Color3.new(1, 1, 1)
espToggle.Text = "ESP: OFF"
espToggle.BackgroundColor3 = Color3.new(0.2, 0.2, 0.2)
espToggle.Parent = frame
espToggle[Mouse.Button1Press] = function()
    if espToggle.Text == "ESP: ON" then
        espToggle.Text = "ESP: OFF"
        espEnabled = false
        for _, box in ipairs(espBoxes:GetChildren()) do
            box:Destroy()
        end
        for _, nameplate in ipairs(espNameplates:GetChildren()) do
            nameplate:Destroy()
        end
        for _, tracer in ipairs(espTracers:GetChildren()) do
            tracer:Destroy()
        end
        for _, healthBar in ipards(espHealthBars:GetChildren()) do
            healthBar:Destroy()
        end
    else
        espToggle.Text = "ESP: ON"
        espEnabled = true
    end
end

local tracersToggle = Instance.new("TextButton")
tracersToggle.Size = UDim.new(1, 0)
tracersToggle.TextSize = 20
tracersToggle.TextColor3 = Color3.new(1, 1, 1)
tracersToggle.Text = "Tracers: OFF"
tracersToggle.BackgroundColor3 = Color3.new(0.2, 0.2, 0.2)
tracersToggle.Parent = frame
tracersToggle[Mouse.Button1Press] = function()
    if tracersToggle.Text == "Tracers: ON" then
        tracersToggle.Text = "Tracers: OFF"
        tracersEnabled = false
    else
        tracersToggle.Text = "Tracers: ON"
        tracersEnabled = true
    end
end

-- ESP Variables
local espBoxes = Instance.new("Folder")
espBoxes.Name = "ESP_BOXES"
espBoxes.Parent = CoreGui

local espNameplates = Instance.new("Folder")
espNameplates.Name = "ESP_NAMEPLATES"
espNameplates.Parent = CoreGui

local espTracers = Instance.new("Folder")
espTracers.Name = "ESP_TRACERS"
espTracers.Parent = CoreGui

local espHealthBars = Instance.new("Folder")
espHealthBars.Name = "ESP_HEALTH_BARS"
espHealthBars.Parent = CoreGui

local espEnabled = false
local tracersEnabled = false

-- Aimbot Feature
local aiming = false
local aimAssisting = false

local function getClosestTarget()
    local targets = {}
    for _, player in ipairs(Players:GetPlayers()) do
        if player ~= Player and player.Character and player.Character:FindFirstChild("Humanoid") and player.Character:FindFirstChild("Torso") then
            table.insert(targets, {player, (Player.Character.HumanoidRootPart.Position - player.Character.Torso.Position).Magnitude})
        end
    end

    table.sort(targets, function(a, b) return a[2] < b[2] end)
    return targets[1]
end

local function aimAtTarget(target)
    if target then
        local targetHead = target[1].Character:WaitForChild("Head")
        local targetHeadPos = targetHead.Position
        local aimPos = targetHeadPos + Vector3.new(0, 50, 0) -- Aim slightly above the head

        local mouse = Player:GetMouse()
        local cam = workspace.CurrentCamera
        local camCFrame = cam.CFrame
        local targetPosOnScreen, visible = WorldToScreenPoint(cam, aimPos)

        if visible then
            local lookVector = camCFrame.LookVector
            local newLookVector = Vector3.new(aimPos - mouse.Hit)

            local x, y, z = lookVector.X, lookVector.Y, lookVector.Z
            local dotProductX, dotProductY = newLookVector.X * lookVector.X, newLookVector.Y * lookVector.Y
            local magnitudeX, magnitudeY = newLookVector.Magnitude, lookVector.Magnitude

            local lookVectorX, lookVectorY = (x * dotProductX + z * dotProductY) / (magnitudeX * magnitudeX + magnitudeY * magnitudeY), (y * dotProductX + z * dotProductY) / (magnitudeX * magnitudeX + magnitudeY * magnitudeY)
            local targetLookVector = Vector3.new(lookVectorX, lookVectorY, lookVector.Z)

            cam.CFrame = CFrame.lookAt(camCFrame.Position, camCFrame.Position + targetLookVector)
        end
    end
end

local function onKeyDown(key)
    if key == "f" then -- Change the key if needed
        aiming = not aiming
        aimbotToggle.Text = aiming and "Aimbot: ON" or "Aimbot: OFF"
    end
end

-- Aim Assist Feature
local function aimAssist()
    local target = getClosestTarget()
    if target and aimAssisting then
        local targetHead = target[1].Character:WaitForChild("Head")
        local targetHeadPos = targetHead.Position
        local aimPos = targetHeadPos + Vector3.new(0, 50, 0) -- Aim slightly above the head

        local mouse = Player:GetMouse()
        local cam = workspace.CurrentCamera
        local camCFrame = cam.CFrame
        local targetPosOnScreen, visible = WorldToScreenPoint(cam, aimPos)

        if visible then
            local lookVector = camCFrame.LookVector
            local newLookVector = Vector3.new(aimPos - mouse.Hit)

            local x, y, z = lookVector.X, lookVector.Y, lookVector.Z
            local dotProductX, dotProductY = newLookVector.X * lookVector.X, newLookVector.Y * lookVector.Y
            local magnitudeX, magnitudeY = newLookVector.Magnitude, lookVector.Magnitude

            local lookVectorX, lookVectorY = (x * dotProductX + z * dotProductY) / (magnitudeX * magn

Features & Information

aimbot aim assit esp (op) by me

Community Comments (3)

miks81001miks81001Nov 13, 2025

Not tested

Replying to @miks81001
AlexduedAlexduedNov 13, 2025

@miks81001 then why post it.theres no reason.just make an alt and test it.NOW.

Replying to @Alexdued
picardaladrian96picardaladrian96Nov 13, 2025

@Alexdued no raw not working

More Scripts for SNIPER DUELS