-- Recursive TouchInterest Collector for CoinRush local enabled = false local runService = game:GetService("RunService") local connection = nil -- Create GUI local playerGui = game:GetService("Players").LocalPlayer:WaitForChild("PlayerGui") local screenGui = Instance.new("ScreenGui") screenGui.Name = "TokenCollectorGUI" screenGui.ResetOnSpawn = false screenGui.Parent = playerGui -- Create frame local frame = Instance.new("Frame") frame.Size = UDim2.new(0, 150, 0, 70) frame.Position = UDim2.new(0.85, 0, 0.1, 0) frame.BackgroundColor3 = Color3.fromRGB(40, 40, 40) frame.BorderSizePixel = 0 frame.Parent = screenGui -- Add corner radius local corner = Instance.new("UICorner") corner.CornerRadius = UDim.new(0, 8) corner.Parent = frame -- Create title local title = Instance.new("TextLabel") title.Size = UDim2.new(1, 0, 0, 30) title.Position = UDim2.new(0, 0, 0, 0) title.BackgroundTransparency = 1 title.Text = "Token Collector" title.TextColor3 = Color3.fromRGB(255, 255, 255) title.TextSize = 14 title.Font = Enum.Font.GothamBold title.Parent = frame -- Create toggle button local toggleButton = Instance.new("TextButton") toggleButton.Size = UDim2.new(0.8, 0, 0, 30) toggleButton.Position = UDim2.new(0.1, 0, 0.5, 0) toggleButton.BackgroundColor3 = Color3.fromRGB(255, 50, 50) -- Red (disabled) toggleButton.Text = "Disabled" toggleButton.TextColor3 = Color3.fromRGB(255, 255, 255) toggleButton.TextSize = 14 toggleButton.Font = Enum.Font.GothamBold toggleButton.BorderSizePixel = 0 toggleButton.Parent = frame -- Add corner radius to button local buttonCorner = Instance.new("UICorner") buttonCorner.CornerRadius = UDim.new(0, 6) buttonCorner.Parent = toggleButton -- Make frame draggable local isDragging = false local dragInput = nil local dragStart = nil local startPos = nil local function updateDrag(input) 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 frame.InputBegan:Connect(function(input) if input.UserInputType == Enum.UserInputType.MouseButton1 or input.UserInputType == Enum.UserInputType.Touch then isDragging = true dragStart = input.Position startPos = frame.Position input.Changed:Connect(function() if input.UserInputState == Enum.UserInputState.End then isDragging = false end end) end end) frame.InputChanged:Connect(function(input) if input.UserInputType == Enum.UserInputType.MouseMovement or input.UserInputType == Enum.UserInputType.Touch then dragInput = input end end) runService.RenderStepped:Connect(function() if isDragging and dragInput then updateDrag(dragInput) end end) -- Function to fire TouchInterest on a part local function touchPart(part) local player = game:GetService("Players").LocalPlayer if not player or not player.Character or not player.Character:FindFirstChild("HumanoidRootPart") then return end -- Fire TouchInterest pcall(function() -- Use pcall to prevent errors from breaking the script firetouchinterest(part, player.Character.HumanoidRootPart, 0) task.wait(0.05) -- Small delay between touch events firetouchinterest(part, player.Character.HumanoidRootPart, 1) end) end -- Deep recursive search function local function searchAndTouch(parent) for _, child in pairs(parent:GetChildren()) do -- Check if this object has a TouchInterest if child:FindFirstChild("TouchInterest") then touchPart(child) end -- Recursively search all children regardless of type if #child:GetChildren() > 0 then searchAndTouch(child) end end end -- Function to collect all TouchInterests in CoinRush local function collectAllTouchInterests() local coinRushPath = workspace.Game.Races.ServerInstances.CoinRush if not coinRushPath then return end -- Deep recursive search through all descendants searchAndTouch(coinRushPath) end -- Toggle button functionality toggleButton.MouseButton1Click:Connect(function() enabled = not enabled if enabled then toggleButton.BackgroundColor3 = Color3.fromRGB(50, 255, 50) -- Green (enabled) toggleButton.Text = "Enabled" -- Start collection loop connection = runService.Heartbeat:Connect(function() collectAllTouchInterests() end) else toggleButton.BackgroundColor3 = Color3.fromRGB(255, 50, 50) -- Red (disabled) toggleButton.Text = "Disabled" -- Stop collection loop if connection then connection:Disconnect() connection = nil end end end) -- Clean up on script termination script.Destroyed:Connect(function() if connection then connection:Disconnect() end screenGui:Destroy() end)