Roblox Database Logo
  • Home
  • Roblox Scripts
  • Game Codes
  • Roblox Codes
    • Promo Codes
    • Item Codes
    • Music Codes
    • Star Codes
    • Color Codes
  • Best Games
  • Roblox Guides
  • Roblox Tools
  • Home
  • Roblox Scripts
  • Game Codes
  • Roblox Codes
    • Promo Codes
    • Item Codes
    • Music Codes
    • Star Codes
    • Color Codes
  • Best Games
  • Roblox Guides
  • Roblox Tools
Home - Scripts - Wheat Tycoon 2 Script

Wheat Tycoon 2 Script

Get ready for another fruitful season as you walk into a captivating world of never ending farming and pet raising with the help of the Wheat Tycoon 2 Script. This script or code will boost your farming activities to generate more crops quickly and sell them at a higher price instantly. It also helps you to do more rebirths faster and unlock certain resource multipliers and barn upgrades throughout the game.

Wheat Tycoon 2 Script

Wheat Tycoon 2 Script Auto Farm, Auto Buttons, Auto Upgrade, Auto Rebirth, Auto Prestige

Copy the script below to level up your farming facilities in the game. Make sure to use the most effective executor or exploit to make your every harvest enjoyable and abundant. We have a list of available executors here. 

loadstring(game:HttpGet("https://raw.githubusercontent.com/synthhex1/AutoFarm/refs/heads/main/WT2.lua"))()

Wheat Tycoon 2 Script Pastebin

--// Player / character
local Players = game:GetService("Players")
local player = Players.LocalPlayer
local ReplicatedStorage = game:GetService("ReplicatedStorage")
local ByteNet = ReplicatedStorage:WaitForChild("ByteNetReliable")
local TweenService = game:GetService("TweenService")

local autoButtons = false
local purchased = {} -- кэш купленных кнопок

----------------------------------------------------------------
-- Modern UI
----------------------------------------------------------------
local ScreenGui = Instance.new("ScreenGui")
ScreenGui.Name = "ModernHelperUI"
ScreenGui.ResetOnSpawn = false
ScreenGui.ZIndexBehavior = Enum.ZIndexBehavior.Sibling
ScreenGui.Parent = player:WaitForChild("PlayerGui")

-- Main Frame
local MainFrame = Instance.new("Frame")
MainFrame.Name = "MainFrame"
MainFrame.Size = UDim2.fromOffset(340, 387)
MainFrame.Position = UDim2.new(0.5, -170, 0.5, -193.5)
MainFrame.BackgroundColor3 = Color3.fromRGB(20, 20, 25)
MainFrame.BorderSizePixel = 0
MainFrame.ClipsDescendants = true
MainFrame.Parent = ScreenGui

-- Corner rounding
local MainCorner = Instance.new("UICorner")
MainCorner.CornerRadius = UDim.new(0, 16)
MainCorner.Parent = MainFrame

-- Drop shadow effect
local Shadow = Instance.new("ImageLabel")
Shadow.Name = "Shadow"
Shadow.Size = UDim2.new(1, 40, 1, 40)
Shadow.Position = UDim2.fromOffset(-20, -20)
Shadow.BackgroundTransparency = 1
Shadow.Image = "rbxasset://textures/ui/GuiImagePlaceholder.png"
Shadow.ImageColor3 = Color3.fromRGB(0, 0, 0)
Shadow.ImageTransparency = 0.5
Shadow.ScaleType = Enum.ScaleType.Slice
Shadow.SliceCenter = Rect.new(10, 10, 118, 118)
Shadow.ZIndex = 0
Shadow.Parent = MainFrame

-- Accent gradient bar at top
local AccentBar = Instance.new("Frame")
AccentBar.Name = "AccentBar"
AccentBar.Size = UDim2.new(1, 0, 0, 4)
AccentBar.Position = UDim2.new(0, 0, 0, 0)
AccentBar.BorderSizePixel = 0
AccentBar.Parent = MainFrame

local BarGradient = Instance.new("UIGradient")
BarGradient.Color = ColorSequence.new{
	ColorSequenceKeypoint.new(0, Color3.fromRGB(138, 43, 226)),
	ColorSequenceKeypoint.new(0.5, Color3.fromRGB(75, 0, 130)),
	ColorSequenceKeypoint.new(1, Color3.fromRGB(138, 43, 226))
}
BarGradient.Parent = AccentBar

-- Header
local Header = Instance.new("Frame")
Header.Name = "Header"
Header.Size = UDim2.new(1, 0, 0, 60)
Header.Position = UDim2.new(0, 0, 0, 4)
Header.BackgroundTransparency = 1
Header.Parent = MainFrame

local Title = Instance.new("TextLabel")
Title.Name = "Title"
Title.Size = UDim2.new(1, -100, 0, 30)
Title.Position = UDim2.new(0, 20, 0, 10)
Title.BackgroundTransparency = 1
Title.Text = "Wheat Tycoon 2"
Title.TextColor3 = Color3.fromRGB(255, 255, 255)
Title.Font = Enum.Font.GothamBold
Title.TextSize = 18
Title.TextXAlignment = Enum.TextXAlignment.Left
Title.Parent = Header

local Subtitle = Instance.new("TextLabel")
Subtitle.Name = "Subtitle"
Subtitle.Size = UDim2.new(1, -100, 0, 18)
Subtitle.Position = UDim2.new(0, 20, 0, 38)
Subtitle.BackgroundTransparency = 1
Subtitle.Text = "Farm Helper v2.0"
Subtitle.TextColor3 = Color3.fromRGB(150, 150, 160)
Subtitle.Font = Enum.Font.Gotham
Subtitle.TextSize = 12
Subtitle.TextXAlignment = Enum.TextXAlignment.Left
Subtitle.Parent = Header

-- Minimize button
local MinimizeBtn = Instance.new("TextButton")
MinimizeBtn.Name = "MinimizeButton"
MinimizeBtn.Size = UDim2.fromOffset(36, 36)
MinimizeBtn.Position = UDim2.new(1, -88, 0, 14)
MinimizeBtn.BackgroundColor3 = Color3.fromRGB(35, 35, 40)
MinimizeBtn.Text = "─"
MinimizeBtn.TextColor3 = Color3.fromRGB(255, 255, 255)
MinimizeBtn.Font = Enum.Font.GothamBold
MinimizeBtn.TextSize = 16
MinimizeBtn.BorderSizePixel = 0
MinimizeBtn.Parent = Header

local MinimizeCorner = Instance.new("UICorner")
MinimizeCorner.CornerRadius = UDim.new(0, 8)
MinimizeCorner.Parent = MinimizeBtn

-- Close button
local CloseBtn = Instance.new("TextButton")
CloseBtn.Name = "CloseButton"
CloseBtn.Size = UDim2.fromOffset(36, 36)
CloseBtn.Position = UDim2.new(1, -46, 0, 14)
CloseBtn.BackgroundColor3 = Color3.fromRGB(220, 38, 38)
CloseBtn.Text = "×"
CloseBtn.TextColor3 = Color3.fromRGB(255, 255, 255)
CloseBtn.Font = Enum.Font.GothamBold
CloseBtn.TextSize = 24
CloseBtn.BorderSizePixel = 0
CloseBtn.Parent = Header

local CloseCorner = Instance.new("UICorner")
CloseCorner.CornerRadius = UDim.new(0, 8)
CloseCorner.Parent = CloseBtn

-- Hover effects for buttons
CloseBtn.MouseEnter:Connect(function()
	TweenService:Create(CloseBtn, TweenInfo.new(0.2), {BackgroundColor3 = Color3.fromRGB(239, 68, 68)}):Play()
end)

CloseBtn.MouseLeave:Connect(function()
	TweenService:Create(CloseBtn, TweenInfo.new(0.2), {BackgroundColor3 = Color3.fromRGB(220, 38, 38)}):Play()
end)

MinimizeBtn.MouseEnter:Connect(function()
	TweenService:Create(MinimizeBtn, TweenInfo.new(0.2), {BackgroundColor3 = Color3.fromRGB(45, 45, 50)}):Play()
end)

MinimizeBtn.MouseLeave:Connect(function()
	TweenService:Create(MinimizeBtn, TweenInfo.new(0.2), {BackgroundColor3 = Color3.fromRGB(35, 35, 40)}):Play()
end)

-- Scrollable content container
local Content = Instance.new("ScrollingFrame")
Content.Name = "Content"
Content.Size = UDim2.new(1, -40, 0, 309)
Content.Position = UDim2.new(0, 20, 0, 70)
Content.BackgroundTransparency = 1
Content.BorderSizePixel = 0
Content.ScrollBarThickness = 8
Content.ScrollBarImageColor3 = Color3.fromRGB(138, 43, 226)
Content.ScrollBarImageTransparency = 0.3
Content.CanvasSize = UDim2.new(0, 0, 0, 340) -- 4 кнопки × 65px + 3 отступа × 12px = 296px + запас
Content.ScrollingDirection = Enum.ScrollingDirection.Y
Content.ScrollingEnabled = true
Content.VerticalScrollBarInset = Enum.ScrollBarInset.ScrollBar
Content.ClipsDescendants = true
Content.Parent = MainFrame

-- Красивый скроллбар corner
local ScrollCorner = Instance.new("UICorner")
ScrollCorner.CornerRadius = UDim.new(1, 0)
ScrollCorner.Parent = Content

-- List layout for buttons
local ListLayout = Instance.new("UIListLayout")
ListLayout.Padding = UDim.new(0, 12)
ListLayout.SortOrder = Enum.SortOrder.LayoutOrder
ListLayout.Parent = Content

-- Padding внутри скролла
local ContentPadding = Instance.new("UIPadding")
ContentPadding.PaddingRight = UDim.new(0, 6) -- отступ от скроллбара
ContentPadding.Parent = Content

----------------------------------------------------------------
-- Modern Button Creator
----------------------------------------------------------------
local function createModernButton(text, layoutOrder, accentColor)
	local ButtonFrame = Instance.new("Frame")
	ButtonFrame.Name = text
	ButtonFrame.Size = UDim2.new(1, -6, 0, 65) -- -6 чтобы не налезало на скроллбар
	ButtonFrame.BackgroundColor3 = Color3.fromRGB(30, 30, 35)
	ButtonFrame.BorderSizePixel = 0
	ButtonFrame.LayoutOrder = layoutOrder
	ButtonFrame.Parent = Content
	
	local BtnCorner = Instance.new("UICorner")
	BtnCorner.CornerRadius = UDim.new(0, 12)
	BtnCorner.Parent = ButtonFrame
	
	-- Status indicator
	local StatusDot = Instance.new("Frame")
	StatusDot.Name = "StatusDot"
	StatusDot.Size = UDim2.fromOffset(10, 10)
	StatusDot.Position = UDim2.new(0, 15, 0.5, -5)
	StatusDot.BackgroundColor3 = Color3.fromRGB(100, 100, 110)
	StatusDot.BorderSizePixel = 0
	StatusDot.Parent = ButtonFrame
	
	local DotCorner = Instance.new("UICorner")
	DotCorner.CornerRadius = UDim.new(1, 0)
	DotCorner.Parent = StatusDot
	
	-- Button text
	local BtnLabel = Instance.new("TextLabel")
	BtnLabel.Name = "Label"
	BtnLabel.Size = UDim2.new(1, -90, 0, 22)
	BtnLabel.Position = UDim2.new(0, 35, 0, 12)
	BtnLabel.BackgroundTransparency = 1
	BtnLabel.Text = text
	BtnLabel.TextColor3 = Color3.fromRGB(255, 255, 255)
	BtnLabel.Font = Enum.Font.GothamBold
	BtnLabel.TextSize = 15
	BtnLabel.TextXAlignment = Enum.TextXAlignment.Left
	BtnLabel.Parent = ButtonFrame
	
	-- Status text
	local StatusLabel = Instance.new("TextLabel")
	StatusLabel.Name = "Status"
	StatusLabel.Size = UDim2.new(1, -90, 0, 16)
	StatusLabel.Position = UDim2.new(0, 35, 0, 38)
	StatusLabel.BackgroundTransparency = 1
	StatusLabel.Text = "Disabled"
	StatusLabel.TextColor3 = Color3.fromRGB(120, 120, 130)
	StatusLabel.Font = Enum.Font.Gotham
	StatusLabel.TextSize = 11
	StatusLabel.TextXAlignment = Enum.TextXAlignment.Left
	StatusLabel.Parent = ButtonFrame
	
	-- Toggle button
	local ToggleBtn = Instance.new("TextButton")
	ToggleBtn.Name = "ToggleButton"
	ToggleBtn.Size = UDim2.fromOffset(60, 32)
	ToggleBtn.Position = UDim2.new(1, -70, 0.5, -16)
	ToggleBtn.BackgroundColor3 = Color3.fromRGB(40, 40, 45)
	ToggleBtn.Text = ""
	ToggleBtn.BorderSizePixel = 0
	ToggleBtn.Parent = ButtonFrame
	
	local ToggleCorner = Instance.new("UICorner")
	ToggleCorner.CornerRadius = UDim.new(1, 0)
	ToggleCorner.Parent = ToggleBtn
	
	-- Toggle slider
	local Slider = Instance.new("Frame")
	Slider.Name = "Slider"
	Slider.Size = UDim2.fromOffset(26, 26)
	Slider.Position = UDim2.fromOffset(3, 3)
	Slider.BackgroundColor3 = Color3.fromRGB(255, 255, 255)
	Slider.BorderSizePixel = 0
	Slider.Parent = ToggleBtn
	
	local SliderCorner = Instance.new("UICorner")
	SliderCorner.CornerRadius = UDim.new(1, 0)
	SliderCorner.Parent = Slider
	
	-- Hover effect
	ToggleBtn.MouseEnter:Connect(function()
		TweenService:Create(ButtonFrame, TweenInfo.new(0.2), {BackgroundColor3 = Color3.fromRGB(35, 35, 40)}):Play()
	end)
	
	ToggleBtn.MouseLeave:Connect(function()
		TweenService:Create(ButtonFrame, TweenInfo.new(0.2), {BackgroundColor3 = Color3.fromRGB(30, 30, 35)}):Play()
	end)
	
	-- Return components
	return {
		Frame = ButtonFrame,
		Button = ToggleBtn,
		Dot = StatusDot,
		Status = StatusLabel,
		Slider = Slider,
		AccentColor = accentColor
	}
end

----------------------------------------------------------------
-- Button Animations
----------------------------------------------------------------
local function toggleButton(btnData, enabled)
	local tweenInfo = TweenInfo.new(0.3, Enum.EasingStyle.Quad, Enum.EasingDirection.Out)
	
	if enabled then
		TweenService:Create(btnData.Button, tweenInfo, {BackgroundColor3 = btnData.AccentColor}):Play()
		TweenService:Create(btnData.Slider, tweenInfo, {Position = UDim2.fromOffset(31, 3)}):Play()
		TweenService:Create(btnData.Dot, tweenInfo, {BackgroundColor3 = btnData.AccentColor}):Play()
		btnData.Status.Text = "Active"
		btnData.Status.TextColor3 = btnData.AccentColor
	else
		TweenService:Create(btnData.Button, tweenInfo, {BackgroundColor3 = Color3.fromRGB(40, 40, 45)}):Play()
		TweenService:Create(btnData.Slider, tweenInfo, {Position = UDim2.fromOffset(3, 3)}):Play()
		TweenService:Create(btnData.Dot, tweenInfo, {BackgroundColor3 = Color3.fromRGB(100, 100, 110)}):Play()
		btnData.Status.Text = "Disabled"
		btnData.Status.TextColor3 = Color3.fromRGB(120, 120, 130)
	end
end

----------------------------------------------------------------
-- Create Buttons
----------------------------------------------------------------
local AutoButtonsBtn = createModernButton("Auto Buttons", 1, Color3.fromRGB(46, 213, 115))
local UpgradeBtn = createModernButton("Auto Upgrade", 2, Color3.fromRGB(52, 152, 219))
local RebirthBtn = createModernButton("Auto Rebirth", 3, Color3.fromRGB(155, 89, 182))
local PrestigeBtn = createModernButton("Auto Prestige", 4, Color3.fromRGB(241, 196, 15))

----------------------------------------------------------------
-- Smart Auto Buttons Logic (v2 — optimized & safe)
----------------------------------------------------------------
local function hasTouchTx(part)
	for _, d in ipairs(part:GetDescendants()) do
		if d:IsA("TouchTransmitter") then
			return true
		end
	end
	return false
end

-- перевод "$3.96M" -> 3960000
local function parsePrice(text)
	if not text or text == "" then return math.huge end
	text = text:gsub("%$", ""):gsub(",", ""):gsub("%s+", "")
	local num, suffix = text:match("([%d%.]+)([KMB]?)")
	num = tonumber(num)
	if not num then return math.huge end
	if suffix == "K" then num *= 1e3
	elseif suffix == "M" then num *= 1e6
	elseif suffix == "B" then num *= 1e9 end
	return num
end

-- текущие деньги игрока
local function getMoney()
	local stats = player:FindFirstChild("leaderstats")
	if not stats then return 0 end
	local money = stats:FindFirstChild("Money")
	return money and money.Value or 0
end

----------------------------------------------------------------
-- Определяем участок игрока по ближайшей кнопке
----------------------------------------------------------------
local function getPlayerPlot()
	local player = game.Players.LocalPlayer
	local character = player.Character or player.CharacterAdded:Wait()
	local hrp = character:WaitForChild("HumanoidRootPart")
	local plotsFolder = workspace:FindFirstChild("Plots")
	if not plotsFolder then
		warn("Not found workspace.Plots")
		return nil
	end

	local nearestPlot, nearestDist = nil, math.huge

	for _, plot in ipairs(plotsFolder:GetChildren()) do
		local buyButtons = plot:FindFirstChild("BuyButtons")
		if buyButtons and #buyButtons:GetChildren() > 0 then
			local anyPart = buyButtons:FindFirstChildWhichIsA("BasePart", true)
			if anyPart then
				local dist = (hrp.Position - anyPart.Position).Magnitude
				if dist < nearestDist then
					nearestDist = dist
					nearestPlot = plot
				end
			end
		end
	end

	if nearestPlot then
		print("Successfully")
	else
		warn("Maybe bug unsuccessfully")
	end

	return nearestPlot
end

-- Собираем кнопки только со СВОЕГО участка (исправлено)
local function collectButtonParts()
	local out = {}
	local myPlot = getPlayerPlot()
	if not myPlot then return out end

	local buyButtons = myPlot:FindFirstChild("BuyButtons")
	if not buyButtons then return out end

	for _, obj in ipairs(buyButtons:GetDescendants()) do
		if obj:IsA("BasePart") and tonumber(obj.Name) and hasTouchTx(obj) then
			table.insert(out, obj)
		end
	end

	return out
end

-- получаем цену кнопки
local function getButtonPrice(part)
	local gui = part:FindFirstChildOfClass("BillboardGui")
	if not gui then return math.huge end
	for _, obj in pairs(gui:GetDescendants()) do
		if obj:IsA("TextLabel") or obj:IsA("TextBox") or obj:IsA("TextButton") then
			local price = parsePrice(obj.Text)
			if price ~= math.huge then
				return price
			end
		end
	end
	return math.huge
end

----------------------------------------------------------------
-- Получаем кнопки, которые можно купить за текущие деньги
----------------------------------------------------------------
local function getAffordableButtons(myPlot, currentMoney)
	local result = {}
	local buyButtons = myPlot:FindFirstChild("BuyButtons")
	if not buyButtons then return result end

	for _, part in ipairs(buyButtons:GetDescendants()) do
		if part:IsA("BasePart") and hasTouchTx(part) and not purchased[part] then
			local price = getButtonPrice(part)
			if price <= currentMoney then
				table.insert(result, {part = part, price = price})
			end
		end
	end

	-- сортируем кнопки по цене (чтобы покупать от дешёвых к дорогим)
	table.sort(result, function(a, b)
		return a.price < b.price
	end)

	return result
end

local ByteNetForButtons = game:GetService("ReplicatedStorage"):FindFirstChild("ByteNetReliable")
local AUTO_TELE_PAYLOAD = buffer and buffer.fromstring or function(s) return s end
AUTO_TELE_PAYLOAD = AUTO_TELE_PAYLOAD("\"\001")


local function autoButtonsLoop()
	autoButtons = not autoButtons
	toggleButton(AutoButtonsBtn, autoButtons)

	if not autoButtons then
		print("off")
		return
	end

	local myPlot = getPlayerPlot()
	if not myPlot then
		warn("plot not found")
		toggleButton(AutoButtonsBtn, false)
		autoButtons = false
		return
	end

	print("Циклический Auto Buttons активирован для:", myPlot.Name)

	task.spawn(function()
		local hrp = (player.Character or player.CharacterAdded:Wait()):WaitForChild("HumanoidRootPart")

		while autoButtons do
			local buyButtons = myPlot:FindFirstChild("BuyButtons")
			if not buyButtons then
				task.wait(1)
				continue
			end

			-- собираем все кнопки (даже если уже куплены — список обновится)
			local allButtons = {}
			for _, part in ipairs(buyButtons:GetDescendants()) do
				if part:IsA("BasePart") and hasTouchTx(part) then
					table.insert(allButtons, part)
				end
			end

			-- сортируем по имени (чтобы шёл последовательно)
			table.sort(allButtons, function(a, b)
				return tonumber(a.Name) and tonumber(b.Name) and tonumber(a.Name) < tonumber(b.Name)
			end)

			for _, part in ipairs(allButtons) do
				if not autoButtons then break end
				if not (part and part.Parent) then continue end

				local price = getButtonPrice(part)
				local money = getMoney()

				-- проверяем — хватает ли денег
				if price <= money then
					pcall(function()
						ByteNetForButtons:FireServer(AUTO_TELE_PAYLOAD, {part})
						firetouchinterest(hrp, part, 0)
						task.wait(0.015)
						firetouchinterest(hrp, part, 1)
					end)
					task.wait(0.05)
				end
			end

			-- делаем круг по всем кнопкам заново
			task.wait(0.5)
		end
	end)
end


----------------------------------------------------------------
-- Auto Upgrade Logic
----------------------------------------------------------------
local PAYLOAD = {
	FasterGrowth  = buffer.fromstring("\030\f\000FasterGrowth\005\000Wheat"),
	PriceIncrease = buffer.fromstring("\030\r\000PriceIncrease\005\000Wheat"),
	Rebirth       = buffer.fromstring("\025"),
	Prestige      = buffer.fromstring("\026")
}

local function fireMany(payload, times, delaySec)
	for i = 1, times do
		ByteNet:FireServer(payload)
		task.wait(delaySec or 0.05)
	end
end

local autoUpgradeEnabled = false
local function autoUpgradeLoop()
	autoUpgradeEnabled = not autoUpgradeEnabled
	toggleButton(UpgradeBtn, autoUpgradeEnabled)

	task.spawn(function()
		while autoUpgradeEnabled do
			fireMany(PAYLOAD.FasterGrowth, 15, 0.05)
			fireMany(PAYLOAD.PriceIncrease, 100, 0.05)
			for i = 1, 15 do
				if not autoUpgradeEnabled then break end
				task.wait(1)
			end
		end
	end)
end

UpgradeBtn.Button.MouseButton1Click:Connect(autoUpgradeLoop)

----------------------------------------------------------------
-- Auto Rebirth Logic
----------------------------------------------------------------
local autoRebirthEnabled = false
local function autoRebirthLoop()
	autoRebirthEnabled = not autoRebirthEnabled
	toggleButton(RebirthBtn, autoRebirthEnabled)

	task.spawn(function()
		while autoRebirthEnabled do
			ByteNet:FireServer(PAYLOAD.Rebirth)
			for i = 1, 5 do
				if not autoRebirthEnabled then break end
				task.wait(0.5)
			end
		end
	end)
end

RebirthBtn.Button.MouseButton1Click:Connect(autoRebirthLoop)

----------------------------------------------------------------
-- Auto Prestige Logic
----------------------------------------------------------------
local autoPrestigeEnabled = false
local function autoPrestigeLoop()
	autoPrestigeEnabled = not autoPrestigeEnabled
	toggleButton(PrestigeBtn, autoPrestigeEnabled)

	task.spawn(function()
		while autoPrestigeEnabled do
			ByteNet:FireServer(PAYLOAD.Prestige)
			for i = 1, 10 do
				if not autoPrestigeEnabled then break end
				task.wait(1)
			end
		end
	end)
end

PrestigeBtn.Button.MouseButton1Click:Connect(autoPrestigeLoop)

----------------------------------------------------------------
-- Draggable Frame
----------------------------------------------------------------
local dragging, dragInput, dragStart, startPos

local function update(input)
	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

Header.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
		
		input.Changed:Connect(function()
			if input.UserInputState == Enum.UserInputState.End then
				dragging = false
			end
		end)
	end
end)

Header.InputChanged:Connect(function(input)
	if input.UserInputType == Enum.UserInputType.MouseMovement or input.UserInputType == Enum.UserInputType.Touch then
		dragInput = input
	end
end)

game:GetService("UserInputService").InputChanged:Connect(function(input)
	if input == dragInput and dragging then
		update(input)
	end
end)

----------------------------------------------------------------
-- Minimize/Maximize Logic
----------------------------------------------------------------
local isMinimized = false
local normalSize = UDim2.fromOffset(340, 387)
local minimizedSize = UDim2.fromOffset(340, 64)

MinimizeBtn.MouseButton1Click:Connect(function()
	isMinimized = not isMinimized
	
	local targetSize = isMinimized and minimizedSize or normalSize
	local tweenInfo = TweenInfo.new(0.3, Enum.EasingStyle.Quad, Enum.EasingDirection.Out)
	
	TweenService:Create(MainFrame, tweenInfo, {Size = targetSize}):Play()
	TweenService:Create(Content, tweenInfo, {
		Size = isMinimized and UDim2.new(1, -40, 0, 0) or UDim2.new(1, -40, 0, 309)
	}):Play()
	
	MinimizeBtn.Text = isMinimized and "+" or "─"
end)

AutoButtonsBtn.Button.MouseButton1Click:Connect(autoButtonsLoop)
----------------------------------------------------------------
-- Close Button
----------------------------------------------------------------
CloseBtn.MouseButton1Click:Connect(function()
	TweenService:Create(MainFrame, TweenInfo.new(0.3, Enum.EasingStyle.Back, Enum.EasingDirection.In), {
		Size = UDim2.fromOffset(0, 0),
		Position = UDim2.new(0.5, 0, 0.5, 0)
	}):Play()
	task.wait(0.3)
	ScreenGui:Destroy()
end)

-- Entrance animation
MainFrame.Size = UDim2.fromOffset(0, 0)
MainFrame.Position = UDim2.new(0.5, 0, 0.5, 0)
TweenService:Create(MainFrame, TweenInfo.new(0.5, Enum.EasingStyle.Back, Enum.EasingDirection.Out), {
	Size = normalSize,
	Position = UDim2.new(0.5, -170, 0.5, -193.5)
}):Play()

How To Use the Wheat Tycoon 2 Script

Follow these simple steps on how to use the Wheat Tycoon 2 Script:

See also  +1 Speed Prison Escape Script

1. Choose an effective executor/exploit from the list below (Free & Paid)

2. Download the executor you prefer. We have our list here.

3. Launch the Roblox game first, then the executor

4. When both the Roblox game and executor are open, press Inject or Attach (it depends on what executor you are using)

5. Paste the script you want to use

6. Press the Execute or Play button (again, it depends on what executor you are using)

7. That’s all, enjoy using the Wheat Tycoon 2 script GUI

About The Wheat Tycoon 2 Script

The Roblox Wheat Tycoon 2 Script is a set of unique codes that allows the user to have auto-farm features to instantly accumulate huge amounts of cash resources through wheat farming. With its efficient algorithms and instinctive interface, it is very easy to use, even if you are a newbie to this game or an experienced player.

A truly impressive tool for success in every Roblox game you will be part of.

By using the best script of the game, you now have an advantage over other players in terms of high-quality wheat crops and harvesting speed to become the most successful farmer in town. This will also help you hatch as many pets as possible until you acquire the best one and gain additional cash multipliers in your daily grind.

Wheat Tycoon 2 Script

If you are looking for the latest Wheat Tycoon 2 Codes to maximize your cash and gem resources in the game, you can collect them here.

Always remember that all kinds of game scripts are illegal and may violate the Roblox Terms of Service, resulting in an account ban or other punishments. Be careful when using the script to avoid any game trouble while playing Roblox.

See also  Collect All Pets Script

So what are you waiting for? Download the appropriate script of the game to fly high in the world ranking as one of the most productive farm empires in the fruitful season of Wheat Tycoon 2 today.

Another Similar Game :

Wheat Farming Simulator ScriptWheat Farming Simulator Script Wheat Farming Simulator CodesWheat Farming Simulator Codes

Leave a Comment Cancel reply

Promo Codes

Get your hands on exclusive cosmetics, in-game currency, and special bonuses! Redeem our extensive list of Roblox promo codes and stay ahead of the game.

FREE ITEMS
PROMO CODES
STAR CODES

Game Codes

Unlock exclusive in-game perks, boost your stats, and get an edge in your favorite Roblox games with our collection of verified and non expired game codes.

VIEW ALL
GENRES
POPULAR CODES

Items Codes

Customize your Roblox avatar to the max! Browse our thousands of collection of item codes to unlock unique hats, accessories, gear, and many more.

VIEW ALL
CATEGORY
POPULAR ITEMS

Music Codes

Jam out to your favorite tunes in Roblox! Discover music codes for the latest hits and timeless classics to personalize your in-game experience.

VIEW ALL
STYLE
ARTIST

Best Games

Looking for the hottest Roblox games? Explore our curated recommendations, discover hidden gems, and find your next gaming obsession.

BEST GAMES
THEMES
POPULAR GAMES

Roblox Guides

Level up your Roblox knowledge! Access in-depth guides, powerful tools, and valuable resources to enhance your gameplay and creation skills.

VIEW ALL
GAMES WIKI
ERRORS

Tools

Tap into the Roblox community! Find player-created tools, expert guides, and collaborative resources to elevate your Roblox journey.

VIEW ALL
USERNAME GENERATOR
EXECUTOR

Roblox Scripts

Unlock hidden potential, customize your gameplay, and push the limits of your favorite Roblox game with our powerful script collection.

VIEW ALL
GENRE
POPULAR SCRIPTS
Roblox Database Logo

Roblox Database is your all-in-one source for anything and everything related to Roblox.

Whether you’re looking for the latest game codes, item codes, or promo codes or need some scripting guidance, we’ve got you covered.

Facebook-f Twitter Youtube Instagram Pinterest
Quick Links
  • About
  • Contact
  • Tools
  • Privacy Policy
  • Terms of Service
  • Copyright Policy
Menu
  • Home
  • Roblox Scripts
  • Game Codes
  • Roblox Codes
    • Promo Codes
    • Item Codes
    • Music Codes
    • Star Codes
    • Color Codes
  • Best Games
  • Roblox Guides
  • Roblox Tools
  • Home
  • Roblox Scripts
  • Game Codes
  • Roblox Codes
    • Promo Codes
    • Item Codes
    • Music Codes
    • Star Codes
    • Color Codes
  • Best Games
  • Roblox Guides
  • Roblox Tools
Download
chrome logo
  • Email: [email protected]
  • Android : Coming Soon
  • IOS : Coming Soon

© 2025 All Rights Reserved.