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)
Comments
Right Now, works as I stated above But I don't Intend on updating if it gets Patched and I left the code open for you to make your own modifications you can make the scan delay 1.0 or 2.0 to reduce lag if you still having some