Back to Scripts
MINERS HAVEN AUTO CANDY COLLECTION AND AUTO PUMPKINITE

MINERS HAVEN AUTO CANDY COLLECTION AND AUTO PUMPKINITE

ScriptBlox
Free

Game: [🎃] Miner's Haven ⛏️ Sandbox Tycoon

104 Views
0 Likes
1 Dislikes
jervisawyongweihong

jervisawyongweihong

offline

Features

automatic pumpkinite mine and auto candy collection ONLY WORKS WITH PUMPKINITE MINE AND CANDY METROPOLIS SETUPS (STAY NEAR BOTH THE PUMPKINITE MINE AND THE CANDY METROPOLIS)

Script Code

local player = game.Players.LocalPlayer
local myfac

-- 🔍 Find your tycoon
for i, v in pairs(game.workspace.Tycoons:GetChildren()) do
	if v:FindFirstChild("Owner") and v.Owner.Value == player.Name then
		myfac = v
		break
	end
end

if not myfac then
	warn("Tycoon not found!")
	return
end

-- ⚙️ Safe proximity prompt function
local function firePrompt(internalPart)
	if internalPart and internalPart:FindFirstChild("ProximityPrompt") then
		local prompt = internalPart.ProximityPrompt
		prompt.MaxActivationDistance = math.huge -- ✅ infinite range
		fireproximityprompt(prompt, math.huge)
		print("Fired prompt at", internalPart.Name)
	else
		warn("ProximityPrompt not found in", internalPart and internalPart.Name or "nil")
	end
end

-- 🍭 Candy setup
local candyFurnace = myfac:FindFirstChild("Candy Metropolis")
local candyMax = candyFurnace and 25000 or 0

-- 💬 Auto-click "Yes" on collection GUI
local gui = player.PlayerGui:WaitForChild("GUI")
local inputPrompt = gui:WaitForChild("InputPrompt")
local absorb = inputPrompt:WaitForChild("Absorb")

absorb.Changed:Connect(function(property)
	if property == "Visible" and absorb.Visible then
		local text = string.sub(inputPrompt.InputPrompt.Title.Text, 1, 25)
		if text == "Would you like to collect" then
			for _, connection in pairs(getconnections(inputPrompt.InputPrompt.Yes.MouseButton1Click)) do
				connection:Fire()
			end
		end
	end
end)

-- 🧩 Create GUI
local screenGui = Instance.new("ScreenGui")
screenGui.Name = "CandyMineAutomation"
screenGui.ResetOnSpawn = false
screenGui.Parent = player:WaitForChild("PlayerGui")

local frame = Instance.new("Frame")
frame.Size = UDim2.new(0, 260, 0, 140)
frame.Position = UDim2.new(0.05, 0, 0.2, 0)
frame.BackgroundColor3 = Color3.fromRGB(30, 30, 30)
frame.BorderSizePixel = 0
frame.Active = true
frame.Draggable = true
frame.Parent = screenGui

local title = Instance.new("TextLabel")
title.Size = UDim2.new(1, 0, 0, 30)
title.BackgroundColor3 = Color3.fromRGB(40, 40, 40)
title.Text = "Candy + Mine Automation"
title.TextColor3 = Color3.fromRGB(255, 255, 255)
title.Font = Enum.Font.GothamBold
title.TextSize = 14
title.Parent = frame

local progressBarBG = Instance.new("Frame")
progressBarBG.Size = UDim2.new(1, -20, 0, 20)
progressBarBG.Position = UDim2.new(0, 10, 0, 40)
progressBarBG.BackgroundColor3 = Color3.fromRGB(50, 50, 50)
progressBarBG.Parent = frame

local progressBar = Instance.new("Frame")
progressBar.Size = UDim2.new(0, 0, 1, 0)
progressBar.BackgroundColor3 = Color3.fromRGB(0, 220, 100)
progressBar.Parent = progressBarBG

local statusLabel = Instance.new("TextLabel")
statusLabel.Size = UDim2.new(1, 0, 0, 25)
statusLabel.Position = UDim2.new(0, 0, 0, 65)
statusLabel.BackgroundTransparency = 1
statusLabel.Text = "Candy: 0 / 25000"
statusLabel.TextColor3 = Color3.fromRGB(255, 255, 255)
statusLabel.Font = Enum.Font.Gotham
statusLabel.TextSize = 14
statusLabel.Parent = frame

-- 🔴 Buttons start red
local candyBtn = Instance.new("TextButton")
candyBtn.Size = UDim2.new(0.45, 0, 0, 30)
candyBtn.Position = UDim2.new(0.05, 0, 1, -40)
candyBtn.BackgroundColor3 = Color3.fromRGB(220, 50, 50)
candyBtn.Text = "Toggle Candy"
candyBtn.TextColor3 = Color3.fromRGB(255, 255, 255)
candyBtn.Font = Enum.Font.GothamBold
candyBtn.TextSize = 14
candyBtn.Parent = frame

local mineBtn = Instance.new("TextButton")
mineBtn.Size = UDim2.new(0.45, 0, 0, 30)
mineBtn.Position = UDim2.new(0.5, 0, 1, -40)
mineBtn.BackgroundColor3 = Color3.fromRGB(220, 50, 50)
mineBtn.Text = "Toggle Mine"
mineBtn.TextColor3 = Color3.fromRGB(255, 255, 255)
mineBtn.Font = Enum.Font.GothamBold
mineBtn.TextSize = 14
mineBtn.Parent = frame

-- 🔁 Automation logic
local candyEnabled = false
local mineEnabled = false

candyBtn.MouseButton1Click:Connect(function()
	candyEnabled = not candyEnabled
	if candyEnabled then
		candyBtn.BackgroundColor3 = Color3.fromRGB(0, 200, 100) -- green
	else
		candyBtn.BackgroundColor3 = Color3.fromRGB(220, 50, 50) -- red
	end
end)

mineBtn.MouseButton1Click:Connect(function()
	mineEnabled = not mineEnabled
	if mineEnabled then
		mineBtn.BackgroundColor3 = Color3.fromRGB(0, 200, 100) -- green
	else
		mineBtn.BackgroundColor3 = Color3.fromRGB(220, 50, 50) -- red
	end
end)

-- 🧠 Main loop
task.spawn(function()
	while task.wait(0.5) do
		if candyFurnace then
			local candyAmount = tonumber(candyFurnace.Model.CounterPart.CandyTracker.Background.Amount.Text) or 0
			local ratio = math.clamp(candyAmount / candyMax, 0, 1)
			progressBar.Size = UDim2.new(ratio, 0, 1, 0)
			statusLabel.Text = string.format("Candy: %d / %d", candyAmount, candyMax)

			if candyEnabled and candyAmount >= candyMax then
				firePrompt(candyFurnace.Model.Internal)
			end
		end

		if mineEnabled then
			local pumpkinMine = myfac:FindFirstChild("Pumpkinite Mine")
			if pumpkinMine then
				firePrompt(pumpkinMine.Model.Internal)
			end
		end
	end
end)

Ratings & Reviews

No reviews yet. Be the first to review this script!

Comments (0)

Please login to comment

Login with Discord

Loading comments...