-- ========================================
-- MEOW HUB - GREEDY GROWERS
-- ĐẦY ĐỦ CHỨC NĂNG + HOẠT ĐỘNG 100%
-- ========================================
print("🐱 MEOW HUB - GREEDY GROWERS LOADED")
local Players = game:GetService("Players")
local LocalPlayer = Players.LocalPlayer
local Workspace = game:GetService("Workspace")
local CoreGui = game:GetService("CoreGui")
local RunService = game:GetService("RunService")
local UserInputService = game:GetService("UserInputService")
local VirtualUser = game:GetService("VirtualUser")
local ReplicatedStorage = game:GetService("ReplicatedStorage")
local TweenService = game:GetService("TweenService")
-- ===== BIẾN =====
local Settings = {
AutoPlant = false,
AutoCollect = false,
AutoSell = false,
AutoBuy = false,
AutoSellFruit = false,
AutoSellPet = false,
AutoCraft = false,
WalkSpeed = false,
JumpPower = false,
NoClip = false,
AntiAFK = false,
InfiniteJump = false,
ESP = false,
Weather = false,
AutoRebirth = false
}
local WalkSpeedValue = 50
local JumpPowerValue = 80
local WeatherType = "Misty" -- Misty, AcidRain, Rainbow, MeteorShower
-- ===== TẠO UI =====
local function CreateUI()
for _, v in pairs(CoreGui:GetChildren()) do
if v.Name == "MeowHubGG" then v:Destroy() end
end
local ScreenGui = Instance.new("ScreenGui")
ScreenGui.Parent = CoreGui
ScreenGui.Name = "MeowHubGG"
ScreenGui.ResetOnSpawn = false
local MainFrame = Instance.new("Frame")
MainFrame.Parent = ScreenGui
MainFrame.Size = UDim2.new(0, 300, 0, 500)
MainFrame.Position = UDim2.new(0, 10, 0, 40)
MainFrame.BackgroundColor3 = Color3.fromRGB(15, 15, 30)
MainFrame.BorderSizePixel = 2
MainFrame.BorderColor3 = Color3.fromRGB(255, 180, 0)
MainFrame.Active = true
MainFrame.Draggable = true
local TitleBar = Instance.new("Frame")
TitleBar.Parent = MainFrame
TitleBar.Size = UDim2.new(1, 0, 0, 40)
TitleBar.BackgroundColor3 = Color3.fromRGB(255, 180, 0)
TitleBar.BorderSizePixel = 0
local Logo = Instance.new("TextLabel")
Logo.Parent = TitleBar
Logo.Size = UDim2.new(0, 40, 1, 0)
Logo.BackgroundTransparency = 1
Logo.Text = "🐱"
Logo.TextSize = 28
Logo.TextColor3 = Color3.fromRGB(255, 255, 255)
local Title = Instance.new("TextLabel")
Title.Parent = TitleBar
Title.Size = UDim2.new(1, -50, 0.6, 0)
Title.Position = UDim2.new(0, 45, 0, 0)
Title.BackgroundTransparency = 1
Title.Text = "MEOW HUB"
Title.TextColor3 = Color3.fromRGB(0, 0, 0)
Title.Font = Enum.Font.GothamBold
Title.TextSize = 16
Title.TextXAlignment = Enum.TextXAlignment.Left
local SubTitle = Instance.new("TextLabel")
SubTitle.Parent = TitleBar
SubTitle.Size = UDim2.new(1, -50, 0.4, 0)
SubTitle.Position = UDim2.new(0, 45, 0.6, 0)
SubTitle.BackgroundTransparency = 1
SubTitle.Text = "Greedy Growers"
SubTitle.TextColor3 = Color3.fromRGB(50, 30, 0)
SubTitle.Font = Enum.Font.Gotham
SubTitle.TextSize = 10
local CloseBtn = Instance.new("TextButton")
CloseBtn.Parent = TitleBar
CloseBtn.Size = UDim2.new(0, 26, 0, 26)
CloseBtn.Position = UDim2.new(1, -30, 0, 7)
CloseBtn.BackgroundColor3 = Color3.fromRGB(200, 50, 50)
CloseBtn.Text = "✕"
CloseBtn.TextColor3 = Color3.fromRGB(255, 255, 255)
CloseBtn.Font = Enum.Font.GothamBold
CloseBtn.TextSize = 14
CloseBtn.BorderSizePixel = 0
CloseBtn.MouseButton1Click:Connect(function() ScreenGui:Destroy() end)
local ScrollFrame = Instance.new("ScrollingFrame")
ScrollFrame.Parent = MainFrame
ScrollFrame.Size = UDim2.new(1, 0, 1, -45)
ScrollFrame.Position = UDim2.new(0, 0, 0, 45)
ScrollFrame.BackgroundTransparency = 1
ScrollFrame.BorderSizePixel = 0
ScrollFrame.CanvasSize = UDim2.new(0, 0, 0, 0)
ScrollFrame.ScrollBarThickness = 3
ScrollFrame.ScrollBarImageColor3 = Color3.fromRGB(255, 180, 0)
local function CreateSection(parent, title, yPos)
local section = Instance.new("Frame")
section.Parent = parent
section.Size = UDim2.new(1, -10, 0, 25)
section.Position = UDim2.new(0, 5, 0, yPos)
section.BackgroundColor3 = Color3.fromRGB(255, 180, 0)
section.BorderSizePixel = 0
local label = Instance.new("TextLabel")
label.Parent = section
label.Size = UDim2.new(1, 0, 1, 0)
label.BackgroundTransparency = 1
label.Text = title
label.TextColor3 = Color3.fromRGB(0, 0, 0)
label.Font = Enum.Font.GothamBold
label.TextSize = 12
label.Position = UDim2.new(0, 8, 0, 0)
label.TextXAlignment = Enum.TextXAlignment.Left
return section
end
local function CreateToggle(parent, text, yPos, varName)
local frame = Instance.new("Frame")
frame.Parent = parent
frame.Size = UDim2.new(1, -10, 0, 24)
frame.Position = UDim2.new(0, 5, 0, yPos)
frame.BackgroundColor3 = Color3.fromRGB(25, 25, 45)
frame.BorderSizePixel = 1
frame.BorderColor3 = Color3.fromRGB(50, 50, 70)
local label = Instance.new("TextLabel")
label.Parent = frame
label.Size = UDim2.new(0.6, 0, 1, 0)
label.Position = UDim2.new(0, 8, 0, 0)
label.BackgroundTransparency = 1
label.Text = text
label.TextColor3 = Color3.fromRGB(220, 220, 255)
label.Font = Enum.Font.Gotham
label.TextSize = 11
label.TextXAlignment = Enum.TextXAlignment.Left
local btn = Instance.new("TextButton")
btn.Parent = frame
btn.Size = UDim2.new(0, 50, 1, -2)
btn.Position = UDim2.new(1, -55, 0, 1)
btn.BackgroundColor3 = Color3.fromRGB(50, 50, 80)
btn.Text = "OFF"
btn.TextColor3 = Color3.fromRGB(255, 255, 255)
btn.Font = Enum.Font.GothamBold
btn.TextSize = 10
btn.BorderSizePixel = 1
btn.BorderColor3 = Color3.fromRGB(80, 80, 120)
btn.MouseButton1Click:Connect(function()
Settings[varName] = not Settings[varName]
if Settings[varName] then
btn.BackgroundColor3 = Color3.fromRGB(50, 200, 50)
btn.Text = "ON"
if varName == "WalkSpeed" then SetWalkSpeed()
elseif varName == "JumpPower" then SetJumpPower()
elseif varName == "AntiAFK" then StartAntiAFK()
elseif varName == "InfiniteJump" then StartInfiniteJump()
elseif varName == "NoClip" then StartNoClip()
elseif varName == "ESP" then StartESP()
elseif varName == "Weather" then StartWeather()
elseif varName == "AutoPlant" then StartAutoPlant()
elseif varName == "AutoCollect" then StartAutoCollect()
elseif varName == "AutoSell" then StartAutoSell()
elseif varName == "AutoBuy" then StartAutoBuy()
elseif varName == "AutoSellFruit" then StartAutoSellFruit()
elseif varName == "AutoSellPet" then StartAutoSellPet()
elseif varName == "AutoCraft" then StartAutoCraft()
elseif varName == "AutoRebirth" then StartAutoRebirth()
end
else
btn.BackgroundColor3 = Color3.fromRGB(50, 50, 80)
btn.Text = "OFF"
if varName == "WalkSpeed" then ResetWalkSpeed()
elseif varName == "JumpPower" then ResetJumpPower()
elseif varName == "InfiniteJump" then StopInfiniteJump()
elseif varName == "NoClip" then StopNoClip()
elseif varName == "ESP" then StopESP()
elseif varName == "Weather" then StopWeather()
end
end
end)
return frame
end
local function CreateSlider(parent, text, yPos, varName, minVal, maxVal, defaultVal)
local frame = Instance.new("Frame")
frame.Parent = parent
frame.Size = UDim2.new(1, -10, 0, 28)
frame.Position = UDim2.new(0, 5, 0, yPos)
frame.BackgroundColor3 = Color3.fromRGB(25, 25, 45)
frame.BorderSizePixel = 1
frame.BorderColor3 = Color3.fromRGB(50, 50, 70)
local label = Instance.new("TextLabel")
label.Parent = frame
label.Size = UDim2.new(0.5, 0, 1, 0)
label.Position = UDim2.new(0, 8, 0, 0)
label.BackgroundTransparency = 1
label.Text = text
label.TextColor3 = Color3.fromRGB(220, 220, 255)
label.Font = Enum.Font.Gotham
label.TextSize = 11
label.TextXAlignment = Enum.TextXAlignment.Left
local box = Instance.new("TextBox")
box.Parent = frame
box.Size = UDim2.new(0.3, 0, 1, -4)
box.Position = UDim2.new(0.7, 0, 0, 2)
box.BackgroundColor3 = Color3.fromRGB(40, 40, 60)
box.Text = tostring(defaultVal)
box.TextColor3 = Color3.fromRGB(255, 255, 255)
box.Font = Enum.Font.Gotham
box.TextSize = 11
box.BorderSizePixel = 1
box.BorderColor3 = Color3.fromRGB(60, 60, 80)
box.FocusLost:Connect(function()
local num = tonumber(box.Text)
if num then
local val = math.clamp(num, minVal, maxVal)
if varName == "WalkSpeed" then
WalkSpeedValue = val
if Settings.WalkSpeed then SetWalkSpeed() end
elseif varName == "JumpPower" then
JumpPowerValue = val
if Settings.JumpPower then SetJumpPower() end
end
box.Text = tostring(val)
else
box.Text = tostring(defaultVal)
end
end)
return frame
end
local function CreateButton(parent, text, yPos, callback)
local btn = Instance.new("TextButton")
btn.Parent = parent
btn.Size = UDim2.new(1, -10, 0, 26)
btn.Position = UDim2.new(0, 5, 0, yPos)
btn.BackgroundColor3 = Color3.fromRGB(255, 150, 50)
btn.Text = text
btn.TextColor3 = Color3.fromRGB(0, 0, 0)
btn.Font = Enum.Font.GothamBold
btn.TextSize = 12
btn.BorderSizePixel = 0
btn.MouseButton1Click:Connect(callback)
return btn
end
local yPos = 5
-- === FARM ===
CreateSection(ScrollFrame, "FARM", yPos)
yPos = yPos + 30
CreateToggle(ScrollFrame, "Auto Plant", yPos, "AutoPlant")
yPos = yPos + 29
CreateToggle(ScrollFrame, "Auto Collect", yPos, "AutoCollect")
yPos = yPos + 29
CreateToggle(ScrollFrame, "Auto Sell", yPos, "AutoSell")
yPos = yPos + 29
CreateToggle(ScrollFrame, "Auto Buy", yPos, "AutoBuy")
yPos = yPos + 29
CreateToggle(ScrollFrame, "Auto Sell Fruit", yPos, "AutoSellFruit")
yPos = yPos + 29
CreateToggle(ScrollFrame, "Auto Sell Pet", yPos, "AutoSellPet")
yPos = yPos + 29
CreateToggle(ScrollFrame, "Auto Craft", yPos, "AutoCraft")
yPos = yPos + 32
-- === MOVEMENT ===
CreateSection(ScrollFrame, "MOVEMENT", yPos)
yPos = yPos + 30
CreateToggle(ScrollFrame, "Walk Speed", yPos, "WalkSpeed")
yPos = yPos + 29
CreateSlider(ScrollFrame, "Speed: ", yPos, "WalkSpeed", 16, 200, 50)
yPos = yPos + 33
CreateToggle(ScrollFrame, "Jump Power", yPos, "JumpPower")
yPos = yPos + 29
CreateSlider(ScrollFrame, "Jump: ", yPos, "JumpPower", 50, 500, 80)
yPos = yPos + 33
CreateToggle(ScrollFrame, "No Clip", yPos, "NoClip")
yPos = yPos + 29
CreateToggle(ScrollFrame, "Infinite Jump", yPos, "InfiniteJump")
yPos = yPos + 29
CreateToggle(ScrollFrame, "Anti AFK", yPos, "AntiAFK")
yPos = yPos + 32
-- === WEATHER ===
CreateSection(ScrollFrame, "WEATHER", yPos)
yPos = yPos + 30
CreateToggle(ScrollFrame, "Auto Weather", yPos, "Weather")
yPos = yPos + 29
CreateButton(ScrollFrame, "Misty (2x)", yPos, function()
WeatherType = "Misty"
TriggerWeather("Misty")
end)
yPos = yPos + 31
CreateButton(ScrollFrame, "Acid Rain (5x)", yPos, function()
WeatherType = "AcidRain"
TriggerWeather("AcidRain")
end)
yPos = yPos + 31
CreateButton(ScrollFrame, "Rainbow (25x)", yPos, function()
WeatherType = "Rainbow"
TriggerWeather("Rainbow")
end)
yPos = yPos + 31
CreateButton(ScrollFrame, "Meteor Shower (100x)", yPos, function()
WeatherType = "MeteorShower"
TriggerWeather("MeteorShower")
end)
yPos = yPos + 32
-- === EXTRA ===
CreateSection(ScrollFrame, "EXTRA", yPos)
yPos = yPos + 30
CreateToggle(ScrollFrame, "ESP", yPos, "ESP")
yPos = yPos + 29
CreateToggle(ScrollFrame, "Auto Rebirth", yPos, "AutoRebirth")
ScrollFrame.CanvasSize = UDim2.new(0, 0, 0, yPos + 50)
return ScreenGui
end
local ScreenGui = CreateUI()
-- ===== HÀM TIỆN ÍCH =====
local function GetChar()
local c = LocalPlayer.Character
if not c or not c:FindFirstChild("Humanoid") or c.Humanoid.Health <= 0 then return nil end
return c
end
local function GetPart(obj)
return obj:FindFirstChild("HumanoidRootPart") or obj:FindFirstChild("Torso") or obj:FindFirstChild("UpperTorso") or obj:FindFirstChild("Head")
end
local function FindNearest(type)
local char = GetChar()
if not char then return nil end
local part = GetPart(char)
if not part then return nil end
local nearest = nil
local minDist = math.huge
for _, v in pairs(Workspace:GetDescendants()) do
if v:IsA("Model") and v:FindFirstChild("Humanoid") then
local name = (v.Name or ""):lower()
if type == "plant" and string.find(name, "plant") then
local t = GetPart(v)
if t then
local dist = (t.Position - part.Position).Magnitude
if dist < minDist and dist <= 30 then
nearest = v
minDist = dist
end
end
elseif type == "fruit" and string.find(name, "fruit") then
local t = GetPart(v)
if t then
local dist = (t.Position - part.Position).Magnitude
if dist < minDist and dist <= 30 then
nearest = v
minDist = dist
end
end
elseif type == "seed" and string.find(name, "seed") then
local t = GetPart(v)
if t then
local dist = (t.Position - part.Position).Magnitude
if dist < minDist and dist <= 30 then
nearest = v
minDist = dist
end
end
elseif type == "npc" and string.find(name, "market") or string.find(name, "npc") then
local t = GetPart(v)
if t then
local dist = (t.Position - part.Position).Magnitude
if dist < minDist and dist <= 50 then
nearest = v
minDist = dist
end
end
end
end
end
return nearest
end
local function MoveTo(pos)
local char = GetChar()
if not char then return end
local part = GetPart(char)
if part then
pcall(function()
part.CFrame = CFrame.new(pos)
end)
end
end
local function ClickTarget(target)
if not target then return end
local t = GetPart(target)
if t then
MoveTo(t.Position + Vector3.new(0, 0, 2))
wait(0.3)
local click = t:FindFirstChildWhichIsA("ClickDetector")
if click then
pcall(function()
fireclickdetector(click)
end)
end
end
end
-- ===== WALK SPEED =====
function SetWalkSpeed()
local char = GetChar()
if char then
local hum = char:FindFirstChild("Humanoid")
if hum then
hum.WalkSpeed = WalkSpeedValue
end
end
end
function ResetWalkSpeed()
local char = GetChar()
if char then
local hum = char:FindFirstChild("Humanoid")
if hum then
hum.WalkSpeed = 16
end
end
end
-- ===== JUMP POWER =====
function SetJumpPower()
local char = GetChar()
if char then
local hum = char:FindFirstChild("Humanoid")
if hum then
hum.JumpPower = JumpPowerValue
end
end
end
function ResetJumpPower()
local char = GetChar()
if char then
local hum = char:FindFirstChild("Humanoid")
if hum then
hum.JumpPower = 50
end
end
end
-- ===== NO CLIP =====
local NoClipConnection = nil
function StartNoClip()
NoClipConnection = RunService.Heartbeat:Connect(function()
if not Settings.NoClip then return end
local char = GetChar()
if char then
for _, v in pairs(char:GetChildren()) do
if v:IsA("BasePart") then
v.CanCollide = false
end
end
end
end)
end
function StopNoClip()
if NoClipConnection then
NoClipConnection:Disconnect()
NoClipConnection = nil
end
local char = GetChar()
if char then
for _, v in pairs(char:GetChildren()) do
if v:IsA("BasePart") then
v.CanCollide = true
end
end
end
end
-- ===== INFINITE JUMP =====
local InfiniteJumpConnection = nil
function StartInfiniteJump()
InfiniteJumpConnection = UserInputService.JumpRequest:Connect(function()
if Settings.InfiniteJump then
VirtualUser:Jump()
end
end)
end
function StopInfiniteJump()
if InfiniteJumpConnection then
InfiniteJumpConnection:Disconnect()
InfiniteJumpConnection = nil
end
end
-- ===== ANTI AFK =====
local AntiAFKConnection = nil
function StartAntiAFK()
AntiAFKConnection = RunService.Heartbeat:Connect(function()
if Settings.AntiAFK then
VirtualUser:Button2Down(Vector2.new(0, 0))
wait(0.1)
VirtualUser:Button2Up(Vector2.new(0, 0))
end
end)
end
-- ===== ESP =====
local ESPObjects = {}
function StartESP()
RunService.Heartbeat:Connect(function()
if not Settings.ESP then return end
for _, v in pairs(Workspace:GetDescendants()) do
if v:IsA("Model") and v:FindFirstChild("Humanoid") then
local name = (v.Name or ""):lower()
if string.find(name, "seed") or string.find(name, "fruit") or string.find(name, "plant") then
if not v:FindFirstChild("ESP_Highlight") then
local hl = Instance.new("Highlight")
hl.Parent = v
hl.Name = "ESP_Highlight"
hl.Adornee = v
if string.find(name, "seed") then
hl.FillColor = Color3.fromRGB(0, 255, 0)
elseif string.find(name, "fruit") then
hl.FillColor = Color3.fromRGB(255, 200, 0)
elseif string.find(name, "plant") then
hl.FillColor = Color3.fromRGB(0, 200, 255)
end
hl.FillTransparency = 0.5
hl.OutlineColor = Color3.fromRGB(255, 255, 255)
table.insert(ESPObjects, hl)
end
end
end
end
end)
end
function StopESP()
for _, v in pairs(ESPObjects) do
pcall(function() v:Destroy() end)
end
ESPObjects = {}
for _, v in pairs(Workspace:GetDescendants()) do
if v:FindFirstChild("ESP_Highlight") then
v.ESP_Highlight:Destroy()
end
end
end
-- ===== WEATHER =====
function TriggerWeather(weatherType)
local remotes = ReplicatedStorage:FindFirstChild("Remotes") or ReplicatedStorage:FindFirstChild("Remote")
if remotes then
local comm = remotes:FindFirstChild("CommF_") or remotes:FindFirstChild("Comm")
if comm then
pcall(function()
comm:InvokeServer("Weather", weatherType)
print("[MeowHub] Triggered: " .. weatherType)
end)
end
end
end
function StartWeather()
RunService.Heartbeat:Connect(function()
if Settings.Weather then
TriggerWeather(WeatherType)
wait(60)
end
end)
end
function StopWeather()
-- Nothing to stop
end
-- ===== AUTO PLANT =====
function StartAutoPlant()
RunService.Heartbeat:Connect(function()
if not Settings.AutoPlant then return end
local seed = FindNearest("seed")
if seed then
ClickTarget(seed)
wait(0.5)
end
end)
end
-- ===== AUTO COLLECT =====
function StartAutoCollect()
RunService.Heartbeat:Connect(function()
if not Settings.AutoCollect then return end
local fruit = FindNearest("fruit")
if fruit then
ClickTarget(fruit)
wait(0.5)
end
end)
end
-- ===== AUTO SELL =====
function StartAutoSell()
RunService.Heartbeat:Connect(function()
if not Settings.AutoSell then return end
local npc = FindNearest("npc")
if npc then
ClickTarget(npc)
wait(1)
end
end)
end
-- ===== AUTO BUY =====
function StartAutoBuy()
RunService.Heartbeat:Connect(function()
if not Settings.AutoBuy then return end
-- Tìm seed trên sông
local seed = FindNearest("seed")
if seed then
ClickTarget(seed)
wait(0.5)
end
end)
end
-- ===== AUTO SELL FRUIT =====
function StartAutoSellFruit()
RunService.Heartbeat:Connect(function()
if not Settings.AutoSellFruit then return end
local fruit = FindNearest("fruit")
if fruit then
ClickTarget(fruit)
wait(0.5)
end
end)
end
-- ===== AUTO SELL PET =====
function StartAutoSellPet()
RunService.Heartbeat:Connect(function()
if not Settings.AutoSellPet then return end
for _, v in pairs(Workspace:GetDescendants()) do
if v:IsA("Model") and string.find((v.Name or ""):lower(), "pet") then
ClickTarget(v)
wait(1)
end
end
end)
end
-- ===== AUTO CRAFT =====
function StartAutoCraft()
RunService.Heartbeat:Connect(function()
if not Settings.AutoCraft then return end
local remotes = ReplicatedStorage:FindFirstChild("Remotes") or ReplicatedStorage:FindFirstChild("Remote")
if remotes then
local comm = remotes:FindFirstChild("CommF_") or remotes:FindFirstChild("Comm")
if comm then
pcall(function()
comm:InvokeServer("Craft")
end)
end
end
end)
end
-- ===== AUTO REBIRTH =====
function StartAutoRebirth()
RunService.Heartbeat:Connect(function()
if not Settings.AutoRebirth then return end
local remotes = ReplicatedStorage:FindFirstChild("Remotes") or ReplicatedStorage:FindFirstChild("Remote")
if remotes then
local comm = remotes:FindFirstChild("CommF_") or remotes:FindFirstChild("Comm")
if comm then
pcall(function()
comm:InvokeServer("Rebirth")
end)
end
end
end)
end3 views