local Players = game:GetService("Players") local LocalPlayer = Players.LocalPlayer -- Конфигурация local CONFIG = { DELAY_BETWEEN_COLLECT = 0.5, -- Задержка между сборами MAX_RETRIES = 2, -- Попытки для каждого Brainrot BATCH_SIZE = 10 -- Размер батча для прогресса } -- Получаем HRP local function getHRP() local character = LocalPlayer.Character if not character then LocalPlayer.CharacterAdded:Wait() character = LocalPlayer.Character end return character:WaitForChild("HumanoidRootPart") end -- Основная функция сбора local function collectAllBrainrots() local hrp = getHRP() local toFindFolder = workspace:FindFirstChild("ToFind") if not toFindFolder then warn("[BrainrotCollector] Папка 'ToFind' не найдена в workspace!") return end -- Собираем все TouchTransmitter только из папки ToFind local brainrots = {} for _, obj in ipairs(toFindFolder:GetDescendants()) do if obj:IsA("TouchTransmitter") then table.insert(brainrots, { transmitter = obj, parent = obj.Parent, name = obj.Parent and obj.Parent.Name or "Unknown" }) end end local total = #brainrots print(string.format("[BrainrotCollector] Найдено Brainrot в папке ToFind: %d", total)) if total == 0 then warn("[BrainrotCollector] Не найдено TouchTransmitter в папке ToFind!") return end -- Процесс сбора local collected = 0 local failed = 0 for index, brainrot in ipairs(brainrots) do -- Показываем прогресс if index % CONFIG.BATCH_SIZE == 0 then local progress = math.floor((index / total) * 100) print(string.format("[BrainrotCollector] Прогресс: %d/%d (%d%%)", index, total, progress)) end -- Сбор текущего Brainrot local success = false for attempt = 1, CONFIG.MAX_RETRIES do local ok = pcall(function() -- Активируем TouchInterest (как в примере) firetouchinterest(hrp, brainrot.parent, 0) -- touch began task.wait(0.05) firetouchinterest(hrp, brainrot.parent, 1) -- touch ended end) if ok then success = true collected = collected + 1 break else if attempt == CONFIG.MAX_RETRIES then warn(string.format("[BrainrotCollector] Не удалось собрать: %s", brainrot.name)) failed = failed + 1 end end end -- Задержка между сборами task.wait(CONFIG.DELAY_BETWEEN_COLLECT) end -- Финальный отчет print("=== BRAINROT COLLECTION COMPLETE ===") print(string.format("Успешно: %d | Не удалось: %d | Всего: %d", collected, failed, total)) end -- Функция для сбора конкретных Brainrot (для теста) local function collectSpecificBrainrots() local hrp = getHRP() local specificNames = { "Admin Lucky Block", "1x1x1x1", "Bambini Crostini" } print("[BrainrotCollector] Сбор конкретных Brainrot...") for _, name in ipairs(specificNames) do local brainrot = workspace.ToFind:FindFirstChild(name) if brainrot and brainrot:FindFirstChildOfClass("TouchTransmitter") then pcall(function() firetouchinterest(hrp, brainrot, 0) task.wait(0.05) firetouchinterest(hrp, brainrot, 1) end) print(string.format("[BrainrotCollector] Собран: %s", name)) task.wait(CONFIG.DELAY_BETWEEN_COLLECT) else warn(string.format("[BrainrotCollector] Не найден: %s", name)) end end end -- Автоматический запуск task.wait(2) -- Даем время на загрузку print("=== BRAINROT COLLECTOR ===") print("Запускаем сбор всех Brainrot из папки ToFind...") -- Сначала тест на конкретных collectSpecificBrainrots() task.wait(1) -- Затем полный сбор collectAllBrainrots() print("Сбор завершен! Скрипт можно перезапустить для повторного сбора.")