-- Destroy existing instance if re-run if game:GetService("CoreGui"):FindFirstChild("HatchLoopGUI") then game:GetService("CoreGui").HatchLoopGUI:Destroy() end -- Create ScreenGui local ScreenGui = Instance.new("ScreenGui") ScreenGui.Name = "HatchLoopGUI" ScreenGui.ResetOnSpawn = false -- Support executor parent protection if gethui then ScreenGui.Parent = gethui() elseif syn and syn.protect_gui then syn.protect_gui(ScreenGui) ScreenGui.Parent = game:GetService("CoreGui") else ScreenGui.Parent = game:GetService("CoreGui") end -- Main Frame local Frame = Instance.new("Frame") Frame.Size = UDim2.new(0, 200, 0, 90) Frame.Position = UDim2.new(0.5, -100, 0.4, 0) Frame.BackgroundColor3 = Color3.fromRGB(25, 25, 25) Frame.BorderSizePixel = 0 Frame.Active = true Frame.Draggable = true Frame.Parent = ScreenGui local UICorner = Instance.new("UICorner") UICorner.CornerRadius = UDim.new(0, 8) UICorner.Parent = Frame -- Title Bar local Title = Instance.new("TextLabel") Title.Size = UDim2.new(1, 0, 0, 30) Title.BackgroundTransparency = 1 Title.Text = "Hatch Spammer" Title.TextColor3 = Color3.fromRGB(255, 255, 255) Title.TextSize = 14 Title.Font = Enum.Font.SourceSansBold Title.Parent = Frame -- Toggle Button local ToggleButton = Instance.new("TextButton") ToggleButton.Size = UDim2.new(0.85, 0, 0, 40) ToggleButton.Position = UDim2.new(0.075, 0, 0.4, 0) ToggleButton.BackgroundColor3 = Color3.fromRGB(200, 50, 50) ToggleButton.Text = "Loop: OFF" ToggleButton.TextColor3 = Color3.fromRGB(255, 255, 255) ToggleButton.TextSize = 16 ToggleButton.Font = Enum.Font.SourceSansBold ToggleButton.Parent = Frame local ButtonCorner = Instance.new("UICorner") ButtonCorner.CornerRadius = UDim.new(0, 6) ButtonCorner.Parent = ToggleButton -- Loop Logic local isToggled = false local function fireHatches() local spawned = workspace:FindFirstChild("SpawnedVehicles") if not spawned then return end for _, vehicle in ipairs(spawned:GetChildren()) do local hatches = vehicle:FindFirstChild("Hatches") if hatches then for _, obj in ipairs(hatches:GetDescendants()) do if obj:IsA("ClickDetector") then fireclickdetector(obj) end end end end end ToggleButton.MouseButton1Click:Connect(function() isToggled = not isToggled if isToggled then ToggleButton.Text = "Loop: ON" ToggleButton.BackgroundColor3 = Color3.fromRGB(50, 200, 80) task.spawn(function() while isToggled do fireHatches() task.wait() -- Fires every engine frame (~60–144+ times/sec depending on FPS) end end) else ToggleButton.Text = "Loop: OFF" ToggleButton.BackgroundColor3 = Color3.fromRGB(200, 50, 50) end end)