-- Services local playersService = game:GetService("Players") local replicatedStorage = game:GetService("ReplicatedStorage") local acsEngine = replicatedStorage:WaitForChild("ACS_Engine", 9e9) local eventsFolder = acsEngine and acsEngine:WaitForChild("Events", 9e9) local damageEvent = eventsFolder and eventsFolder:WaitForChild("Damage", 9e9) -- Pre-fetch static data local origin = Vector3.new(-272.4232177734375, -14.307608604431152, -23.735084533691406) local weaponName = "USP" local bulletIDPrefix = "unique_bullet_id_" -- Cache args template to avoid creating it repeatedly local argsTemplate = { [1] = { origin = origin, weaponName = weaponName, bulletID = nil, -- To be set dynamically currentPenetrationCount = 1, shellSpeed = 9999999, maxPenetrationCount = 99999, registeredParts = {}, penetrationMultiplier = 0.8, shellType = "Bullet", shellMaxDist = 89999, filterDescendants = {}, }, [2] = nil, -- humanoid target [3] = 154.2140350341797, -- Distance value [4] = 2, -- Additional parameter [5] = nil, -- Head part target } -- Pre-fetch common checks outside of the loop local function getTargetData(playerModel) local humanoid = playerModel:FindFirstChild("Humanoid") local head = playerModel:FindFirstChild("Head") -- Look for the Head part if humanoid and head then return humanoid, head -- Return the humanoid and Head part end end -- Function to handle targeting logic local function handleTarget(playerModel) -- Fetch humanoid and head references local humanoid, head = getTargetData(playerModel) if not humanoid then return end -- Skip if no humanoid found -- Set dynamic values for args argsTemplate[1].bulletID = bulletIDPrefix .. tostring(math.random()) -- Unique bullet ID argsTemplate[2] = humanoid -- Target the player's humanoid argsTemplate[5] = head -- Target the Head part argsTemplate[1].registeredParts[head] = true -- Register the Head part -- Invoke the damage event for this player damageEvent:InvokeServer(unpack(argsTemplate)) end -- Function to process all players asynchronously local function processAllPlayersAsync() -- Process Players Service local players = playersService:GetPlayers() for i = 1, #players do local player = players[i] if player.Character then task.spawn(function() handleTarget(player.Character) end) end end -- Process Players Folder (FPlayers) local playersFolder = game:GetService("Workspace"):FindFirstChild("FPlayers") if playersFolder then local playerModels = playersFolder:GetChildren() for i = 1, #playerModels do task.spawn(function() handleTarget(playerModels[i]) end) end end end -- GUI setup local screenGui = Instance.new("ScreenGui") screenGui.Parent = game.Players.LocalPlayer:WaitForChild("PlayerGui") -- Create a draggable frame with rounded corners and an outline local frame = Instance.new("Frame") frame.Size = UDim2.new(0, 200, 0, 150) -- Smaller size for the frame frame.Position = UDim2.new(0.5, -100, 0.5, -75) -- Centered on screen frame.BackgroundColor3 = Color3.fromRGB(40, 40, 40) -- Dark gray background frame.BackgroundTransparency = 0.2 -- Slight transparency for sleek look frame.BorderSizePixel = 2 -- Outline border size frame.BorderColor3 = Color3.fromRGB(255, 255, 255) -- White border color frame.AnchorPoint = Vector2.new(0.5, 0.5) -- Anchor at the center frame.Parent = screenGui -- Add rounded corners to the frame local corner = Instance.new("UICorner") corner.CornerRadius = UDim.new(0, 12) -- Rounded corners corner.Parent = frame -- Create the "Kill All" button local killAllButton = Instance.new("TextButton") killAllButton.Size = UDim2.new(0, 180, 0, 28) -- Smaller button killAllButton.Position = UDim2.new(0.5, -90, 0.1, 5) -- Adjusted position killAllButton.Text = "Kill Lobby" killAllButton.Parent = frame -- Kill All button style killAllButton.BackgroundColor3 = Color3.fromRGB(80, 80, 80) killAllButton.BackgroundTransparency = 0.3 killAllButton.TextColor3 = Color3.fromRGB(255, 255, 255) killAllButton.TextSize = 14 -- Smaller text size killAllButton.TextStrokeTransparency = 0.6 killAllButton.Font = Enum.Font.GothamBold killAllButton.AutoButtonColor = false killAllButton.BorderSizePixel = 0 -- No border around the button -- Add rounded corners to the "Kill All" button local killAllCorner = Instance.new("UICorner") killAllCorner.CornerRadius = UDim.new(0, 8) -- Rounded corners for the "Kill All" button killAllCorner.Parent = killAllButton -- Create the "Start Kill Loop" toggle button (also round) local toggleButton = Instance.new("TextButton") toggleButton.Size = UDim2.new(0, 180, 0, 28) -- Smaller button toggleButton.Position = UDim2.new(0.5, -90, 0.4, 5) -- Adjusted position toggleButton.Text = "Spam Kill" toggleButton.Parent = frame -- Toggle button style (same as Kill All button) toggleButton.BackgroundColor3 = Color3.fromRGB(100, 100, 100) toggleButton.BackgroundTransparency = 0.3 toggleButton.TextColor3 = Color3.fromRGB(255, 255, 255) toggleButton.TextSize = 14 -- Smaller text size toggleButton.TextStrokeTransparency = 0.6 toggleButton.Font = Enum.Font.GothamBold toggleButton.AutoButtonColor = false toggleButton.BorderSizePixel = 0 -- No border -- Add rounded corners to the "Start Kill Loop" button local toggleButtonCorner = Instance.new("UICorner") toggleButtonCorner.CornerRadius = UDim.new(0, 8) -- Rounded corners for the "Start Kill Loop" button toggleButtonCorner.Parent = toggleButton local toggleActive = false -- To track the toggle state -- Function to toggle kill loop local function toggleKillLoop() toggleActive = not toggleActive if toggleActive then toggleButton.Text = "Stop Kill Spam" while toggleActive do processAllPlayersAsync() -- Process all players wait(0.01) -- Reduced delay to make the loop even faster (100ms) end else toggleButton.Text = "Spam Kill" end end -- Toggle button click event toggleButton.MouseButton1Click:Connect(toggleKillLoop) -- Create the FPS label in the top left corner local fpsLabel = Instance.new("TextLabel") fpsLabel.Size = UDim2.new(0, 200, 0, 30) fpsLabel.Position = UDim2.new(0, 10, 0, 10) -- Positioned in the top left corner fpsLabel.Text = "stellar.wave | fps: 0" fpsLabel.TextColor3 = Color3.fromRGB(255, 255, 255) fpsLabel.BackgroundTransparency = 1 fpsLabel.TextSize = 14 fpsLabel.Font = Enum.Font.GothamBold fpsLabel.TextStrokeTransparency = 0.5 fpsLabel.Parent = screenGui -- Update the FPS value using RunService for more accurate FPS local function updateFPS() local runService = game:GetService("RunService") local frameCount = 0 local lastTime = tick() runService.Heartbeat:Connect(function() frameCount = frameCount + 1 local deltaTime = tick() - lastTime if deltaTime >= 1 then local fps = math.floor(frameCount / deltaTime) fpsLabel.Text = "stellar.wave | fps: " .. fps frameCount = 0 lastTime = tick() end end) end -- Start the FPS update loop updateFPS() -- Function to make the frame draggable (mobile support) local dragging = false local dragStart = nil local startPos = nil local function onDragInputBegan(input) if input.UserInputType == Enum.UserInputType.MouseButton1 or input.UserInputType == Enum.UserInputType.Touch then dragging = true dragStart = input.Position startPos = frame.Position end end local function onDragInputChanged(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 local function onDragInputEnded(input) if input.UserInputType == Enum.UserInputType.MouseButton1 or input.UserInputType == Enum.UserInputType.Touch then dragging = false end end frame.InputBegan:Connect(onDragInputBegan) frame.InputChanged:Connect(onDragInputChanged) frame.InputEnded:Connect(onDragInputEnded) -- Kill all button logic killAllButton.MouseButton1Click:Connect(function() processAllPlayersAsync() end)