local Players = game:GetService("Players") local RunService = game:GetService("RunService") local player = Players.LocalPlayer local PlayerGui = player:WaitForChild("PlayerGui") local rs = game:GetService("ReplicatedStorage") local event = rs:WaitForChild("Shared"):WaitForChild("Events"):WaitForChild("FireWeapon") local range = 3000 local maxTargets = 20 local scanDelay = 0.5 local damageMultiplier = 6 local fireRate = 0.1 local running = false local cachedTargets = {} local gui = Instance.new("ScreenGui", PlayerGui) gui.Name = "FranksGUI" gui.ResetOnSpawn = false local frame = Instance.new("Frame", gui) frame.Size = UDim2.new(0, 190, 0, 110) frame.Position = UDim2.new(0, 15, 0, 0) frame.BackgroundColor3 = Color3.fromRGB(15, 20, 15) frame.BackgroundTransparency = 0.35 frame.Active = true frame.BorderSizePixel = 0 Instance.new("UICorner", frame).CornerRadius = UDim.new(0, 10) local stroke = Instance.new("UIStroke", frame) stroke.Color = Color3.fromRGB(0, 255, 100) stroke.Thickness = 1.5 local closeBtn = Instance.new("TextButton", frame) closeBtn.Size = UDim2.new(0, 25, 0, 25) closeBtn.Position = UDim2.new(0, 5, 0, 5) closeBtn.BackgroundColor3 = Color3.fromRGB(35, 15, 15) closeBtn.BackgroundTransparency = 0.2 closeBtn.Text = "X" closeBtn.Font = Enum.Font.GothamBold closeBtn.TextSize = 12 closeBtn.TextColor3 = Color3.fromRGB(255, 75, 75) closeBtn.BorderSizePixel = 0 Instance.new("UICorner", closeBtn).CornerRadius = UDim.new(0, 6) local closeStroke = Instance.new("UIStroke", closeBtn) closeStroke.Color = Color3.fromRGB(200, 50, 50) local minBtn = Instance.new("TextButton", frame) minBtn.Size = UDim2.new(0, 25, 0, 25) minBtn.Position = UDim2.new(1, -30, 0, 5) minBtn.BackgroundColor3 = Color3.fromRGB(15, 30, 15) minBtn.BackgroundTransparency = 0.2 minBtn.Text = "-" minBtn.Font = Enum.Font.GothamBold minBtn.TextSize = 14 minBtn.TextColor3 = Color3.fromRGB(0, 255, 100) minBtn.BorderSizePixel = 0 Instance.new("UICorner", minBtn).CornerRadius = UDim.new(0, 6) local minStroke = Instance.new("UIStroke", minBtn) minStroke.Color = Color3.fromRGB(0, 200, 80) local btn = Instance.new("TextButton", frame) btn.Size = UDim2.new(1, -20, 0, 35) btn.Position = UDim2.new(0, 10, 0, 45) btn.BackgroundColor3 = Color3.fromRGB(25, 15, 15) btn.BackgroundTransparency = 0.2 btn.Text = "Kill Aura: OFF" btn.Font = Enum.Font.GothamBold btn.TextSize = 14 btn.TextColor3 = Color3.fromRGB(255, 75, 75) btn.BorderSizePixel = 0 Instance.new("UICorner", btn).CornerRadius = UDim.new(0, 8) local btnStroke = Instance.new("UIStroke", btn) btnStroke.Color = Color3.fromRGB(200, 50, 50) local minimized = false local originalHeight = frame.Size.Y.Offset closeBtn.MouseButton1Click:Connect(function() running = false gui:Destroy() end) minBtn.MouseButton1Click:Connect(function() minimized = not minimized if minimized then frame.Size = UDim2.new(0, 35, 0, 35) btn.Visible = false closeBtn.Visible = false minBtn.Text = "+" minBtn.Position = UDim2.new(1, -30, 0, 5) else frame.Size = UDim2.new(0, 190, 0, originalHeight) btn.Visible = true closeBtn.Visible = true minBtn.Text = "-" minBtn.Position = UDim2.new(1, -30, 0, 5) end end) btn.MouseButton1Click:Connect(function() running = not running if running then btn.Text = "Kill Aura: ON" btn.BackgroundColor3 = Color3.fromRGB(15, 45, 15) btn.TextColor3 = Color3.fromRGB(0, 255, 100) btnStroke.Color = Color3.fromRGB(0, 200, 80) else btn.Text = "Kill Aura: OFF" btn.BackgroundColor3 = Color3.fromRGB(25, 15, 15) btn.TextColor3 = Color3.fromRGB(255, 75, 75) btnStroke.Color = Color3.fromRGB(200, 50, 50) end end) local function getGun() local char = player.Character return char and char:FindFirstChildOfClass("Tool") end local function scanTargets() local char = player.Character if not char then return {} end local root = char:FindFirstChild("HumanoidRootPart") if not root then return {} end local targets = {} local overlapParams = OverlapParams.new() overlapParams.FilterType = Enum.RaycastFilterType.Exclude overlapParams.FilterDescendantsInstances = {char} local parts = workspace:GetPartBoundsInRadius(root.Position, range, overlapParams) local checkedModels = {} for _, part in ipairs(parts) do local model = part.Parent if model and model:IsA("Model") and not checkedModels[model] then checkedModels[model] = true local hum = model:FindFirstChildOfClass("Humanoid") local head = model:FindFirstChild("Head") if hum and head and hum.Health > 0 then local mag = (head.Position - root.Position).Magnitude table.insert(targets, {head = head, dist = mag}) end end end table.sort(targets, function(a, b) return a.dist < b.dist end) local result = {} for i = 1, math.min(maxTargets, #targets) do result[i] = targets[i].head end return result end task.spawn(function() while true do task.wait(scanDelay) if running then cachedTargets = scanTargets() else table.clear(cachedTargets) end end end) task.spawn(function() while true do task.wait(fireRate) if running then local char = player.Character local root = char and char:FindFirstChild("HumanoidRootPart") local gun = getGun() if root and gun and #cachedTargets > 0 then local origin = root.Position for _, target in ipairs(cachedTargets) do if target and target.Parent and target.Parent:FindFirstChildOfClass("Humanoid") then local hum = target.Parent:FindFirstChildOfClass("Humanoid") if hum.Health > 0 then local targetPos = target.Position local direction = (targetPos - origin).Unit for _ = 1, damageMultiplier do event:FireServer(gun, origin, targetPos, target, direction, 2) end end end end end end end end)