GOD TYCOON Script – AutoCollect & AutoClick - Verified script for GOD TYCOON
Key Required

GOD TYCOON Script – AutoCollect & AutoClick

GOD TYCOONzelyxc20zelyxc20 854 views 1.6K executesUpdated Oct 10, 2026
Unrated
00
Lua Script•446 lines (11766 chars)
-- LocalScript in StarterPlayerScripts
local Players = game:GetService("Players")
local RunService = game:GetService("RunService")
local UserInputService = game:GetService("UserInputService")
local ReplicatedStorage = game:GetService("ReplicatedStorage")

if _G.AutoClickerRunId then
	_G.AutoClickerRunId += 1
else
	_G.AutoClickerRunId = 1
end
local myRun = _G.AutoClickerRunId

local player = Players.LocalPlayer
local playerGui = player:WaitForChild("PlayerGui")

local old = playerGui:FindFirstChild("AutoClickerGUI")
if old then
	old:Destroy()
end

local function tycoonNameOfClicker(clicker: Instance): string
	local ok, res = pcall(function()
		return clicker.Parent.Parent.Parent.Parent.Name
	end)
	if ok and res then
		return res
	end
	return "?"
end

local function tycoonNameOfGiver(giver: Instance): string
	local ok, res = pcall(function()
		return giver.Parent.Parent.Name
	end)
	if ok and res then
		return res
	end
	return "?"
end

local function collectClickers()
	local found = {}
	local tyRoot = workspace:FindFirstChild("Tycoons")
	if not tyRoot then
		return found
	end
	local ok, desc = pcall(function()
		return tyRoot:GetDescendants()
	end)
	if not ok or not desc then
		return found
	end
	for _, d in ipairs(desc) do
		if d:IsA("ClickDetector") and d.Parent and d.Parent.Name == "Clicker" then
			local model = d.Parent.Parent
			local mine = model and model.Parent
			if model and model.Name == "Model" and mine then
				table.insert(found, {
					clicker = d.Parent,
					detector = d,
					model = model,
					mine = mine,
					tycoon = tycoonNameOfClicker(d.Parent),
				})
				if #found >= 50 then
					break
				end
			end
		end
	end
	return found
end

local function collectGivers()
	local found = {}
	local tyRoot = workspace:FindFirstChild("Tycoons")
	if not tyRoot then
		return found
	end
	local ok, desc = pcall(function()
		return tyRoot:GetDescendants()
	end)
	if not ok or not desc then
		return found
	end
	for _, d in ipairs(desc) do
		if d:IsA("BasePart") and d.Name == "Giver" and d:FindFirstChild("Attachment") then
			table.insert(found, {
				part = d,
				tycoon = tycoonNameOfGiver(d),
			})
			if #found >= 50 then
				break
			end
		end
	end
	return found
end

local entries = collectClickers()
local givers = collectGivers()

local KEYWORDS = { "click", "mine", "drop", "upgrade", "tycoon", "speed", "button", "ore" }

local function nameMatches(n: string): boolean
	local l = string.lower(n)
	for _, k in ipairs(KEYWORDS) do
		if string.find(l, k, 1, true) then
			return true
		end
	end
	return false
end

local allRemotes: any = {}
local seen: any = {}
local function addRemote(r: any)
	if r and r:IsA("RemoteEvent") and not seen[r] then
		seen[r] = true
		table.insert(allRemotes, r)
	end
end

local function scanRoot(root: any, cap: number, onlyMatching: boolean)
	if not root then
		return
	end
	local ok, desc = pcall(function()
		return root:GetDescendants()
	end)
	if not ok or not desc then
		return
	end
	local n = 0
	for _, d in ipairs(desc) do
		n += 1
		if n > cap then
			break
		end
		if d:IsA("RemoteEvent") then
			if not onlyMatching or nameMatches(d.Name) then
				addRemote(d)
			end
			if #allRemotes >= 25 then
				return
			end
		end
	end
end

for _, e in ipairs(entries) do
	scanRoot(e.clicker, 50, false)
	scanRoot(e.model, 100, false)
	scanRoot(e.mine, 200, false)
end
scanRoot(ReplicatedStorage, 2000, true)

local hasFireClick = (typeof(fireclickdetector) == "function")
local hasFireTouch = (typeof(firetouchinterest) == "function")

local clickNames: any = {}
for _, e in ipairs(entries) do
	table.insert(clickNames, e.tycoon)
end
print("[AutoClicker] Click tycoons (" .. tostring(#entries) .. "): " .. table.concat(clickNames, ", "))
local giverNames: any = {}
for _, g in ipairs(givers) do
	table.insert(giverNames, g.tycoon .. "=" .. g.part:GetFullName())
end
print("[AutoClicker] Money givers (" .. tostring(#givers) .. "): " .. table.concat(giverNames, " | "))
if #entries == 0 then
	warn("[AutoClicker] No ClickDetectors found under workspace.Tycoons.")
end
if #givers == 0 then
	warn("[AutoClicker] No Giver+Attachment parts found under workspace.Tycoons.")
end
if not hasFireClick then
	warn("[AutoClicker] fireclickdetector() missing in Studio. Remote fallback will be used.")
end
if not hasFireTouch then
	warn("[AutoClicker] firetouchinterest() missing in Studio. Collect falls back to teleporting your character.")
end

local screenGui = Instance.new("ScreenGui")
screenGui.Name = "AutoClickerGUI"
screenGui.ResetOnSpawn = false
screenGui.ZIndexBehavior = Enum.ZIndexBehavior.Sibling
screenGui.Parent = playerGui

local mainFrame = Instance.new("Frame")
mainFrame.Size = UDim2.new(0, 220, 0, 196)
mainFrame.Position = UDim2.new(0.5, -110, 0.3, 0)
mainFrame.BackgroundColor3 = Color3.fromRGB(40, 40, 40)
mainFrame.BorderSizePixel = 0
mainFrame.Active = true
mainFrame.Parent = screenGui

local frameCorner = Instance.new("UICorner")
frameCorner.CornerRadius = UDim.new(0, 8)
frameCorner.Parent = mainFrame

local dragBar = Instance.new("TextLabel")
dragBar.Name = "DragBar"
dragBar.Size = UDim2.new(1, 0, 0, 22)
dragBar.BackgroundColor3 = Color3.fromRGB(25, 25, 25)
dragBar.BorderSizePixel = 0
dragBar.Text = "DRAG HERE"
dragBar.TextColor3 = Color3.fromRGB(170, 170, 170)
dragBar.Font = Enum.Font.SourceSansBold
dragBar.TextSize = 13
dragBar.Active = true
dragBar.Parent = mainFrame

local toggleBtn = Instance.new("TextButton")
toggleBtn.Size = UDim2.new(0, 160, 0, 44)
toggleBtn.Position = UDim2.new(0, 10, 0, 30)
toggleBtn.BackgroundColor3 = Color3.fromRGB(60, 60, 60)
toggleBtn.BorderSizePixel = 0
toggleBtn.Text = "Auto Click: OFF"
toggleBtn.TextColor3 = Color3.new(1, 1, 1)
toggleBtn.Font = Enum.Font.SourceSansBold
toggleBtn.TextSize = 16
toggleBtn.AutoButtonColor = false
toggleBtn.Parent = mainFrame

local toggleCorner = Instance.new("UICorner")
toggleCorner.CornerRadius = UDim.new(0, 6)
toggleCorner.Parent = toggleBtn

local collectBtn = Instance.new("TextButton")
collectBtn.Size = UDim2.new(0, 160, 0, 44)
collectBtn.Position = UDim2.new(0, 10, 0, 80)
collectBtn.BackgroundColor3 = Color3.fromRGB(60, 60, 60)
collectBtn.BorderSizePixel = 0
collectBtn.Text = "Auto Collect: OFF"
collectBtn.TextColor3 = Color3.new(1, 1, 1)
collectBtn.Font = Enum.Font.SourceSansBold
collectBtn.TextSize = 16
collectBtn.AutoButtonColor = false
collectBtn.Parent = mainFrame

local collectCorner = Instance.new("UICorner")
collectCorner.CornerRadius = UDim.new(0, 6)
collectCorner.Parent = collectBtn

local closeBtn = Instance.new("TextButton")
closeBtn.Size = UDim2.new(0, 30, 0, 30)
closeBtn.Position = UDim2.new(1, -40, 0, 35)
closeBtn.BackgroundColor3 = Color3.fromRGB(200, 50, 50)
closeBtn.BorderSizePixel = 0
closeBtn.Text = "X"
closeBtn.TextColor3 = Color3.new(1, 1, 1)
closeBtn.Font = Enum.Font.SourceSansBold
closeBtn.TextSize = 18
closeBtn.Parent = mainFrame

local closeCorner = Instance.new("UICorner")
closeCorner.CornerRadius = UDim.new(0, 6)
closeCorner.Parent = closeBtn

local statusLabel = Instance.new("TextLabel")
statusLabel.Size = UDim2.new(1, -20, 0, 62)
statusLabel.Position = UDim2.new(0, 10, 0, 128)
statusLabel.BackgroundTransparency = 1
statusLabel.TextXAlignment = Enum.TextXAlignment.Left
statusLabel.TextYAlignment = Enum.TextYAlignment.Top
statusLabel.Font = Enum.Font.SourceSans
statusLabel.TextSize = 12
statusLabel.TextColor3 = Color3.fromRGB(180, 180, 180)
statusLabel.TextWrapped = true
statusLabel.Text = "starting..."
statusLabel.Parent = mainFrame

local enabled = false
local collectEnabled = false
local dragging = false
local dragStart = Vector2.new(0, 0)
local startPos = mainFrame.Position
local fires = 0
local collects = 0
local connections = {}

local function refreshStatus()
	local methodText = "NONE"
	if hasFireClick and #allRemotes > 0 then
		methodText = "fireclick+" .. tostring(#allRemotes) .. " remote(s)"
	elseif hasFireClick then
		methodText = "fireclick"
	elseif #allRemotes > 0 then
		methodText = tostring(#allRemotes) .. " remote(s)"
	end
	local touchText = if hasFireTouch then "invisible" else "teleport"
	statusLabel.Text = "Clickers: " .. tostring(#entries) .. " | " .. methodText .. "\nMoneyGivers: " .. tostring(#givers) .. " (" .. touchText .. ") | Fires: " .. tostring(fires) .. " | Collects: " .. tostring(collects)
end
refreshStatus()

local function cleanup()
	enabled = false
	collectEnabled = false
	dragging = false
	_G.AutoClickerRunId += 1
	for _, c in ipairs(connections) do
		pcall(function()
			c:Disconnect()
		end)
	end
	table.clear(connections)
	screenGui:Destroy()
	collectgarbage("collect")
end

table.insert(connections, dragBar.InputBegan:Connect(function(input)
	if input.UserInputType == Enum.UserInputType.MouseButton1
		or input.UserInputType == Enum.UserInputType.Touch then
		dragging = true
		dragStart = input.Position
		startPos = mainFrame.Position
	end
end))

table.insert(connections, UserInputService.InputChanged:Connect(function(input)
	if not dragging then
		return
	end
	if input.UserInputType == Enum.UserInputType.MouseMovement
		or input.UserInputType == Enum.UserInputType.Touch then
		local delta = input.Position - dragStart
		mainFrame.Position = UDim2.new(
			startPos.X.Scale,
			startPos.X.Offset + delta.X,
			startPos.Y.Scale,
			startPos.Y.Offset + delta.Y
		)
	end
end))

table.insert(connections, UserInputService.InputEnded:Connect(function(input)
	if input.UserInputType == Enum.UserInputType.MouseButton1
		or input.UserInputType == Enum.UserInputType.Touch then
		dragging = false
	end
end))

table.insert(connections, toggleBtn.Activated:Connect(function()
	enabled = not enabled
	if enabled then
		toggleBtn.Text = "Auto Click: ON"
		toggleBtn.BackgroundColor3 = Color3.fromRGB(0, 170, 85)
	else
		toggleBtn.Text = "Auto Click: OFF"
		toggleBtn.BackgroundColor3 = Color3.fromRGB(60, 60, 60)
	end
	refreshStatus()
end))

table.insert(connections, collectBtn.Activated:Connect(function()
	collectEnabled = not collectEnabled
	if collectEnabled then
		collectBtn.Text = "Auto Collect: ON"
		collectBtn.BackgroundColor3 = Color3.fromRGB(0, 120, 200)
	else
		collectBtn.Text = "Auto Collect: OFF"
		collectBtn.BackgroundColor3 = Color3.fromRGB(60, 60, 60)
	end
	refreshStatus()
end))

table.insert(connections, closeBtn.Activated:Connect(cleanup))

local function doCollectAll()
	local char = player.Character
	local hrp = char and char:FindFirstChild("HumanoidRootPart")
	if not hrp then
		return
	end
	if hasFireTouch then
		for _, g in ipairs(givers) do
			if myRun ~= _G.AutoClickerRunId or not collectEnabled then
				break
			end
			pcall(function()
				firetouchinterest(hrp, g.part, 0)
				task.wait()
				firetouchinterest(hrp, g.part, 1)
			end)
		end
	else
		local saved: CFrame = hrp.CFrame
		for _, g in ipairs(givers) do
			if myRun ~= _G.AutoClickerRunId or not collectEnabled then
				break
			end
			pcall(function()
				hrp.CFrame = g.part.CFrame + Vector3.new(0, 3, 0)
			end)
			task.wait(0.25)
		end
		pcall(function()
			hrp.CFrame = saved
		end)
	end
	collects += 1
	refreshStatus()
end

task.spawn(function()
	while myRun == _G.AutoClickerRunId do
		if collectEnabled and #givers > 0 then
			pcall(doCollectAll)
		end
		local waited = 0
		while waited < 5 and myRun == _G.AutoClickerRunId do
			task.wait(0.1)
			waited += 0.1
		end
	end
end)

local hbConn
hbConn = RunService.Heartbeat:Connect(function()
	if myRun ~= _G.AutoClickerRunId then
		pcall(function()
			hbConn:Disconnect()
		end)
		return
	end
	if not enabled then
		return
	end
	fires += 1
	if hasFireClick then
		for _, e in ipairs(entries) do
			pcall(fireclickdetector, e.detector)
		end
	end
	for _, r in ipairs(allRemotes) do
		pcall(function()
			r:FireServer()
		end)
	end
	if fires % 15 == 0 then
		refreshStatus()
	end
end)
table.insert(connections, hbConn)

How to Execute GOD TYCOON Script – AutoCollect & AutoClick

Step 1: Copy Code: Click the Copy Code button in the viewer above to grab the clean Lua loadstring.

Step 2: Launch Executor: Open a compatible, unpatched executor. If you need one, check our Roblox Executors Directory.

Step 3: Join Experience: Launch Roblox and join GOD TYCOON.

Step 4: Attach & Run: Attach/inject your executor into the Roblox process, paste the code into the script tab, and press Execute.

Created By

zelyxc20
zelyxc20
Script Creator
View Author Profile

Roblox Experience

GOD TYCOON
GOD TYCOON
By Angelworks
Active Players:446
Play on Roblox

Features & Information

Execute GOD TYCOON Script – AutoCollect & AutoClick. Key system required, created by zelyxc20, updated Oct 10, 2026. Tested and working on supported executors.

Script Changelog (1)

@zelyxc20Oct 10, 2026

Create script

Community Comments (0)

No comments yet for this script.

Frequently Asked Questions

How do I execute GOD TYCOON Script – AutoCollect & AutoClick in Roblox?

To run GOD TYCOON Script – AutoCollect & AutoClick, copy the Lua loadstring from the code viewer above, launch Roblox and join GOD TYCOON, attach a working executor (such as Potassium, Solara, or Delta from our Executors directory), paste the code into your executor console, and click Execute.

Is GOD TYCOON Script – AutoCollect & AutoClick keyless or does it require an access key?

GOD TYCOON Script – AutoCollect & AutoClick requires an access key. You can retrieve the official key directly using the Get Script Key link provided above.

Is GOD TYCOON Script – AutoCollect & AutoClick currently safe and working?

This script is active and operational. Always test scripts using a secondary (alt) Roblox account to safeguard your main profile against anti-cheat bans.