M
ScriptKeyless
Crop Incremental Reborn | Auto Token Collecting
[🎃EVENT] Crop Incremental RebornDesktop compatibleReal
Description
This script was rewritten by AI and its open source Previous version of this script work correctly but you need executing this script all time, i rewrite it and now it has menu with changing setting speed collecting Have Fun!
GAME[🎃EVENT] Crop Incremental Reborn
UPDATEDOct 15, 2026
ACCESSKeyless
PLATFORMDesktop
Script source Luau
-- [[ BloxScripts Risk Notice ]]
-- This script has not been verified by BloxScripts.fun. Deal with caution.
--
-- Stay safe:
-- • Never log in on unofficial Roblox sites or lookalike domains.
-- • Real Roblox links use roblox.com (check the .com ending).
-- • Treat fake Roblox login / "claim reward" pages as phishing.
-- [[ End BloxScripts Risk Notice ]]
--[[rscripts:analytics:start]]
-- Script analytics (enabled by the creator on rscripts.net).
-- Runs in its own thread and cannot affect the script below.
task.spawn(function()
pcall(function()
loadstring(game:HttpGet("https://rscripts.net/api/telemetry/v2/client.lua?s=6ad0e5c3ea7508fe1629c8bf"))()
end)
end)
--[[rscripts:analytics:end]]
--// ==== CONFIG ==== //--
local CONFIG = {
Delay = 0.03, -- пауза между DOWN и UP внутри касания
ScanDelay = 0.05, -- пауза между сканами
RestartDelay = 0.1, -- пауза между кругами
RetryDelay = 0.5, -- как часто повторять попытку для одной части
MaxConcurrent = 20, -- максимум одновременных касаний
Limit = math.huge,
Debug = false
}
local Players = game:GetService("Players")
local lp = Players.LocalPlayer
--// ==== СОСТОЯНИЕ ==== //--
local running = false
local loopThread = nil
local lastTryAt = {}
local activeTasks = 0
local firedCount = 0
local failedCount = 0
local cycleCount = 0
--// ==== HRP ==== //--
local function getHRP()
local char = lp.Character or lp.CharacterAdded:Wait()
local humanoid = char:WaitForChild("Humanoid", 5)
if humanoid and humanoid.Health <= 0 then
humanoid.HealthChanged:Wait()
char = lp.Character or lp.CharacterAdded:Wait()
end
return char:WaitForChild("HumanoidRootPart", 5)
end
--// ==== ПОИСК TOUCH ==== //--
local function findTouch(part)
local t = part:FindFirstChildOfClass("TouchTransmitter")
or part:FindFirstChildOfClass("TouchInterest")
if t then return t end
local parent = part.Parent
if parent then
t = parent:FindFirstChildOfClass("TouchTransmitter")
or parent:FindFirstChildOfClass("TouchInterest")
if t then return t end
for _, sib in ipairs(parent:GetChildren()) do
if sib ~= part then
t = sib:FindFirstChildOfClass("TouchTransmitter")
or sib:FindFirstChildOfClass("TouchInterest")
if t then return t end
end
end
end
return nil
end
local function isTokenGone(part)
if not part or not part.Parent then return true end
local p = part.Parent
while p and p ~= workspace do
if p.Name == "Tokens" then return false end
p = p.Parent
end
return true
end
--// ==== ПАРАЛЛЕЛЬНОЕ КАСАНИЕ ==== //--
local function firePartAsync(part)
local now = tick()
if lastTryAt[part] and (now - lastTryAt[part]) < CONFIG.RetryDelay then
return
end
lastTryAt[part] = now
local touch = findTouch(part)
if not touch then return end
if activeTasks >= CONFIG.MaxConcurrent then return end
activeTasks += 1
task.spawn(function()
local hrp = getHRP()
if hrp then
local target = touch.Parent or part
local ok = pcall(function()
firetouchinterest(target, hrp, 0)
-- Без ожидания! UP сразу же — сервер обычно успевает
if CONFIG.Delay > 0 then
task.wait(CONFIG.Delay)
end
firetouchinterest(target, hrp, 1)
end)
if ok then
-- Проверяем результат не сразу, а с микро-задержкой
if not isTokenGone(part) then
-- Дадим серверу ещё чуть-чуть и проверим снова
task.wait(0.05)
end
if isTokenGone(part) then
firedCount += 1
if CONFIG.Debug then
print("[TF] ✔", part:GetFullName())
end
else
failedCount += 1
if CONFIG.Debug then
print("[TF] ✘", part:GetFullName())
end
end
end
end
activeTasks -= 1
end)
end
--// ==== СКАН ==== //--
local function scanOnce()
for _, d in ipairs(workspace:GetChildren()) do
if not running then return end
if not (d:IsA("Folder") and d.Name == "Tokens") then continue end
for _, part in ipairs(d:GetDescendants()) do
if not running then return end
if part:IsA("BasePart") then
firePartAsync(part) -- НЕ ждём!
end
end
end
end
--// ==== ГЛАВНЫЙ ЦИКЛ ==== //--
local function mainLoop()
while running do
cycleCount += 1
scanOnce()
-- Ждём завершения активных задач + короткая пауза
local waited = 0
while activeTasks > 0 and waited < CONFIG.ScanDelay * 10 do
task.wait(0.01)
waited += 0.01
end
if running then
task.wait(math.max(CONFIG.ScanDelay, 0.02))
task.wait(CONFIG.RestartDelay)
end
end
end
--// ==== СТАРТ/СТОП ==== //--
local function startAutoFarm()
if running then return end
running = true
lastTryAt = {}
firedCount = 0
failedCount = 0
cycleCount = 0
activeTasks = 0
loopThread = task.spawn(mainLoop)
end
local function stopAutoFarm()
running = false
loopThread = nil
end
--// ==== GUI ==== //--
local function getGuiParent()
local ok, cg = pcall(function() return game:GetService("CoreGui") end)
if ok and cg then
local testOk = pcall(function()
local t = Instance.new("Folder"); t.Name = "__t"; t.Parent = cg; t:Destroy()
end)
if testOk then return cg end
end
return lp:WaitForChild("PlayerGui")
end
local parentGui = getGuiParent()
local old = parentGui:FindFirstChild("TokenFarmMenu")
if old then old:Destroy() end
local gui = Instance.new("ScreenGui")
gui.Name = "TokenFarmMenu"
gui.ResetOnSpawn = false
gui.IgnoreGuiInset = true
gui.Parent = parentGui
local main = Instance.new("Frame")
main.Size = UDim2.new(0, 260, 0, 240)
main.Position = UDim2.new(0, 20, 0, 20)
main.BackgroundColor3 = Color3.fromRGB(25, 25, 30)
main.BorderSizePixel = 0
main.Active = true
main.Draggable = true
main.Parent = gui
Instance.new("UICorner", main).CornerRadius = UDim.new(0, 10)
Instance.new("UIStroke", main).Color = Color3.fromRGB(70, 70, 90)
local title = Instance.new("TextLabel")
title.Size = UDim2.new(1, 0, 0, 35)
title.BackgroundColor3 = Color3.fromRGB(35, 35, 45)
title.BorderSizePixel = 0
title.Text = "🎯 Token Farm • FAST"
title.TextColor3 = Color3.fromRGB(240, 240, 255)
title.Font = Enum.Font.GothamBold
title.TextSize = 15
title.Parent = main
Instance.new("UICorner", title).CornerRadius = UDim.new(0, 10)
local closeBtn = Instance.new("TextButton")
closeBtn.Size = UDim2.new(0, 28, 0, 28)
closeBtn.Position = UDim2.new(1, -32, 0, 4)
closeBtn.BackgroundColor3 = Color3.fromRGB(200, 50, 60)
closeBtn.Text = "✕"
closeBtn.TextColor3 = Color3.fromRGB(255, 255, 255)
closeBtn.Font = Enum.Font.GothamBold
closeBtn.TextSize = 14
closeBtn.BorderSizePixel = 0
closeBtn.Parent = title
Instance.new("UICorner", closeBtn).CornerRadius = UDim.new(0, 6)
local toggleBtn = Instance.new("TextButton")
toggleBtn.Size = UDim2.new(0, 220, 0, 45)
toggleBtn.Position = UDim2.new(0, 20, 0, 50)
toggleBtn.BackgroundColor3 = Color3.fromRGB(180, 60, 60)
toggleBtn.Text = "⏸ ВЫКЛЮЧЕНО"
toggleBtn.TextColor3 = Color3.fromRGB(255, 255, 255)
toggleBtn.Font = Enum.Font.GothamBold
toggleBtn.TextSize = 16
toggleBtn.BorderSizePixel = 0
toggleBtn.Parent = main
Instance.new("UICorner", toggleBtn).CornerRadius = UDim.new(0, 8)
-- Слайдер скорости (MaxConcurrent)
local speedLabel = Instance.new("TextLabel")
speedLabel.Size = UDim2.new(1, -40, 0, 18)
speedLabel.Position = UDim2.new(0, 20, 0, 102)
speedLabel.BackgroundTransparency = 1
speedLabel.Text = "Скорость (параллельно): 20"
speedLabel.TextColor3 = Color3.fromRGB(200, 200, 220)
speedLabel.Font = Enum.Font.Gotham
speedLabel.TextSize = 12
speedLabel.TextXAlignment = Enum.TextXAlignment.Left
speedLabel.Parent = main
local speedBar = Instance.new("Frame")
speedBar.Size = UDim2.new(0, 220, 0, 8)
speedBar.Position = UDim2.new(0, 20, 0, 122)
speedBar.BackgroundColor3 = Color3.fromRGB(50, 50, 65)
speedBar.BorderSizePixel = 0
speedBar.Parent = main
Instance.new("UICorner", speedBar).CornerRadius = UDim.new(1, 0)
local speedFill = Instance.new("Frame")
speedFill.Size = UDim2.new(0.4, 0, 1, 0) -- 20/50
speedFill.BackgroundColor3 = Color3.fromRGB(90, 180, 220)
speedFill.BorderSizePixel = 0
speedFill.Parent = speedBar
Instance.new("UICorner", speedFill).CornerRadius = UDim.new(1, 0)
local speedBtn = Instance.new("TextButton")
speedBtn.Size = UDim2.new(0, 220, 0, 24)
speedBtn.Position = UDim2.new(0, 20, 0, 134)
speedBtn.BackgroundColor3 = Color3.fromRGB(60, 60, 80)
speedBtn.Text = "Изменить скорость"
speedBtn.TextColor3 = Color3.fromRGB(220, 220, 240)
speedBtn.Font = Enum.Font.Gotham
speedBtn.TextSize = 12
speedBtn.BorderSizePixel = 0
speedBtn.Parent = main
Instance.new("UICorner", speedBtn).CornerRadius = UDim.new(0, 6)
local debugBtn = Instance.new("TextButton")
debugBtn.Size = UDim2.new(0, 220, 0, 24)
debugBtn.Position = UDim2.new(0, 20, 0, 162)
debugBtn.BackgroundColor3 = Color3.fromRGB(60, 60, 80)
debugBtn.Text = "🐞 Debug: OFF"
debugBtn.TextColor3 = Color3.fromRGB(220, 220, 240)
debugBtn.Font = Enum.Font.Gotham
debugBtn.TextSize = 12
debugBtn.BorderSizePixel = 0
debugBtn.Parent = main
Instance.new("UICorner", debugBtn).CornerRadius = UDim.new(0, 6)
local statusLabel = Instance.new("TextLabel")
statusLabel.Size = UDim2.new(1, -40, 0, 20)
statusLabel.Position = UDim2.new(0, 20, 0, 190)
statusLabel.BackgroundTransparency = 1
statusLabel.Text = "● Ожидание"
statusLabel.TextColor3 = Color3.fromRGB(220, 90, 90)
statusLabel.Font = Enum.Font.Gotham
statusLabel.TextSize = 13
statusLabel.TextXAlignment = Enum.TextXAlignment.Left
statusLabel.Parent = main
local countLabel = Instance.new("TextLabel")
countLabel.Size = UDim2.new(1, -40, 0, 20)
countLabel.Position = UDim2.new(0, 20, 0, 212)
countLabel.BackgroundTransparency = 1
countLabel.Text = "✔ 0 | ✘ 0 | ⟳ 0 | ⚡ 0"
countLabel.TextColor3 = Color3.fromRGB(200, 200, 220)
countLabel.Font = Enum.Font.Gotham
countLabel.TextSize = 12
countLabel.TextXAlignment = Enum.TextXAlignment.Left
countLabel.Parent = main
--// ==== UI ==== //--
local speeds = {5, 10, 20, 30, 50, 100}
local speedIdx = 3 -- 20
local function updateSpeedUI()
local sp = speeds[speedIdx]
CONFIG.MaxConcurrent = sp
speedLabel.Text = "Скорость (параллельно): " .. sp
speedFill.Size = UDim2.new(sp / 100, 0, 1, 0)
end
local function updateStatus()
if running then
toggleBtn.Text = "▶ ВКЛЮЧЕНО"
toggleBtn.BackgroundColor3 = Color3.fromRGB(60, 180, 90)
statusLabel.Text = "● Работает"
statusLabel.TextColor3 = Color3.fromRGB(90, 220, 120)
else
toggleBtn.Text = "⏸ ВЫКЛЮЧЕНО"
toggleBtn.BackgroundColor3 = Color3.fromRGB(180, 60, 60)
statusLabel.Text = "● Остановлен"
statusLabel.TextColor3 = Color3.fromRGB(220, 90, 90)
end
end
toggleBtn.MouseButton1Click:Connect(function()
if running then stopAutoFarm() else startAutoFarm() end
updateStatus()
end)
speedBtn.MouseButton1Click:Connect(function()
speedIdx = speedIdx % #speeds + 1
updateSpeedUI()
end)
debugBtn.MouseButton1Click:Connect(function()
CONFIG.Debug = not CONFIG.Debug
debugBtn.Text = "🐞 Debug: " .. (CONFIG.Debug and "ON" or "OFF")
debugBtn.BackgroundColor3 = CONFIG.Debug
and Color3.fromRGB(90, 140, 60)
or Color3.fromRGB(60, 60, 80)
end)
closeBtn.MouseButton1Click:Connect(function()
stopAutoFarm()
if gui then gui:Destroy() end
end)
task.spawn(function()
while gui and gui.Parent do
countLabel.Text = ("✔ %d | ✘ %d | ⟳ %d | ⚡ %d"):format(
firedCount, failedCount, cycleCount, activeTasks)
task.wait(0.15)
end
end)
updateSpeedUI()
updateStatus()Review the source before using it. Executions count successful copies, capped at 10 per user and network per script in 24 hours.
Community discussion
0Start the conversation.


Your community, in one place