
Keyless

-- 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)



Works Perfectly every time.