local Players = game:GetService("Players") local ReplicatedStorage = game:GetService("ReplicatedStorage") local UIS = game:GetService("UserInputService") local player = Players.LocalPlayer local enemiesFolder = workspace:WaitForChild("Enemies") local network = ReplicatedStorage:WaitForChild("WeaponsSystem"):WaitForChild("Network"):WaitForChild("WeaponHit") local running = false local function fireOnce() local char = player.Character or player.CharacterAdded:Wait() local backpack = player:WaitForChild("Backpack") local tool = char:FindFirstChildWhichIsA("Tool") or backpack:FindFirstChildWhichIsA("Tool") if not tool then return end local originPart = char.PrimaryPart or tool:FindFirstChild("Handle") or char:FindFirstChildWhichIsA("BasePart") if not originPart then return end local originPos = originPart.Position local pidCounter = 0 for _, enemy in ipairs(enemiesFolder:GetChildren()) do local head = enemy:FindFirstChild("Head") local humanoid = enemy:FindFirstChild("Humanoid") if head and humanoid and humanoid.Health > 0 then pidCounter += 1 local targetPos = head.Position local dir = (targetPos - originPos) local dist = dir.Magnitude if dist > 0 then local n = dir.Unit local args = { tool, { p = vector.create(targetPos.X, targetPos.Y, targetPos.Z), pid = pidCounter, part = head, d = dist, maxDist = dist + 0.001, h = humanoid, n = vector.create(n.X, n.Y, n.Z), m = Enum.Material.Plastic, t = 0.5, targetsHit = 1, sid = 80 } } network:FireServer(unpack(args)) end end end end task.spawn(function() while true do if running then fireOnce() task.wait(0.08) else task.wait(0.1) end end end) local gui = Instance.new("ScreenGui", player:WaitForChild("PlayerGui")) gui.ResetOnSpawn = false local frame = Instance.new("Frame", gui) frame.Size = UDim2.new(0, 160, 0, 80) frame.Position = UDim2.new(0.4, 0, 0.4, 0) frame.BackgroundColor3 = Color3.fromRGB(30,30,30) local btn = Instance.new("TextButton", frame) btn.Size = UDim2.new(1, -20, 0, 40) btn.Position = UDim2.new(0, 10, 0.5, -20) btn.Text = "OFF" btn.BackgroundColor3 = Color3.fromRGB(170,0,0) btn.TextColor3 = Color3.new(1,1,1) btn.MouseButton1Click:Connect(function() running = not running btn.Text = running and "ON" or "OFF" btn.BackgroundColor3 = running and Color3.fromRGB(0,170,0) or Color3.fromRGB(170,0,0) end) local dragging, dragStart, startPos frame.InputBegan:Connect(function(input) if input.UserInputType == Enum.UserInputType.MouseButton1 or input.UserInputType == Enum.UserInputType.Touch then dragging = true dragStart = input.Position startPos = frame.Position input.Changed:Connect(function() if input.UserInputState == Enum.UserInputState.End then dragging = false end end) end end) UIS.InputChanged:Connect(function(input) if dragging then local delta = input.Position - dragStart frame.Position = UDim2.new( startPos.X.Scale, startPos.X.Offset + delta.X, startPos.Y.Scale, startPos.Y.Offset + delta.Y ) end end)