Run it
Copy the script and paste it into your executor.
PLANTS_VS_BRAINROT_ID =
.PlaceId ~= PLANTS_VS_BRAINROT_ID
:():(, {
Title = ;
Text = ;
Duration = ;
})
WindUI = (:())()
Players = :()
Workspace = :()
ReplicatedStorage = :()
UserInputService = :()
TeleportService = :()
NetworkClient = :()
localPlayer = Players.LocalPlayer
SCRIPT_VERSION =
CONFIG_FILE =
SETTINGS_FILE =
defaultConfig = {
selectedSeeds = {},
selectedGears = {},
equipInterval = ,
theme = ,
autoBuySeedsEnabled = ,
autoBuyGearsEnabled = ,
autoEquipEnabled = ,
autoBuyAllSeedsEnabled = ,
autoBuyAllGearsEnabled = ,
antiAFKEnabled = ,
autoReconnectEnabled =
}
defaultSettings = {
autoLoadConfig = ,
autoLoadEnabled =
}
currentConfig = {}
currentSettings = {}
autoBuySeedsEnabled =
autoBuyGearsEnabled =
autoEquipEnabled =
autoBuyAllSeedsEnabled =
autoBuyAllGearsEnabled =
antiAFKEnabled =
autoReconnectEnabled =
selectedSeeds = {}
selectedGears = {}
equipInterval =
Window =
ITEMS_PER_ROUND =
PURCHASE_DELAY =
CYCLE_INTERVAL =
currentItemIndex =
purchaseCount =
isAlternatingSeed =
BuyItemRemote = ReplicatedStorage:():()
BuyGearRemote = ReplicatedStorage:():()
OpenUIRemote = ReplicatedStorage:():()
EquipBestRemote = ReplicatedStorage:():()
ItemSellRemote = ReplicatedStorage:():()
seedShopUI = localPlayer.PlayerGui.Main.Seeds
gearShopUI = localPlayer.PlayerGui.Main.Gears
availableSeeds = {
, , , ,
, , , ,
, , ,
, ,
}
availableGears = {
, , , ,
}
autoBuyToggleSeeds =
autoBuyToggleGears =
autoEquipToggle =
autoBuyAllSeedsToggle =
autoBuyAllGearsToggle =
equipIntervalInput =
seedDropdown =
gearDropdown =
themeDropdown =
autoLoadDropdown =
autoLoadToggle =
ConfigNameInput =
antiAFKToggle =
autoReconnectToggle =
canChangeTheme =
canChangeDropdown =
reconnectAttempts =
MAX_RECONNECT_ATTEMPTS =
RECONNECT_INTERVAL =
lastDisconnectTime =
lastPingTime = ()
consecutiveTimeouts =
()
()
(()
RobloxPromptGui = :():()
RobloxPromptGui
promptOverlay = RobloxPromptGui:()
promptOverlay
promptOverlay.ChildAdded:((child)
child.Name == autoReconnectEnabled
.()
errorMessage = child:()
errorMessage
messageText = errorMessage:()
messageText
text = messageText.Text:()
.(text, )
.(text, )
.(text, )
.(text, )
.(text, )
.(text, )
.(text, )
.(text, )
.(text, )
.(text, )
reconnectAttempts = reconnectAttempts +
reconnectAttempts <= MAX_RECONNECT_ATTEMPTS
timeRemaining = (MAX_RECONNECT_ATTEMPTS - reconnectAttempts) * RECONNECT_INTERVAL
(.(,
reconnectAttempts, MAX_RECONNECT_ATTEMPTS, timeRemaining))
.(RECONNECT_INTERVAL)
success = (()
TeleportService:(.PlaceId, .JobId, localPlayer)
)
success
(()
TeleportService:(.PlaceId, localPlayer)
)
()
WindUI:({
Title = ,
Content = .(, MAX_RECONNECT_ATTEMPTS),
Duration =
})
)
)
(()
NetworkClient.ChildRemoved:(()
autoReconnectEnabled
currentTime = ()
currentTime - lastDisconnectTime >
lastDisconnectTime = currentTime
reconnectAttempts = reconnectAttempts +
reconnectAttempts <= MAX_RECONNECT_ATTEMPTS
timeRemaining = (MAX_RECONNECT_ATTEMPTS - reconnectAttempts) * RECONNECT_INTERVAL
(.(,
reconnectAttempts, MAX_RECONNECT_ATTEMPTS, timeRemaining))
.(RECONNECT_INTERVAL)
(()
TeleportService:(.PlaceId, localPlayer)
)
)
)
.(()
.()
autoReconnectEnabled
pingStart = ()
pingSuccess = (()
test = :():()
test ~=
)
pingTime = () - pingStart
pingSuccess pingTime >
consecutiveTimeouts = consecutiveTimeouts +
(.(, consecutiveTimeouts))
consecutiveTimeouts >=
()
reconnectAttempts = reconnectAttempts +
reconnectAttempts <= MAX_RECONNECT_ATTEMPTS
timeRemaining = (MAX_RECONNECT_ATTEMPTS - reconnectAttempts) * RECONNECT_INTERVAL
(.(,
reconnectAttempts, MAX_RECONNECT_ATTEMPTS, timeRemaining))
.(RECONNECT_INTERVAL)
(()
TeleportService:(.PlaceId, localPlayer)
)
consecutiveTimeouts =
consecutiveTimeouts =
lastPingTime = ()
)
(()
:():():(()
:().FinishedReplicating autoReconnectEnabled
()
reconnectAttempts = reconnectAttempts +
reconnectAttempts <= MAX_RECONNECT_ATTEMPTS
.(RECONNECT_INTERVAL)
(()
TeleportService:(.PlaceId, localPlayer)
)
)
)
(()
GuiService = :()
GuiService.ErrorMessageChanged:(()
autoReconnectEnabled
errorMessage = GuiService:()
errorMessage errorMessage ~=
(, errorMessage)
reconnectAttempts = reconnectAttempts +
reconnectAttempts <= MAX_RECONNECT_ATTEMPTS
.(RECONNECT_INTERVAL)
(()
TeleportService:(.PlaceId, localPlayer)
)
)
)
lastHeartbeat = ()
(()
:().Heartbeat:(()
autoReconnectEnabled
currentTime = ()
timeSinceLastBeat = currentTime - lastHeartbeat
timeSinceLastBeat >
( .. .(timeSinceLastBeat) .. )
reconnectAttempts = reconnectAttempts +
reconnectAttempts <= MAX_RECONNECT_ATTEMPTS
.(RECONNECT_INTERVAL)
(()
TeleportService:(.PlaceId, localPlayer)
)
lastHeartbeat = currentTime
)
)
()
idledConnection =
antiAFKLoop =
()
VirtualUser = :()
idledConnection
idledConnection = localPlayer.Idled:(()
antiAFKEnabled
VirtualUser:()
VirtualUser:(.())
()
)
antiAFKLoop
antiAFKLoop = .(()
antiAFKEnabled
VirtualUser:()
VirtualUser:(.(, ))
.()
VirtualUser:(.(, ))
()
.()
)
()
UserInputService.InputBegan:((input, gameProcessed)
gameProcessed
isCtrlPressed = UserInputService:(.KeyCode.LeftControl) UserInputService:(.KeyCode.RightControl)
isCtrlPressed
input.KeyCode == .KeyCode.B
autoBuySeedsEnabled = autoBuySeedsEnabled
autoBuyToggleSeeds
(()
autoBuyToggleSeeds.Value = autoBuySeedsEnabled
autoBuyToggleSeeds.Callback
autoBuyToggleSeeds.(autoBuySeedsEnabled)
)
WindUI:({
Title = .. (autoBuySeedsEnabled ) .. ,
Content = autoBuySeedsEnabled .(, #selectedSeeds) ,
Duration =
})
input.KeyCode == .KeyCode.N
autoBuyGearsEnabled = autoBuyGearsEnabled
autoBuyToggleGears
(()
autoBuyToggleGears.Value = autoBuyGearsEnabled
autoBuyToggleGears.Callback
autoBuyToggleGears.(autoBuyGearsEnabled)
)
WindUI:({
Title = .. (autoBuyGearsEnabled ) .. ,
Content = autoBuyGearsEnabled .(, #selectedGears) ,
Duration =
})
input.KeyCode == .KeyCode.E
autoEquipEnabled = autoEquipEnabled
autoEquipToggle
(()
autoEquipToggle.Value = autoEquipEnabled
autoEquipToggle.Callback
autoEquipToggle.(autoEquipEnabled)
)
autoEquipEnabled
()
WindUI:({
Title = .. (autoEquipEnabled ) .. ,
Content = autoEquipEnabled .(, equipInterval) ,
Duration =
})
)
(seedName)
BuyItemRemote
(() BuyItemRemote:(seedName) )
(gearName)
BuyGearRemote
(() BuyGearRemote:(gearName) )
()
ItemSellRemote
(() ItemSellRemote:() )
()
ItemSellRemote
(()
ItemSellRemote:(({[] = }, , .({[] = })))
)
()
OpenUIRemote seedShopUI
(() OpenUIRemote:(seedShopUI, ) )
()
OpenUIRemote gearShopUI
(() OpenUIRemote:(gearShopUI, ) )
()
EquipBestRemote
(() EquipBestRemote:() )
()
.(()
autoEquipEnabled
()
.(equipInterval)
)
()
equipIntervalInput
value =
equipIntervalInput.Get
value = equipIntervalInput:()
equipIntervalInput.Value
value = equipIntervalInput.Value
value =
num = (value)
num num >
equipInterval = num
WindUI:({
Title = ,
Content = .. num .. ,
Duration =
})
WindUI:({
Title = ,
Content = ,
Duration =
})
()
settings = {
autoLoadConfig = currentSettings.autoLoadConfig defaultSettings.autoLoadConfig,
autoLoadEnabled = currentSettings.autoLoadEnabled defaultSettings.autoLoadEnabled
}
()
()
success = (()
(SETTINGS_FILE, :():(settings))
)
success
()
success, result = (()
(SETTINGS_FILE)
data = (SETTINGS_FILE)
:():(data)
)
success result
currentSettings = result
currentSettings = .(defaultSettings)
()
currentSettings
()
configs = {}
(()
()
files = ()
_, file (files)
file:() file:()
fileName = file:() file:()
fileName fileName ~=
.(configs, fileName)
.(configs, fileName)
)
configs
(customName)
()
()
fileName = customName ( .. customName .. ) CONFIG_FILE
equipInt = equipInterval
equipIntervalInput
equipValue =
equipIntervalInput.Get
equipValue = equipIntervalInput:()
equipIntervalInput.Value
equipValue = equipIntervalInput.Value
equipInt = (equipValue)
currentConfig = {
selectedSeeds = selectedSeeds,
selectedGears = selectedGears,
equipInterval = equipInt,
theme = WindUI:() ,
autoBuySeedsEnabled = autoBuySeedsEnabled,
autoBuyGearsEnabled = autoBuyGearsEnabled,
autoEquipEnabled = autoEquipEnabled,
autoBuyAllSeedsEnabled = autoBuyAllSeedsEnabled,
autoBuyAllGearsEnabled = autoBuyAllGearsEnabled,
antiAFKEnabled = antiAFKEnabled,
autoReconnectEnabled = autoReconnectEnabled
}
success = (()
(fileName, :():(currentConfig))
)
success
(, fileName)
WindUI:({
Title = ,
Content = .. (customName ),
Duration =
})
WindUI:({
Title = ,
Content = ,
Duration =
})
success
()
seedDropdown
.(()
.()
(()
seedDropdown.Set
seedDropdown:(selectedSeeds)
seedDropdown.Value ~=
seedDropdown.Value = selectedSeeds
Window Window.Flags Window.Flags.SeedSelection ~=
Window.Flags.SeedSelection = selectedSeeds
.()
seedDropdown.Refresh
seedDropdown:(availableSeeds, selectedSeeds)
)
)
()
gearDropdown
.(()
.()
(()
gearDropdown.Set
gearDropdown:(selectedGears)
gearDropdown.Value ~=
gearDropdown.Value = selectedGears
Window Window.Flags Window.Flags.GearSelection ~=
Window.Flags.GearSelection = selectedGears
.()
gearDropdown.Refresh
gearDropdown:(availableGears, selectedGears)
)
)
()
.(()
.()
()
()
equipIntervalInput equipIntervalInput.Set
(()
equipIntervalInput:((equipInterval))
)
currentConfig.theme
(()
WindUI:(currentConfig.theme)
themeDropdown themeDropdown.Set
themeDropdown:(currentConfig.theme)
)
)
()
selectedSeeds = {}
selectedGears = {}
equipInterval = defaultConfig.equipInterval
.(()
.()
()
()
()
)
WindUI:({
Title = ,
Content = ,
Duration =
})
()
currentSettings.autoLoadEnabled currentSettings.autoLoadConfig ~=
configName = currentSettings.autoLoadConfig
filesToTry = {
.. configName .. ,
configName ..
}
_, file (filesToTry)
file (file)
success, result = (()
data = (file)
:():(data)
)
success result
currentConfig = result
selectedSeeds = currentConfig.selectedSeeds {}
selectedGears = currentConfig.selectedGears {}
equipInterval = currentConfig.equipInterval
autoBuySeedsEnabled = currentConfig.autoBuySeedsEnabled
autoBuyGearsEnabled = currentConfig.autoBuyGearsEnabled
autoEquipEnabled = currentConfig.autoEquipEnabled
autoBuyAllSeedsEnabled = currentConfig.autoBuyAllSeedsEnabled
autoBuyAllGearsEnabled = currentConfig.autoBuyAllGearsEnabled
antiAFKEnabled = currentConfig.antiAFKEnabled
autoReconnectEnabled = currentConfig.autoReconnectEnabled
antiAFKEnabled ()
autoReconnectEnabled ()
autoEquipEnabled ()
(, configName)
WindUI:(currentConfig.theme defaultConfig.theme)
Window = WindUI:({
Title = ,
Icon = ,
Author = ,
Folder = ,
Size = .(, ),
Theme = currentConfig.theme defaultConfig.theme,
SideBarWidth = ,
})
Window:(.KeyCode.G)
Window:({
Title = SCRIPT_VERSION .. ,
Color = .()
})
Window:(, , ()
newTheme = WindUI:() ==
WindUI:(newTheme)
canChangeTheme themeDropdown
themeDropdown:(newTheme)
WindUI:({
Title = ,
Content = .. newTheme,
Duration =
})
, )
Window:({
Title = ,
Icon = ,
CornerRadius = .(,),
StrokeThickness = ,
Color = ColorSequence.(
.(),
.()
),
OnlyMobile = ,
Enabled = ,
Draggable = ,
})
InformationTab = Window:({
Title = ,
Icon = ,
Locked =
})
AutoBuyTab = Window:({
Title = ,
Icon = ,
Locked =
})
SellTab = Window:({
Title = ,
Icon = ,
Locked =
})
AutoEquipTab = Window:({
Title = ,
Icon = ,
Locked =
})
SettingsTab = Window:({
Title = ,
Icon = ,
Locked =
})
Window:()
InformationTab:({
Title = ,
Desc =
})
AutoBuyTab:({
Title = ,
Icon = ,
Variant = ,
Callback = ()
success = ()
WindUI:({
Title = success ,
Content = success ,
Duration =
})
})
AutoBuyTab:({
Title = ,
Icon = ,
Variant = ,
Callback = ()
success = ()
WindUI:({
Title = success ,
Content = success ,
Duration =
})
})
AutoBuyTab:()
seedDropdown = AutoBuyTab:({
Title = ,
Values = availableSeeds,
Value = selectedSeeds,
SearchBarEnabled = ,
MenuWidth = ,
Multi = ,
Flag = ,
Callback = (value)
selectedSeeds = value
})
autoBuyToggleSeeds = AutoBuyTab:({
Title = ,
Desc = ,
Value = autoBuySeedsEnabled,
Callback = (enabled)
autoBuySeedsEnabled = enabled
enabled
WindUI:({
Title = ,
Content = .(, #selectedSeeds),
Duration =
})
WindUI:({
Title = ,
Content = ,
Duration =
})
})
autoBuyAllSeedsToggle = AutoBuyTab:({
Title = ,
Desc = ,
Value = autoBuyAllSeedsEnabled,
Callback = (enabled)
autoBuyAllSeedsEnabled = enabled
enabled
WindUI:({
Title = ,
Content = .(, #availableSeeds),
Duration =
})
WindUI:({
Title = ,
Content = ,
Duration =
})
})
AutoBuyTab:()
gearDropdown = AutoBuyTab:({
Title = ,
Values = availableGears,
Value = selectedGears,
SearchBarEnabled = ,
MenuWidth = ,
Multi = ,
Flag = ,
Callback = (value)
selectedGears = value
})
autoBuyToggleGears = AutoBuyTab:({
Title = ,
Desc = ,
Value = autoBuyGearsEnabled,
Callback = (enabled)
autoBuyGearsEnabled = enabled
enabled
WindUI:({
Title = ,
Content = .(, #selectedGears),
Duration =
})
WindUI:({
Title = ,
Content = ,
Duration =
})
})
autoBuyAllGearsToggle = AutoBuyTab:({
Title = ,
Desc = ,
Value = autoBuyAllGearsEnabled,
Callback = (enabled)
autoBuyAllGearsEnabled = enabled
enabled
WindUI:({
Title = ,
Content = .(, #availableGears),
Duration =
})
WindUI:({
Title = ,
Content = ,
Duration =
})
})
SellTab:({
Title = ,
Desc = ,
Image = ,
ImageSize = ,
Color =
})
SellTab:({
Title = ,
Icon = ,
Variant = ,
Callback = ()
success = ()
WindUI:({
Title = success ,
Content = success ,
Duration =
})
})
SellTab:({
Title = ,
Icon = ,
Variant = ,
Callback = ()
success = ()
WindUI:({
Title = success ,
Content = success ,
Duration =
})
})
SellTab:({
Title = ,
Icon = ,
Variant = ,
Callback = ()
brainrotSuccess = ()
.()
plantSuccess = ()
bothSuccess = brainrotSuccess plantSuccess
WindUI:({
Title = bothSuccess ,
Content = bothSuccess ,
Duration =
})
})
AutoEquipTab:({
Title = ,
Desc = ,
Image = ,
ImageSize = ,
Color =
})
equipIntervalInput = AutoEquipTab:({
Title = ,
Desc = ,
Value = (equipInterval)
})
AutoEquipTab:({
Title = ,
Icon = ,
Variant = ,
Callback = ()
()
})
autoEquipToggle = AutoEquipTab:({
Title = ,
Desc = ,
Value = autoEquipEnabled,
Callback = (enabled)
autoEquipEnabled = enabled
enabled
()
WindUI:({
Title = ,
Content = .(, equipInterval),
Duration =
})
WindUI:({
Title = ,
Content = ,
Duration =
})
})
AutoEquipTab:({
Title = ,
Icon = ,
Variant = ,
Callback = ()
success = ()
WindUI:({
Title = success ,
Content = success ,
Duration =
})
})
SettingsTab:({
Title = ,
Desc = ,
Image = ,
ImageSize = ,
Color =
})
themes = {}
themeName, _ (WindUI:())
.(themes, themeName)
.(themes)
themeDropdown = SettingsTab:({
Title = ,
Values = themes,
SearchBarEnabled = ,
MenuWidth = ,
Value = WindUI:(),
Callback = (theme)
canChangeDropdown =
WindUI:(theme)
WindUI:({
Title = ,
Content = .. theme .. ,
Icon = ,
Duration =
})
canChangeDropdown =
})
SettingsTab:()
SettingsTab:({
Title = ,
Desc = ,
Image = ,
ImageSize = ,
Color =
})
autoReconnectToggle = SettingsTab:({
Title = ,
Desc = ,
Value = autoReconnectEnabled,
Callback = (enabled)
autoReconnectEnabled = enabled
reconnectAttempts =
enabled
()
WindUI:({
Title = ,
Content = .(, MAX_RECONNECT_ATTEMPTS),
Duration =
})
WindUI:({
Title = ,
Content = ,
Duration =
})
})
antiAFKToggle = SettingsTab:({
Title = ,
Desc = ,
Value = antiAFKEnabled,
Callback = (enabled)
antiAFKEnabled = enabled
enabled
()
WindUI:({
Title = ,
Content = ,
Duration =
})
WindUI:({
Title = ,
Content = ,
Duration =
})
})
SettingsTab:()
SettingsTab:({
Title = ,
Desc = ,
Image = ,
ImageSize = ,
Color =
})
autoLoadToggle = SettingsTab:({
Title = ,
Desc = ,
Value = currentSettings.autoLoadEnabled ,
Callback = (state)
currentSettings.autoLoadEnabled = state
()
WindUI:({
Title = .. (state ),
Content = .. (state ),
Duration =
})
})
availableConfigs = ()
autoLoadDropdown = SettingsTab:({
Title = ,
Values = availableConfigs,
Value = currentSettings.autoLoadConfig ,
SearchBarEnabled = ,
MenuWidth = ,
Callback = (config)
currentSettings.autoLoadConfig = config
()
WindUI:({
Title = ,
Content = .. config,
Duration =
})
})
SettingsTab:({
Title = ,
Icon = ,
Callback = ()
newConfigs = ()
autoLoadDropdown autoLoadDropdown.Refresh
autoLoadDropdown:(newConfigs)
WindUI:({
Title = ,
Content = .. .(, #newConfigs - ) .. ,
Duration =
})
})
SettingsTab:()
SettingsTab:({
Title = ,
Desc = ,
Image = ,
ImageSize = ,
Color =
})
configName =
ConfigNameInput = SettingsTab:({
Title = ,
Value = configName,
Callback = (value)
configName = value
})
SettingsTab:({
Title = ,
Icon = ,
Variant = ,
Callback = ()
name = configName
ConfigNameInput ConfigNameInput.Get
name = ConfigNameInput:() configName
(name)
})
SettingsTab:({
Title = ,
Icon = ,
Variant = ,
Callback = ()
name = configName
ConfigNameInput ConfigNameInput.Get
name = ConfigNameInput:() configName
filesToTry = { .. name .. , name .. }
loaded =
_, file (filesToTry)
file (file)
success, result = (()
:():((file))
)
success result
currentConfig = result
selectedSeeds = result.selectedSeeds {}
selectedGears = result.selectedGears {}
equipInterval = result.equipInterval
autoBuySeedsEnabled = result.autoBuySeedsEnabled
autoBuyGearsEnabled = result.autoBuyGearsEnabled
autoEquipEnabled = result.autoEquipEnabled
autoBuyAllSeedsEnabled = result.autoBuyAllSeedsEnabled
autoBuyAllGearsEnabled = result.autoBuyAllGearsEnabled
antiAFKEnabled = result.antiAFKEnabled
autoReconnectEnabled = result.autoReconnectEnabled
antiAFKEnabled ()
autoReconnectEnabled ()
autoEquipEnabled ()
autoBuyToggleSeeds autoBuyToggleSeeds.Value = autoBuySeedsEnabled
autoBuyToggleGears autoBuyToggleGears.Value = autoBuyGearsEnabled
autoEquipToggle autoEquipToggle.Value = autoEquipEnabled
autoBuyAllSeedsToggle autoBuyAllSeedsToggle.Value = autoBuyAllSeedsEnabled
autoBuyAllGearsToggle autoBuyAllGearsToggle.Value = autoBuyAllGearsEnabled
antiAFKToggle antiAFKToggle.Value = antiAFKEnabled
autoReconnectToggle autoReconnectToggle.Value = autoReconnectEnabled
()
loaded =
WindUI:({
Title = ,
Content = name .. .. #selectedSeeds .. .. #selectedGears,
Duration =
})
loaded
WindUI:({
Title = ,
Content = .. name,
Duration =
})
})
SettingsTab:({
Title = ,
Icon = ,
Variant = ,
Callback = ()
()
})
()
.(()
shouldBuySeeds = (autoBuySeedsEnabled #selectedSeeds > ) autoBuyAllSeedsEnabled
shouldBuyGears = (autoBuyGearsEnabled #selectedGears > ) autoBuyAllGearsEnabled
shouldBuySeeds shouldBuyGears
purchased =
shouldBuySeeds shouldBuyGears
isAlternatingSeed
seedList = autoBuyAllSeedsEnabled availableSeeds selectedSeeds
#seedList >
seedIndex = ((currentItemIndex - ) % #seedList) +
seedName = seedList[seedIndex]
success = (seedName)
success
purchased =
isAlternatingSeed =
gearList = autoBuyAllGearsEnabled availableGears selectedGears
#gearList >
gearIndex = ((currentItemIndex - ) % #gearList) +
gearName = gearList[gearIndex]
success = (gearName)
success
purchased =
isAlternatingSeed =
shouldBuySeeds
seedList = autoBuyAllSeedsEnabled availableSeeds selectedSeeds
#seedList >
seedIndex = ((currentItemIndex - ) % #seedList) +
seedName = seedList[seedIndex]
success = (seedName)
success
purchased =
shouldBuyGears
gearList = autoBuyAllGearsEnabled availableGears selectedGears
#gearList >
gearIndex = ((currentItemIndex - ) % #gearList) +
gearName = gearList[gearIndex]
success = (gearName)
success
purchased =
purchased
purchaseCount = purchaseCount +
purchaseCount >= ITEMS_PER_ROUND
purchaseCount =
currentItemIndex = currentItemIndex +
totalItems =
shouldBuySeeds shouldBuyGears
totalItems = .(
autoBuyAllSeedsEnabled #availableSeeds #selectedSeeds,
autoBuyAllGearsEnabled #availableGears #selectedGears
)
shouldBuySeeds
totalItems = autoBuyAllSeedsEnabled #availableSeeds #selectedSeeds
shouldBuyGears
totalItems = autoBuyAllGearsEnabled #availableGears #selectedGears
currentItemIndex > totalItems
currentItemIndex =
.(CYCLE_INTERVAL / )
.(PURCHASE_DELAY / )
.()
)
.(()
.()
WindUI:({
Title = .. SCRIPT_VERSION .. ,
Content = .(,
currentSettings.autoLoadEnabled currentSettings.autoLoadConfig ~= ( .. currentSettings.autoLoadConfig) ,
#selectedSeeds,
#selectedGears,
equipInterval),
Duration =
})
)
.(()
.()
)
Loads code from the internet. It downloads more code when it runs (loadstring + HttpGet), which can change after it was posted. From: github.com.
Kasumi Hub for Plants vs. Brainrot CRACKED OPEN SOURCE

Universal