
Keyless
--[[
╔═══════════════════════════════════════════╗
║ Plant Evolution Hub - Premium ║
║ Made by: M4k3By41W1thPr0mpt ║
║ Version: 2.0.0 ║
╚═══════════════════════════════════════════╝
]]
-- Cleanup old UI
if game:GetService("CoreGui"):FindFirstChild("Rayfield") then
game:GetService("CoreGui").Rayfield:Destroy()
end
-- Load Rayfield
local Rayfield = loadstring(game:HttpGet('https://sirius.menu/rayfield'))()
-- Services
local ReplicatedStorage = game:GetService("ReplicatedStorage")
local Players = game:GetService("Players")
local LocalPlayer = Players.LocalPlayer
local TeleportService = game:GetService("TeleportService")
local VirtualInputManager = game:GetService("VirtualInputManager")
local RunService = game:GetService("RunService")
local UserInputService = game:GetService("UserInputService")
-- Variables
_G.AutoDelay = 0.5
_G.EggAmount = 20
-- Create Window
local Window = Rayfield:CreateWindow({
Name = "🌱 Plant Evolution Hub v2.0",
LoadingTitle = "Plant Evolution Hub",
LoadingSubtitle = "Made by M4k3By41W1thPr0mpt",
ConfigurationSaving = {
Enabled = true,
FolderName = "PlantEvolutionHub",
FileName = "M4k3Config"
},
Discord = {
Enabled = false,
Invite = "",
RememberJoins = true
},
KeySystem = false,
Theme = "Amethyst"
})
-- =====================
-- 🏠 MAIN TAB
-- =====================
local MainTab = Window:CreateTab("🏠 Main", 4483362458)
MainTab:CreateSection("👤 Player Info")
MainTab:CreateParagraph({
Title = "📊 Your Stats",
Content = "👤 Player: " .. LocalPlayer.Name .. "\n🆔 ID: " .. LocalPlayer.UserId .. "\n🎮 Game: Plant Evolution"
})
MainTab:CreateSection("🏆 Quick Actions")
MainTab:CreateButton({
Name = "♾️ INF WINS",
Callback = function()
pcall(function()
ReplicatedStorage.Remote.Event.Egg.OpenEgg:FireServer(unpack({20, -50}))
end)
Rayfield:Notify({
Title = "✅ INF WINS",
Content = "Successfully executed INF WINS!",
Duration = 3,
Image = 4483362458,
})
end,
})
MainTab:CreateButton({
Name = "🎰 Inf Spin",
Callback = function()
pcall(function()
ReplicatedStorage.Remote.Function.Activity.TryDoSpin:InvokeServer(unpack({-100}))
ReplicatedStorage.Remote.Function.Activity.TryDoSpin:InvokeServer(unpack({100}))
end)
Rayfield:Notify({
Title = "✅ Inf Spin",
Content = "Spin executed successfully!",
Duration = 3,
Image = 4483362458,
})
end,
})
MainTab:CreateButton({
Name = "🔥 Execute All (INF WINS + Spin)",
Callback = function()
pcall(function()
ReplicatedStorage.Remote.Event.Egg.OpenEgg:FireServer(unpack({20, -50}))
ReplicatedStorage.Remote.Function.Activity.TryDoSpin:InvokeServer(unpack({-100}))
ReplicatedStorage.Remote.Function.Activity.TryDoSpin:InvokeServer(unpack({100}))
end)
Rayfield:Notify({
Title = "✅ All Executed!",
Content = "INF WINS + Inf Spin executed!",
Duration = 3,
Image = 4483362458,
})
end,
})
-- =====================
-- 🥚 EGGS TAB
-- =====================
local EggsTab = Window:CreateTab("🥚 Eggs", 4483362458)
EggsTab:CreateSection("🛒 Egg Shop")
EggsTab:CreateButton({
Name = "🥚 Buy Best Eggs (20Aa)",
Callback = function()
pcall(function()
ReplicatedStorage.Remote.Event.Egg.OpenEgg:FireServer(unpack({20, 3}))
end)
Rayfield:Notify({
Title = "✅ Eggs Purchased!",
Content = "Successfully bought 20 Best Eggs!",
Duration = 3,
Image = 4483362458,
})
end,
})
EggsTab:CreateSection("🎚️ Custom Purchase")
EggsTab:CreateSlider({
Name = "🔢 Egg Amount",
Range = {1, 100},
Increment = 1,
Suffix = " Eggs",
CurrentValue = 20,
Flag = "EggAmount",
Callback = function(Value)
_G.EggAmount = Value
end,
})
EggsTab:CreateDropdown({
Name = "🥚 Egg Type",
Options = {"Best Egg (3)", "Premium Egg (2)", "Basic Egg (1)"},
CurrentOption = {"Best Egg (3)"},
MultipleOptions = false,
Flag = "EggType",
Callback = function(Options)
if Options[1] == "Best Egg (3)" then
_G.EggType = 3
elseif Options[1] == "Premium Egg (2)" then
_G.EggType = 2
else
_G.EggType = 1
end
end,
})
EggsTab:CreateButton({
Name = "🛍️ Buy Custom Amount Eggs",
Callback = function()
local amount = _G.EggAmount or 20
local eggType = _G.EggType or 3
pcall(function()
ReplicatedStorage.Remote.Event.Egg.OpenEgg:FireServer(unpack({amount, eggType}))
end)
Rayfield:Notify({
Title = "✅ Eggs Purchased!",
Content = "Successfully bought " .. amount .. " Eggs!",
Duration = 3,
Image = 4483362458,
})
end,
})
EggsTab:CreateSection("🔄 Auto Egg")
EggsTab:CreateToggle({
Name = "🥚 Auto Buy Best Eggs",
CurrentValue = false,
Flag = "AutoBuyEggs",
Callback = function(Value)
_G.AutoBuyEggs = Value
if Value then
Rayfield:Notify({
Title = "✅ Auto Buy Eggs",
Content = "Auto Buy Best Eggs enabled!",
Duration = 3,
Image = 4483362458,
})
spawn(function()
while _G.AutoBuyEggs do
pcall(function()
local amount = _G.EggAmount or 20
local eggType = _G.EggType or 3
ReplicatedStorage.Remote.Event.Egg.OpenEgg:FireServer(unpack({amount, eggType}))
end)
wait(_G.AutoDelay or 1)
end
end)
else
Rayfield:Notify({
Title = "❌ Auto Buy Eggs",
Content = "Auto Buy Best Eggs disabled!",
Duration = 3,
Image = 4483362458,
})
end
end,
})
-- =====================
-- 🐾 PETS TAB
-- =====================
local PetsTab = Window:CreateTab("🐾 Pets", 4483362458)
PetsTab:CreateSection("🎯 Pet Management")
PetsTab:CreateButton({
Name = "➕ +1 Pet Slot",
Callback = function()
pcall(function()
ReplicatedStorage.Remote.Event.Activity.ActivityBuy:FireServer(unpack({3}))
end)
Rayfield:Notify({
Title = "✅ Pet Slot Added!",
Content = "Successfully added +1 Pet Slot!",
Duration = 3,
Image = 4483362458,
})
end,
})
PetsTab:CreateButton({
Name = "⭐ Get OP Pets",
Callback = function()
pcall(function()
ReplicatedStorage.Remote.Event.Activity.ActivityBuy:FireServer(unpack({2}))
end)
Rayfield:Notify({
Title = "✅ OP Pets!",
Content = "Successfully obtained OP Pets!",
Duration = 3,
Image = 4483362458,
})
end,
})
PetsTab:CreateButton({
Name = "🔥 Get All (OP Pets + Slot)",
Callback = function()
pcall(function()
ReplicatedStorage.Remote.Event.Activity.ActivityBuy:FireServer(unpack({2}))
ReplicatedStorage.Remote.Event.Activity.ActivityBuy:FireServer(unpack({3}))
end)
Rayfield:Notify({
Title = "✅ All Obtained!",
Content = "OP Pets + Pet Slot obtained!",
Duration = 3,
Image = 4483362458,
})
end,
})
PetsTab:CreateSection("🔄 Auto Pet Features")
PetsTab:CreateToggle({
Name = "🔁 Auto Get OP Pets",
CurrentValue = false,
Flag = "AutoOPPets",
Callback = function(Value)
_G.AutoOPPets = Value
if Value then
Rayfield:Notify({
Title = "✅ Auto OP Pets",
Content = "Auto Get OP Pets enabled!",
Duration = 3,
Image = 4483362458,
})
spawn(function()
while _G.AutoOPPets do
pcall(function()
ReplicatedStorage.Remote.Event.Activity.ActivityBuy:FireServer(unpack({2}))
end)
wait(_G.AutoDelay or 1)
end
end)
else
Rayfield:Notify({
Title = "❌ Auto OP Pets",
Content = "Auto Get OP Pets disabled!",
Duration = 3,
Image = 4483362458,
})
end
end,
})
PetsTab:CreateToggle({
Name = "🔁 Auto +1 Pet Slot",
CurrentValue = false,
Flag = "AutoPetSlot",
Callback = function(Value)
_G.AutoPetSlot = Value
if Value then
Rayfield:Notify({
Title = "✅ Auto Pet Slot",
Content = "Auto +1 Pet Slot enabled!",
Duration = 3,
Image = 4483362458,
})
spawn(function()
while _G.AutoPetSlot do
pcall(function()
ReplicatedStorage.Remote.Event.Activity.ActivityBuy:FireServer(unpack({3}))
end)
wait(_G.AutoDelay or 1)
end
end)
else
Rayfield:Notify({
Title = "❌ Auto Pet Slot",
Content = "Auto +1 Pet Slot disabled!",
Duration = 3,
Image = 4483362458,
})
end
end,
})
-- =====================
-- ⚡ AUTO FARM TAB
-- =====================
local AutoTab = Window:CreateTab("⚡ Auto Farm", 4483362458)
AutoTab:CreateSection("🤖 Main Automation")
AutoTab:CreateToggle({
Name = "♾️ Auto INF WINS",
CurrentValue = false,
Flag = "AutoInfWins",
Callback = function(Value)
_G.AutoInfWins = Value
if Value then
Rayfield:Notify({
Title = "✅ Auto INF WINS",
Content = "Auto INF WINS enabled!",
Duration = 3,
Image = 4483362458,
})
spawn(function()
while _G.AutoInfWins do
pcall(function()
ReplicatedStorage.Remote.Event.Egg.OpenEgg:FireServer(unpack({20, -50}))
end)
wait(_G.AutoDelay or 0.5)
end
end)
else
Rayfield:Notify({
Title = "❌ Auto INF WINS",
Content = "Auto INF WINS disabled!",
Duration = 3,
Image = 4483362458,
})
end
end,
})
AutoTab:CreateToggle({
Name = "🎰 Auto Inf Spin",
CurrentValue = false,
Flag = "AutoInfSpin",
Callback = function(Value)
_G.AutoInfSpin = Value
if Value then
Rayfield:Notify({
Title = "✅ Auto Inf Spin",
Content = "Auto Inf Spin enabled!",
Duration = 3,
Image = 4483362458,
})
spawn(function()
while _G.AutoInfSpin do
pcall(function()
ReplicatedStorage.Remote.Function.Activity.TryDoSpin:InvokeServer(unpack({-100}))
ReplicatedStorage.Remote.Function.Activity.TryDoSpin:InvokeServer(unpack({100}))
end)
wait(_G.AutoDelay or 0.5)
end
end)
else
Rayfield:Notify({
Title = "❌ Auto Inf Spin",
Content = "Auto Inf Spin disabled!",
Duration = 3,
Image = 4483362458,
})
end
end,
})
AutoTab:CreateSection("🔥 Ultimate Auto")
AutoTab:CreateToggle({
Name = "⚡ Auto ALL (Everything)",
CurrentValue = false,
Flag = "AutoAll",
Callback = function(Value)
_G.AutoAll = Value
if Value then
Rayfield:Notify({
Title = "✅ Auto ALL",
Content = "All automation enabled!",
Duration = 3,
Image = 4483362458,
})
spawn(function()
while _G.AutoAll do
pcall(function()
-- INF WINS
ReplicatedStorage.Remote.Event.Egg.OpenEgg:FireServer(unpack({20, -50}))
-- Inf Spin
ReplicatedStorage.Remote.Function.Activity.TryDoSpin:InvokeServer(unpack({-100}))
ReplicatedStorage.Remote.Function.Activity.TryDoSpin:InvokeServer(unpack({100}))
-- OP Pets
ReplicatedStorage.Remote.Event.Activity.ActivityBuy:FireServer(unpack({2}))
-- Pet Slot
ReplicatedStorage.Remote.Event.Activity.ActivityBuy:FireServer(unpack({3}))
-- Buy Eggs
ReplicatedStorage.Remote.Event.Egg.OpenEgg:FireServer(unpack({20, 3}))
end)
wait(_G.AutoDelay or 0.5)
end
end)
else
Rayfield:Notify({
Title = "❌ Auto ALL",
Content = "All automation disabled!",
Duration = 3,
Image = 4483362458,
})
end
end,
})
AutoTab:CreateSection("⏱️ Speed Control")
AutoTab:CreateSlider({
Name = "🕐 Auto Delay",
Range = {0.1, 5},
Increment = 0.1,
Suffix = " seconds",
CurrentValue = 0.5,
Flag = "AutoDelay",
Callback = function(Value)
_G.AutoDelay = Value
end,
})
-- =====================
-- 🛠️ UTILITIES TAB
-- =====================
local UtilsTab = Window:CreateTab("🛠️ Utilities", 4483362458)
UtilsTab:CreateSection("🎮 Game Utils")
UtilsTab:CreateToggle({
Name = "🚫 Anti-AFK",
CurrentValue = false,
Flag = "AntiAFK",
Callback = function(Value)
_G.AntiAFK = Value
if Value then
Rayfield:Notify({
Title = "✅ Anti-AFK",
Content = "Anti-AFK enabled! You won't be kicked.",
Duration = 3,
Image = 4483362458,
})
spawn(function()
while _G.AntiAFK do
pcall(function()
VirtualInputManager:SendKeyEvent(true, Enum.KeyCode.W, false, game)
wait(0.1)
VirtualInputManager:SendKeyEvent(false, Enum.KeyCode.W, false, game)
end)
wait(60)
end
end)
else
Rayfield:Notify({
Title = "❌ Anti-AFK",
Content = "Anti-AFK disabled!",
Duration = 3,
Image = 4483362458,
})
end
end,
})
UtilsTab:CreateSection("🏃 Player Mods")
UtilsTab:CreateSlider({
Name = "🚀 Walk Speed",
Range = {16, 500},
Increment = 1,
Suffix = " Speed",
CurrentValue = 16,
Flag = "WalkSpeed",
Callback = function(Value)
pcall(function()
LocalPlayer.Character.Humanoid.WalkSpeed = Value
end)
end,
})
UtilsTab:CreateSlider({
Name = "🦘 Jump Power",
Range = {50, 500},
Increment = 1,
Suffix = " Power",
CurrentValue = 50,
Flag = "JumpPower",
Callback = function(Value)
pcall(function()
LocalPlayer.Character.Humanoid.JumpPower = Value
end)
end,
})
UtilsTab:CreateToggle({
Name = "🌙 Infinite Jump",
CurrentValue = false,
Flag = "InfJump",
Callback = function(Value)
_G.InfJump = Value
if Value then
Rayfield:Notify({
Title = "✅ Infinite Jump",
Content = "Infinite Jump enabled!",
Duration = 3,
Image = 4483362458,
})
else
Rayfield:Notify({
Title = "❌ Infinite Jump",
Content = "Infinite Jump disabled!",
Duration = 3,
Image = 4483362458,
})
end
end,
})
-- Infinite Jump Handler
UserInputService.JumpRequest:Connect(function()
if _G.InfJump then
pcall(function()
LocalPlayer.Character.Humanoid:ChangeState(Enum.HumanoidStateType.Jumping)
end)
end
end)
UtilsTab:CreateSection("🔧 Quick Actions")
UtilsTab:CreateButton({
Name = "🔄 Rejoin Server",
Callback = function()
Rayfield:Notify({
Title = "🔄 Rejoining...",
Content = "Rejoining server in 3 seconds...",
Duration = 3,
Image = 4483362458,
})
wait(3)
TeleportService:Teleport(game.PlaceId, LocalPlayer)
end,
})
UtilsTab:CreateButton({
Name = "🌐 Server Hop",
Callback = function()
Rayfield:Notify({
Title = "🌐 Server Hopping...",
Content = "Finding new server...",
Duration = 3,
Image = 4483362458,
})
wait(1)
pcall(function()
local servers = {}
local req = game:HttpGet("https://games.roblox.com/v1/games/" .. game.PlaceId .. "/servers/Public?sortOrder=Asc&limit=100")
local data = game:GetService("HttpService"):JSONDecode(req)
for _, server in pairs(data.data) do
if server.playing < server.maxPlayers and server.id ~= game.JobId then
table.insert(servers, server.id)
end
end
if #servers > 0 then
TeleportService:TeleportToPlaceInstance(game.PlaceId, servers[math.random(1, #servers)], LocalPlayer)
end
end)
end,
})
UtilsTab:CreateButton({
Name = "📋 Copy Game Link",
Callback = function()
setclipboard("https://www.roblox.com/games/" .. game.PlaceId)
Rayfield:Notify({
Title = "📋 Copied!",
Content = "Game link copied to clipboard!",
Duration = 3,
Image = 4483362458,
})
end,
})
UtilsTab:CreateButton({
Name = "💀 Reset Character",
Callback = function()
LocalPlayer.Character.Humanoid.Health = 0
Rayfield:Notify({
Title = "💀 Reset",
Content = "Character reset!",
Duration = 2,
Image = 4483362458,
})
end,
})
-- =====================
-- ⚙️ SETTINGS TAB
-- =====================
local SettingsTab = Window:CreateTab("⚙️ Settings", 4483362458)
SettingsTab:CreateSection("🎨 Interface Settings")
SettingsTab:CreateKeybind({
Name = "🔑 Toggle UI Keybind",
CurrentKeybind = "RightShift",
HoldToInteract = false,
Flag = "UIKeybind",
Callback = function(Keybind)
-- Handled by Rayfield
end,
})
SettingsTab:CreateDropdown({
Name = "🎨 UI Theme",
Options = {"Default", "Ocean", "AmberGlow", "Amethyst", "Bloom", "DarkBlue", "Green", "Light", "Serenity"},
CurrentOption = {"Amethyst"},
MultipleOptions = false,
Flag = "ThemeDropdown",
Callback = function(Options)
Rayfield:Notify({
Title = "🎨 Theme",
Content = "Theme: " .. Options[1] .. "\nWill apply on next load!",
Duration = 3,
Image = 4483362458,
})
end,
})
SettingsTab:CreateSection("🔔 Notifications")
SettingsTab:CreateToggle({
Name = "🔔 Enable Notifications",
CurrentValue = true,
Flag = "EnableNotifs",
Callback = function(Value)
_G.EnableNotifs = Value
end,
})
SettingsTab:CreateSection("ℹ️ Script Info")
SettingsTab:CreateParagraph({
Title = "👤 Credits",
Content = "🔧 Made by: M4k3By41W1thPr0mpt\n\n📌 Version: 2.0.0\n\n🎮 Game: Plant Evolution\n\n⚠️ Use at your own risk!\n\n🌟 Thank you for using!"
})
SettingsTab:CreateSection("⚠️ Danger Zone")
SettingsTab:CreateButton({
Name = "🛑 Stop All Loops",
Callback = function()
_G.AutoInfWins = false
_G.AutoInfSpin = false
_G.AutoBuyEggs = false
_G.AutoOPPets = false
_G.AutoPetSlot = false
_G.AutoAll = false
_G.AntiAFK = false
Rayfield:Notify({
Title = "🛑 Stopped",
Content = "All loops have been stopped!",
Duration = 3,
Image = 4483362458,
})
end,
})
SettingsTab:CreateButton({
Name = "🗑️ Destroy UI",
Callback = function()
-- Stop all loops first
_G.AutoInfWins = false
_G.AutoInfSpin = false
_G.AutoBuyEggs = false
_G.AutoOPPets = false
_G.AutoPetSlot = false
_G.AutoAll = false
_G.AntiAFK = false
_G.InfJump = false
Rayfield:Notify({
Title = "👋 Goodbye!",
Content = "Thanks for using!\nMade by M4k3By41W1thPr0mpt",
Duration = 2,
Image = 4483362458,
})
wait(2)
Rayfield:Destroy()
end,
})
-- =====================
-- 🎉 LOAD NOTIFICATION
-- =====================
Rayfield:Notify({
Title = "🌱 Plant Evolution Hub v2.0",
Content = "Script loaded successfully!\n\n👤 Made by: M4k3By41W1thPr0mpt\n⌨️ Press RightShift to toggle UI",
Duration = 6,
Image = 4483362458,
})
-- Console Message
print("╔═══════════════════════════════════════════╗")
print("║ 🌱 Plant Evolution Hub v2.0 Loaded ║")
print("║ Made by: M4k3By41W1thPr0mpt ║")
print("║ Press RightShift to toggle UI ║")
print("╚═══════════════════════════════════════════╝")
Good script keep it up.
@SipLean Thanks u bro
can you make a script like this but for brainrot evolution?
@Coux Wait me bro
@M4k3By41W1thPr0mpt (:
@Coux I can't do that?
W script
Could you add infinite sun, and extra pet storage?
@temachina69 You can edit my script bro