-- [[ Rscripts Risk Notice ]] -- This script is not verified by rscripts.net. 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 Rscripts Risk Notice ]] _G.TokenFarm = { Enabled = true, Delay = 0, -- seconds between touches ScanDelay = 0.1, -- seconds between scans (raise if still laggy) Limit = math.huge -- math.huge = infinite, or a number } local Players = game:GetService("Players") local lp = Players.LocalPlayer local char = lp.Character or lp.CharacterAdded:Wait() local hrp = char:WaitForChild("HumanoidRootPart") local firedParts = {} -- [part] = true, so we never re-touch the same part local firedCount = 0 local function firePart(part) if firedParts[part] then return false end local touch = part:FindFirstChildOfClass("TouchTransmitter") or part:FindFirstChildOfClass("TouchInterest") if not touch then return false end firedParts[part] = true pcall(function() firetouchinterest(part, hrp, 0) task.wait(_G.TokenFarm.Delay) firetouchinterest(part, hrp, 1) end) return true end task.spawn(function() while _G.TokenFarm.Enabled do if firedCount >= _G.TokenFarm.Limit then task.wait(1) continue end -- Only scan workspace, only look for "Tokens" folders for _, d in ipairs(workspace:GetChildren()) do if not _G.TokenFarm.Enabled then return end if firedCount >= _G.TokenFarm.Limit then break end if not (d:IsA("Folder") and d.Name == "Tokens") then continue end for _, part in ipairs(d:GetDescendants()) do if not _G.TokenFarm.Enabled then return end if firedCount >= _G.TokenFarm.Limit then break end if part:IsA("BasePart") and firePart(part) then firedCount += 1 task.wait(_G.TokenFarm.Delay) end end end -- Idle until next scan task.wait(_G.TokenFarm.ScanDelay) end end)