-- [[ Rscripts Risk Notice ]] -- This script is not verified by rscripts.net. Deal with caution. -- -- Stay safe: -- • Never log in on unofficial Roblox sites or lookalike domains. -- • Real Roblox links use roblox.com (check the .com ending). -- • Treat fake Roblox login / "claim reward" pages as phishing. -- [[ End Rscripts Risk Notice ]] --[[ ULTIMATE ESP + AIMBOT (ПКМ) + SILENT AIM (Q) + KILL AURA + TRACKERS + TRIGGERBOT НЕОНОВЫЙ GUI С ПЕРЕТАСКИВАНИЕМ Управление: - Кнопка "Меню" на экране - ПКМ (зажать) — аимбот (плавное наведение) - Q (зажать) — Silent Aim (выстрелы в цель без изменения камеры) - T (нажать) — триггербот - Kill Aura — автоматически атакует NPC в радиусе 100 м (вкл/выкл в меню) ]] if game:GetService("CoreGui"):FindFirstChild("UltimateESP") then game:GetService("CoreGui"):FindFirstChild("UltimateESP"):Destroy() end local Players = game:GetService("Players") local RunService = game:GetService("RunService") local UserInputService = game:GetService("UserInputService") local CoreGui = game:GetService("CoreGui") local VirtualInputManager = game:GetService("VirtualInputManager") local Camera = workspace.CurrentCamera local Workspace = workspace local LocalPlayer = Players.LocalPlayer -- ================= НАСТРОЙКИ ================= local Settings = { ESPEnabled = true, ShowTracers = true, ShowTrackers = true, AimbotEnabled = true, TriggerbotEnabled = false, SilentAimEnabled = false, -- включается по Q KillAuraEnabled = false, TeamCheck = false, WallCheck = true, AimPart = "Head", FOV = 45, Smoothing = 0.3, MaxAimbotRange = 300, KillAuraRange = 100, UpdateInterval = 0.5, ShowFOVCircle = true, TriggerDelay = 0.1, } -- ================= ГЛОБАЛЬНЫЕ ПЕРЕМЕННЫЕ ================= local targets = {} local espObjects = {} local trackerObjects = {} -- ================= СОЗДАНИЕ НЕОНОВОГО GUI ================= local ScreenGui = Instance.new("ScreenGui") ScreenGui.Name = "UltimateESP" ScreenGui.Parent = CoreGui -- Кнопка меню local menuButton = Instance.new("TextButton") menuButton.Size = UDim2.new(0, 70, 0, 35) menuButton.Position = UDim2.new(0, 10, 0, 10) menuButton.BackgroundColor3 = Color3.fromRGB(20, 20, 30) menuButton.TextColor3 = Color3.fromRGB(0, 200, 255) menuButton.TextScaled = true menuButton.Font = Enum.Font.SourceSansBold menuButton.Text = "Меню" menuButton.BorderSizePixel = 0 menuButton.Parent = ScreenGui local menuStroke = Instance.new("UIStroke") menuStroke.Color = Color3.fromRGB(0, 200, 255) menuStroke.Thickness = 2 menuStroke.Transparency = 0.3 menuStroke.Parent = menuButton local menuCorner = Instance.new("UICorner") menuCorner.CornerRadius = UDim.new(0, 8) menuCorner.Parent = menuButton -- Основное меню (перетаскиваемое) local MainFrame = Instance.new("Frame") MainFrame.Size = UDim2.new(0, 300, 0, 540) MainFrame.Position = UDim2.new(0, 90, 0, 10) MainFrame.BackgroundColor3 = Color3.fromRGB(10, 10, 20) MainFrame.BackgroundTransparency = 0.2 MainFrame.BorderSizePixel = 0 MainFrame.Visible = false MainFrame.Parent = ScreenGui local frameStroke = Instance.new("UIStroke") frameStroke.Color = Color3.fromRGB(0, 150, 255) frameStroke.Thickness = 2 frameStroke.Transparency = 0.4 frameStroke.Parent = MainFrame local frameCorner = Instance.new("UICorner") frameCorner.CornerRadius = UDim.new(0, 12) frameCorner.Parent = MainFrame -- Заголовок для перетаскивания local titleBar = Instance.new("Frame") titleBar.Size = UDim2.new(1, 0, 0, 30) titleBar.Position = UDim2.new(0, 0, 0, 0) titleBar.BackgroundColor3 = Color3.fromRGB(0, 100, 200) titleBar.BackgroundTransparency = 0.6 titleBar.BorderSizePixel = 0 titleBar.Parent = MainFrame local titleCorner = Instance.new("UICorner") titleCorner.CornerRadius = UDim.new(0, 8) titleCorner.Parent = titleBar local titleLabel = Instance.new("TextLabel") titleLabel.Size = UDim2.new(1, 0, 1, 0) titleLabel.BackgroundTransparency = 1 titleLabel.TextColor3 = Color3.fromRGB(200, 230, 255) titleLabel.Text = "⚡ УПРАВЛЕНИЕ ⚡" titleLabel.TextScaled = true titleLabel.Font = Enum.Font.SourceSansBold titleLabel.Parent = titleBar -- Перетаскивание local dragging = false local dragStart, startPos titleBar.InputBegan:Connect(function(input) if input.UserInputType == Enum.UserInputType.MouseButton1 then dragging = true dragStart = input.Position startPos = MainFrame.Position end end) titleBar.InputEnded:Connect(function(input) if input.UserInputType == Enum.UserInputType.MouseButton1 then dragging = false end end) UserInputService.InputChanged:Connect(function(input) if dragging and input.UserInputType == Enum.UserInputType.MouseMovement then local delta = input.Position - dragStart MainFrame.Position = UDim2.new( startPos.X.Scale, startPos.X.Offset + delta.X, startPos.Y.Scale, startPos.Y.Offset + delta.Y ) end end) -- Создание неоновых кнопок local function createNeonButton(text, yPos, callback) local btn = Instance.new("TextButton") btn.Size = UDim2.new(0, 280, 0, 28) btn.Position = UDim2.new(0, 10, 0, yPos) btn.BackgroundColor3 = Color3.fromRGB(20, 20, 35) btn.BackgroundTransparency = 0.2 btn.TextColor3 = Color3.fromRGB(200, 230, 255) btn.TextScaled = true btn.Font = Enum.Font.SourceSansBold btn.Text = text btn.BorderSizePixel = 0 btn.Parent = MainFrame local stroke = Instance.new("UIStroke") stroke.Color = Color3.fromRGB(0, 200, 255) stroke.Thickness = 1.5 stroke.Transparency = 0.5 stroke.Parent = btn local corner = Instance.new("UICorner") corner.CornerRadius = UDim.new(0, 6) corner.Parent = btn btn.MouseButton1Click:Connect(callback) return btn end local y = 40 local espBtn = createNeonButton("ESP: ВКЛ", y, function() Settings.ESPEnabled = not Settings.ESPEnabled espBtn.Text = Settings.ESPEnabled and "ESP: ВКЛ" or "ESP: ВЫКЛ" end) y = y + 33 local tracerBtn = createNeonButton("Трассеры: ВКЛ", y, function() Settings.ShowTracers = not Settings.ShowTracers tracerBtn.Text = Settings.ShowTracers and "Трассеры: ВКЛ" or "Трассеры: ВЫКЛ" end) y = y + 33 local trackerBtn = createNeonButton("Трекеры: ВКЛ", y, function() Settings.ShowTrackers = not Settings.ShowTrackers trackerBtn.Text = Settings.ShowTrackers and "Трекеры: ВКЛ" or "Трекеры: ВЫКЛ" end) y = y + 33 local aimBtn = createNeonButton("Aimbot: ВКЛ [ПКМ]", y, function() Settings.AimbotEnabled = not Settings.AimbotEnabled aimBtn.Text = Settings.AimbotEnabled and "Aimbot: ВКЛ [ПКМ]" or "Aimbot: ВЫКЛ [ПКМ]" end) y = y + 33 local silentBtn = createNeonButton("Silent Aim: ВЫКЛ [Q]", y, function() Settings.SilentAimEnabled = not Settings.SilentAimEnabled silentBtn.Text = Settings.SilentAimEnabled and "Silent Aim: ВКЛ [Q]" or "Silent Aim: ВЫКЛ [Q]" end) y = y + 33 local triggerBtn = createNeonButton("Triggerbot: ВЫКЛ [T]", y, function() Settings.TriggerbotEnabled = not Settings.TriggerbotEnabled triggerBtn.Text = Settings.TriggerbotEnabled and "Triggerbot: ВКЛ [T]" or "Triggerbot: ВЫКЛ [T]" end) y = y + 33 local killBtn = createNeonButton("Kill Aura: ВЫКЛ", y, function() Settings.KillAuraEnabled = not Settings.KillAuraEnabled killBtn.Text = Settings.KillAuraEnabled and "Kill Aura: ВКЛ" or "Kill Aura: ВЫКЛ" end) y = y + 33 local aimPartBtn = createNeonButton("Цель: Голова", y, function() Settings.AimPart = Settings.AimPart == "Head" and "Torso" or "Head" aimPartBtn.Text = "Цель: " .. Settings.AimPart end) y = y + 33 local teamBtn = createNeonButton("Team Check: ВЫКЛ", y, function() Settings.TeamCheck = not Settings.TeamCheck teamBtn.Text = Settings.TeamCheck and "Team Check: ВКЛ" or "Team Check: ВЫКЛ" end) y = y + 33 local wallBtn = createNeonButton("Wall Check: ВКЛ", y, function() Settings.WallCheck = not Settings.WallCheck wallBtn.Text = Settings.WallCheck and "Wall Check: ВКЛ" or "Wall Check: ВЫКЛ" end) y = y + 33 local fovLabel = Instance.new("TextLabel") fovLabel.Size = UDim2.new(0, 100, 0, 28) fovLabel.Position = UDim2.new(0, 10, 0, y) fovLabel.BackgroundTransparency = 1 fovLabel.TextColor3 = Color3.fromRGB(200, 230, 255) fovLabel.TextScaled = true fovLabel.Font = Enum.Font.SourceSans fovLabel.Text = "FOV: " .. Settings.FOV fovLabel.Parent = MainFrame local fovPlus = createNeonButton("+", y, function() Settings.FOV = math.min(Settings.FOV + 5, 180) fovLabel.Text = "FOV: " .. Settings.FOV updateFOVCircle() end) fovPlus.Size = UDim2.new(0, 40, 0, 28) fovPlus.Position = UDim2.new(0, 120, 0, y) local fovMinus = createNeonButton("-", y, function() Settings.FOV = math.max(Settings.FOV - 5, 5) fovLabel.Text = "FOV: " .. Settings.FOV updateFOVCircle() end) fovMinus.Size = UDim2.new(0, 40, 0, 28) fovMinus.Position = UDim2.new(0, 170, 0, y) y = y + 33 local smoothLabel = Instance.new("TextLabel") smoothLabel.Size = UDim2.new(0, 100, 0, 28) smoothLabel.Position = UDim2.new(0, 10, 0, y) smoothLabel.BackgroundTransparency = 1 smoothLabel.TextColor3 = Color3.fromRGB(200, 230, 255) smoothLabel.TextScaled = true smoothLabel.Font = Enum.Font.SourceSans smoothLabel.Text = "Smooth: " .. string.format("%.2f", Settings.Smoothing) smoothLabel.Parent = MainFrame local smoothPlus = createNeonButton("+", y, function() Settings.Smoothing = math.min(Settings.Smoothing + 0.05, 0.95) smoothLabel.Text = "Smooth: " .. string.format("%.2f", Settings.Smoothing) end) smoothPlus.Size = UDim2.new(0, 40, 0, 28) smoothPlus.Position = UDim2.new(0, 120, 0, y) local smoothMinus = createNeonButton("-", y, function() Settings.Smoothing = math.max(Settings.Smoothing - 0.05, 0.0) smoothLabel.Text = "Smooth: " .. string.format("%.2f", Settings.Smoothing) end) smoothMinus.Size = UDim2.new(0, 40, 0, 28) smoothMinus.Position = UDim2.new(0, 170, 0, y) y = y + 33 local targetCountLabel = Instance.new("TextLabel") targetCountLabel.Size = UDim2.new(0, 280, 0, 28) targetCountLabel.Position = UDim2.new(0, 10, 0, y) targetCountLabel.BackgroundTransparency = 1 targetCountLabel.TextColor3 = Color3.fromRGB(200, 230, 255) targetCountLabel.TextScaled = true targetCountLabel.Font = Enum.Font.SourceSansBold targetCountLabel.Text = "Целей: 0" targetCountLabel.Parent = MainFrame -- FOV круг local FOVCircle = Instance.new("ImageLabel") FOVCircle.Size = UDim2.new(0, 200, 0, 200) FOVCircle.Position = UDim2.new(0.5, -100, 0.5, -100) FOVCircle.BackgroundTransparency = 1 FOVCircle.Image = "rbxassetid://3570695787" FOVCircle.ImageColor3 = Color3.fromRGB(0, 200, 255) FOVCircle.ImageTransparency = 0.8 FOVCircle.Visible = Settings.ShowFOVCircle FOVCircle.Parent = ScreenGui local function updateFOVCircle() if not Settings.ShowFOVCircle then FOVCircle.Visible = false return end FOVCircle.Visible = true local size = 50 + Settings.FOV * 2 FOVCircle.Size = UDim2.new(0, size, 0, size) FOVCircle.Position = UDim2.new(0.5, -size/2, 0.5, -size/2) end updateFOVCircle() menuButton.MouseButton1Click:Connect(function() MainFrame.Visible = not MainFrame.Visible end) -- ================= СКАН ЦЕЛЕЙ ================= local function scanTargets() targets = {} -- Игроки for _, plr in pairs(Players:GetPlayers()) do if plr ~= LocalPlayer and plr.Character and plr.Character.PrimaryPart then table.insert(targets, {model = plr.Character, isPlayer = true}) end end -- NPC for _, model in pairs(Workspace:GetDescendants()) do if model:IsA("Model") and model:FindFirstChild("Humanoid") and model.PrimaryPart then local isPlayer = false for _, plr in pairs(Players:GetPlayers()) do if plr.Character == model then isPlayer = true; break end end if not isPlayer then table.insert(targets, {model = model, isPlayer = false}) end end end targetCountLabel.Text = "Целей: " .. #targets end -- ================= ESP ================= local function clearESP() for _, obj in pairs(espObjects) do obj:Destroy() end espObjects = {} end local function createESP(targetModel, isPlayer) if not targetModel or not targetModel.PrimaryPart then return end local color = isPlayer and Color3.fromRGB(0, 255, 0) or Color3.fromRGB(255, 0, 0) local highlight = Instance.new("Highlight") highlight.Adornee = targetModel highlight.FillColor = color highlight.FillTransparency = 0.6 highlight.OutlineColor = Color3.new(1, 1, 1) highlight.OutlineTransparency = 0.3 highlight.Parent = targetModel table.insert(espObjects, highlight) if Settings.ShowTracers then local tracer = Instance.new("LineHandleAdornment") tracer.AlwaysOnTop = true tracer.ZIndex = 5 tracer.Thickness = 1.5 tracer.Color3 = Color3.fromRGB(255, 255, 255) tracer.Transparency = 0.5 tracer.Parent = targetModel.PrimaryPart table.insert(espObjects, tracer) end end local function updateESP() if not Settings.ESPEnabled then clearESP(); return end clearESP() scanTargets() for _, t in pairs(targets) do createESP(t.model, t.isPlayer) end end local updateTimer = 0 RunService.Heartbeat:Connect(function(dt) updateTimer = updateTimer + dt if updateTimer >= Settings.UpdateInterval then updateTimer = 0; updateESP() end end) RunService.RenderStepped:Connect(function() if not Settings.ESPEnabled or not Settings.ShowTracers then return end local cameraPos = Camera.CFrame.Position for _, obj in pairs(espObjects) do if obj:IsA("LineHandleAdornment") and obj.Parent and obj.Parent:IsA("BasePart") then local part = obj.Parent local dist = (part.Position - cameraPos).Magnitude if dist < Settings.MaxAimbotRange then obj.Visible = true obj.Points = {cameraPos, part.Position} else obj.Visible = false end end end end) -- ================= ТРЕКЕРЫ (исправлено) ================= local function clearTrackers() for _, obj in pairs(trackerObjects) do obj:Destroy() end trackerObjects = {} end local function createTracker(position, color) local frame = Instance.new("Frame") frame.Size = UDim2.new(0, 18, 0, 18) frame.Position = UDim2.new(0, position.X, 0, position.Y) frame.BackgroundColor3 = color frame.BackgroundTransparency = 0.2 frame.BorderSizePixel = 2 frame.BorderColor3 = Color3.new(1, 1, 1) frame.Parent = ScreenGui -- Неоновая обводка local stroke = Instance.new("UIStroke") stroke.Color = Color3.fromRGB(0, 200, 255) stroke.Thickness = 1.5 stroke.Transparency = 0.4 stroke.Parent = frame local corner = Instance.new("UICorner") corner.CornerRadius = UDim.new(1, 0) corner.Parent = frame table.insert(trackerObjects, frame) return frame end RunService.RenderStepped:Connect(function() if not Settings.ShowTrackers then clearTrackers() return end local cameraPos = Camera.CFrame.Position local cameraDir = Camera.CFrame.LookVector local screenWidth, screenHeight = Camera.ViewportSize.X, Camera.ViewportSize.Y local centerX, centerY = screenWidth/2, screenHeight/2 clearTrackers() for _, t in pairs(targets) do local part = t.model:FindFirstChild(Settings.AimPart) or t.model:FindFirstChild("HumanoidRootPart") if not part then continue end local dirToTarget = (part.Position - cameraPos).Unit local dot = cameraDir:Dot(dirToTarget) local angle = math.deg(math.acos(dot)) -- Если цель в FOV, не показываем трекер if dot > 0 and angle < Settings.FOV then continue end -- Проекция на экран local relativePos = part.Position - cameraPos local forward = Camera.CFrame.LookVector local right = Camera.CFrame.RightVector local up = Camera.CFrame.UpVector local xOffset = relativePos:Dot(right) local yOffset = relativePos:Dot(up) local zOffset = relativePos:Dot(forward) if zOffset < 0 then zOffset = 0.01 end local screenX = centerX + (xOffset / zOffset) * (screenWidth / 2) local screenY = centerY - (yOffset / zOffset) * (screenHeight / 2) -- Ограничиваем краями local margin = 30 screenX = math.clamp(screenX, margin, screenWidth - margin) screenY = math.clamp(screenY, margin, screenHeight - margin) -- Цвет: зелёный для игроков, красный для NPC local color = t.isPlayer and Color3.fromRGB(0, 255, 0) or Color3.fromRGB(255, 0, 0) createTracker(Vector2.new(screenX - 9, screenY - 9), color) end end) -- ================= ВСПОМОГАТЕЛЬНЫЕ ================= local function isVisible(part) if not Settings.WallCheck then return true end local origin = Camera.CFrame.Position local direction = (part.Position - origin).Unit * (part.Position - origin).Magnitude local rayParams = RaycastParams.new() rayParams.FilterDescendantsInstances = {LocalPlayer.Character} rayParams.FilterType = Enum.RaycastFilterType.Blacklist local hit = Workspace:Raycast(origin, direction, rayParams) if hit then local hitPart = hit.Instance if hitPart and hitPart:IsDescendantOf(part.Parent) then return true end return false end return true end local function findClosestTarget(onlyNPC) local closestDist = Settings.MaxAimbotRange local closestPart = nil scanTargets() for _, t in pairs(targets) do if onlyNPC and t.isPlayer then continue end if Settings.TeamCheck and t.isPlayer and t.model:FindFirstChild("Humanoid") and t.model.Humanoid.Team == LocalPlayer.Team then continue end local part = t.model:FindFirstChild(Settings.AimPart) or t.model:FindFirstChild("HumanoidRootPart") if not part then continue end local dirToTarget = (part.Position - Camera.CFrame.Position).Unit local cameraDir = Camera.CFrame.LookVector local dot = cameraDir:Dot(dirToTarget) if dot < 0 then continue end local angle = math.deg(math.acos(dot)) if angle > Settings.FOV then continue end local dist = (part.Position - Camera.CFrame.Position).Magnitude if dist > Settings.MaxAimbotRange then continue end if not isVisible(part) then continue end if dist < closestDist then closestDist = dist closestPart = part end end return closestPart end -- ================= AIMBOT (ПКМ) ================= local aimTarget = nil local currentCFrame = nil local isAiming = false UserInputService.InputBegan:Connect(function(input, gp) if gp then return end if input.UserInputType == Enum.UserInputType.MouseButton2 then isAiming = true local target = findClosestTarget(false) if target then aimTarget = target; currentCFrame = Camera.CFrame end end end) UserInputService.InputEnded:Connect(function(input, gp) if input.UserInputType == Enum.UserInputType.MouseButton2 then isAiming = false; aimTarget = nil end end) RunService.Heartbeat:Connect(function() if not isAiming or not Settings.AimbotEnabled then aimTarget = nil; return end if not aimTarget or not aimTarget.Parent then aimTarget = findClosestTarget(false) if aimTarget then currentCFrame = Camera.CFrame else return end end if Settings.WallCheck and not isVisible(aimTarget) then aimTarget = findClosestTarget(false) if aimTarget then currentCFrame = Camera.CFrame else return end end local targetCF = CFrame.new(Camera.CFrame.Position, aimTarget.Position) if Settings.Smoothing == 0 then Camera.CFrame = targetCF else if not currentCFrame then currentCFrame = Camera.CFrame end local lerpFactor = 0.2 + (1 - Settings.Smoothing) * 0.6 local newCF = currentCFrame:Lerp(targetCF, lerpFactor) Camera.CFrame = newCF currentCFrame = newCF end end) -- ================= SILENT AIM (Q) ================= local silentActive = false UserInputService.InputBegan:Connect(function(input, gp) if gp then return end if input.KeyCode == Enum.KeyCode.Q then silentActive = true end end) UserInputService.InputEnded:Connect(function(input, gp) if input.KeyCode == Enum.KeyCode.Q then silentActive = false end end) -- При нажатии ЛКМ во время зажатого Q, выстрел перенаправляется в цель local oldCFrame = nil UserInputService.InputBegan:Connect(function(input, gp) if gp then return end if input.UserInputType == Enum.UserInputType.MouseButton1 and silentActive and Settings.SilentAimEnabled then local target = findClosestTarget(false) if target then oldCFrame = Camera.CFrame Camera.CFrame = CFrame.new(Camera.CFrame.Position, target.Position) VirtualInputManager:SendMouseButtonEvent(0, 0, 0, true, game, 0) task.wait(0.03) VirtualInputManager:SendMouseButtonEvent(0, 0, 0, false, game, 0) Camera.CFrame = oldCFrame end end end) -- ================= TRIGGERBOT ================= local triggerActive = false local lastShotTime = 0 UserInputService.InputBegan:Connect(function(input, gp) if gp then return end if input.KeyCode == Enum.KeyCode.T then Settings.TriggerbotEnabled = not Settings.TriggerbotEnabled triggerActive = Settings.TriggerbotEnabled triggerBtn.Text = Settings.TriggerbotEnabled and "Triggerbot: ВКЛ [T]" or "Triggerbot: ВЫКЛ [T]" print(("Triggerbot %s"):format(Settings.TriggerbotEnabled and "включён" or "выключен")) end end) local function getTargetAtCenter() local centerPart = nil local minAngle = 5 scanTargets() for _, t in pairs(targets) do if Settings.TeamCheck and t.isPlayer and t.model:FindFirstChild("Humanoid") and t.model.Humanoid.Team == LocalPlayer.Team then continue end local part = t.model:FindFirstChild(Settings.AimPart) or t.model:FindFirstChild("HumanoidRootPart") if not part then continue end local dirToTarget = (part.Position - Camera.CFrame.Position).Unit local cameraDir = Camera.CFrame.LookVector local dot = cameraDir:Dot(dirToTarget) if dot < 0 then continue end local angle = math.deg(math.acos(dot)) if angle < minAngle and isVisible(part) then local dist = (part.Position - Camera.CFrame.Position).Magnitude if dist < Settings.MaxAimbotRange then centerPart = part; break end end end return centerPart end RunService.Heartbeat:Connect(function() if not Settings.TriggerbotEnabled or not triggerActive then return end local target = getTargetAtCenter() if target then local now = tick() if now - lastShotTime >= Settings.TriggerDelay then lastShotTime = now VirtualInputManager:SendMouseButtonEvent(0, 0, 0, true, game, 0) task.wait(0.05) VirtualInputManager:SendMouseButtonEvent(0, 0, 0, false, game, 0) end end end) -- ================= KILL AURA ================= local killAuraLoop = nil local killAuraActive = false local function startKillAura() if killAuraLoop then return end killAuraActive = true killAuraLoop = RunService.Heartbeat:Connect(function() if not Settings.KillAuraEnabled then stopKillAura() return end -- Ищем всех NPC в радиусе local playerPos = LocalPlayer.Character and LocalPlayer.Character.PrimaryPart and LocalPlayer.Character.PrimaryPart.Position if not playerPos then return end scanTargets() for _, t in pairs(targets) do if t.isPlayer then continue end -- только NPC local npcModel = t.model local humanoid = npcModel:FindFirstChild("Humanoid") if not humanoid or humanoid.Health <= 0 then continue end local primaryPart = npcModel.PrimaryPart if not primaryPart then continue end local dist = (primaryPart.Position - playerPos).Magnitude if dist > Settings.KillAuraRange then continue end -- Атакуем: эмулируем клик по этой цели (наведение и клик) -- Можно просто кликнуть ЛКМ, а можно использовать RemoteEvent, но проще клик -- Для точности можно навести камеру, но Kill Aura обычно работает без наведения. -- Используем быстрый клик ЛКМ без изменения камеры (как Silent Aim) local oldCF = Camera.CFrame Camera.CFrame = CFrame.new(Camera.CFrame.Position, primaryPart.Position) VirtualInputManager:SendMouseButtonEvent(0, 0, 0, true, game, 0) task.wait(0.02) VirtualInputManager:SendMouseButtonEvent(0, 0, 0, false, game, 0) Camera.CFrame = oldCF -- Небольшая задержка, чтобы не спамить task.wait(0.1) break -- атакуем одного за раз end end) end local function stopKillAura() killAuraActive = false if killAuraLoop then killAuraLoop:Disconnect() killAuraLoop = nil end end -- Включаем/выключаем через кнопку killBtn.MouseButton1Click:Connect(function() Settings.KillAuraEnabled = not Settings.KillAuraEnabled killBtn.Text = Settings.KillAuraEnabled and "Kill Aura: ВКЛ" or "Kill Aura: ВЫКЛ" if Settings.KillAuraEnabled then startKillAura() else stopKillAura() end end) -- Очистка при выходе game.Players.PlayerRemoving:Connect(function() clearESP() clearTrackers() stopKillAura() end) print("✅ Супер-скрипт загружен!") print("📌 Перетаскивайте меню за синюю полосу") print("🖱️ ПКМ (зажать) — аимбот") print("🎯 Q (зажать) — Silent Aim (выстрелы в цель)") print("🔫 T (нажать) — триггербот") print("💀 Kill Aura — автоматически атакует NPC в радиусе 100 м (вкл/выкл в меню)")