-- 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