
Key Required VerifiedUniversal
--[[
script aint verified by scriptblox be carefull!
]]
local Fluent = loadstring(game:HttpGet("https://github.com/dawid-scripts/Fluent/releases/latest/download/main.lua"))()
local SaveManager = loadstring(game:HttpGet("https://raw.githubusercontent.com/dawid-scripts/Fluent/master/Addons/SaveManager.lua"))()
local InterfaceManager = loadstring(game:HttpGet("https://raw.githubusercontent.com/dawid-scripts/Fluent/master/Addons/InterfaceManager.lua"))()
local Window = Fluent:CreateWindow({
Title = "pulled. Be a Lucky Block",
SubTitle = "by mrragdol5",
TabWidth = 160,
Size = UDim2.fromOffset(550, 430),
Acrylic = false,
Theme = "Darker",
MinimizeKey = Enum.KeyCode.LeftControl
})
local Tabs = {
Misc = Window:AddTab({ Title = "Misc", Icon = "box" }),
Upgrades = Window:AddTab({ Title = "Upgrades", Icon = "info" }),
Farm = Window:AddTab({ Title = "Farm", Icon = "bot" }),
Sell = Window:AddTab({ Title = "Sell", Icon = "dollar-sign" }),
Speed = Window:AddTab({ Title = "Speed", Icon = "gauge" }),
Webhook = Window:AddTab({ Title = "Webhook", Icon = "wifi" }),
Settings = Window:AddTab({ Title = "Settings", Icon = "settings" })
}
local Options = Fluent.Options
do
-----
-----
local ReplicatedStorage = game:GetService("ReplicatedStorage")
local claimGift = ReplicatedStorage
:WaitForChild("Packages")
:WaitForChild("_Index")
:WaitForChild("sleitnick_knit@1.7.0")
:WaitForChild("knit")
:WaitForChild("Services")
:WaitForChild("PlaytimeRewardService")
:WaitForChild("RF")
:WaitForChild("ClaimGift")
local autoClaiming = false
local ACPR = Tabs.Misc:AddToggle("ACPR", {
Title = "Auto Claim Playtime Rewards",
Default = false
})
ACPR:OnChanged(function(state)
autoClaiming = state
if not state then return end
task.spawn(function()
while autoClaiming do
for reward = 1, 12 do
if not autoClaiming then break end
local success, err = pcall(function()
claimGift:InvokeServer(reward)
end)
task.wait(0.25)
end
task.wait(1)
end
end)
end)
Options.ACPR:SetValue(false)
-----
-----
local ReplicatedStorage = game:GetService("ReplicatedStorage")
local rebirth = ReplicatedStorage
:WaitForChild("Packages")
:WaitForChild("_Index")
:WaitForChild("sleitnick_knit@1.7.0")
:WaitForChild("knit")
:WaitForChild("Services")
:WaitForChild("RebirthService")
:WaitForChild("RF")
:WaitForChild("Rebirth")
local running = false
local AR = Tabs.Farm:AddToggle("AR", {
Title = "Auto Rebirth",
Default = false
})
AR:OnChanged(function(state)
running = state
if not state then return end
task.spawn(function()
while running do
pcall(function()
rebirth:InvokeServer()
end)
task.wait(1)
end
end)
end)
Options.AR:SetValue(false)
-----
-----
local ReplicatedStorage = game:GetService("ReplicatedStorage")
local Players = game:GetService("Players")
local player = Players.LocalPlayer
local claim = ReplicatedStorage
:WaitForChild("Packages")
:WaitForChild("_Index")
:WaitForChild("sleitnick_knit@1.7.0")
:WaitForChild("knit")
:WaitForChild("Services")
:WaitForChild("SeasonPassService")
:WaitForChild("RF")
:WaitForChild("ClaimPassReward")
local running = false
local ACEPR = Tabs.Misc:AddToggle("ACEPR", {
Title = "Auto Claim Event Pass Rewards",
Default = false
})
ACEPR:OnChanged(function(state)
running = state
if not state then return end
task.spawn(function()
while running do
local gui = player:WaitForChild("PlayerGui")
:WaitForChild("Windows")
:WaitForChild("Event")
:WaitForChild("Frame")
:WaitForChild("Frame")
:WaitForChild("Windows")
:WaitForChild("Pass")
:WaitForChild("Main")
:WaitForChild("ScrollingFrame")
for i = 1, 10 do
if not running then break end
local item = gui:FindFirstChild(tostring(i))
if item and item:FindFirstChild("Frame") and item.Frame:FindFirstChild("Free") then
local free = item.Frame.Free
local locked = free:FindFirstChild("Locked")
local claimed = free:FindFirstChild("Claimed")
while running and locked and locked.Visible do
task.wait(0.2)
end
if running and claimed and claimed.Visible then
continue
end
if running and locked and not locked.Visible then
pcall(function()
claim:InvokeServer("Free", i)
end)
end
end
end
task.wait(0.5)
end
end)
end)
Options.ACEPR:SetValue(false)
-----
-----
local ReplicatedStorage = game:GetService("ReplicatedStorage")
local redeem = ReplicatedStorage
:WaitForChild("Packages")
:WaitForChild("_Index")
:WaitForChild("sleitnick_knit@1.7.0")
:WaitForChild("knit")
:WaitForChild("Services")
:WaitForChild("CodesService")
:WaitForChild("RF")
:WaitForChild("RedeemCode")
local codes = {
"release",
"DEVIL",
"ZEUS"
}
Tabs.Misc:AddButton({
Title = "Redeem All Codes",
Callback = function()
for _, code in ipairs(codes) do
pcall(function()
redeem:InvokeServer(code)
end)
task.wait(1)
end
end
})
-----
-----
Tabs.Upgrades:AddSection("Speed Upgrades")
-----
-----
local ReplicatedStorage = game:GetService("ReplicatedStorage")
local upgrade = ReplicatedStorage
:WaitForChild("Packages")
:WaitForChild("_Index")
:WaitForChild("sleitnick_knit@1.7.0")
:WaitForChild("knit")
:WaitForChild("Services")
:WaitForChild("UpgradesService")
:WaitForChild("RF")
:WaitForChild("Upgrade")
local amount = 1
local delayTime = 0.5
local running = false
local IMS = Tabs.Upgrades:AddInput("IMS", {
Title = "Speed Amount",
Default = "1",
Placeholder = "Number",
Numeric = true,
Finished = false,
Callback = function(Value)
amount = tonumber(Value) or 1
end
})
IMS:OnChanged(function(Value)
amount = tonumber(Value) or 1
end)
local SMS = Tabs.Upgrades:AddSlider("SMS", {
Title = "Upgrade Interval",
Description = "",
Default = 1,
Min = 0,
Max = 5,
Rounding = 1,
Callback = function(Value)
delayTime = Value
end
})
SMS:OnChanged(function(Value)
delayTime = Value
end)
SMS:SetValue(1)
local AMS = Tabs.Upgrades:AddToggle("AMS", {
Title = "Auto Upgrade Speed",
Default = false
})
AMS:OnChanged(function(state)
running = state
if not state then return end
task.spawn(function()
while running do
pcall(function()
upgrade:InvokeServer("MovementSpeed", amount)
end)
task.wait(delayTime)
end
end)
end)
Options.AMS:SetValue(false)
-----
-----
local ReplicatedStorage = game:GetService("ReplicatedStorage")
local Players = game:GetService("Players")
local player = Players.LocalPlayer
local buy = ReplicatedStorage
:WaitForChild("Packages")
:WaitForChild("_Index")
:WaitForChild("sleitnick_knit@1.7.0")
:WaitForChild("knit")
:WaitForChild("Services")
:WaitForChild("SkinService")
:WaitForChild("RF")
:WaitForChild("BuySkin")
local skins = {
"prestige_mogging_luckyblock",
"mogging_luckyblock",
"twoface_luckyblock",
"colossus _luckyblock",
"inferno_luckyblock",
"divine_luckyblock",
"spirit_luckyblock",
"cyborg_luckyblock",
"void_luckyblock",
"gliched_luckyblock",
"lava_luckyblock",
"freezy_luckyblock",
"fairy_luckyblock"
}
local suffix = {
K = 1e3,
M = 1e6,
B = 1e9,
T = 1e12,
Qa = 1e15,
Qi = 1e18,
Sx = 1e21,
Sp = 1e24,
Oc = 1e27,
No = 1e30,
Dc = 1e33
}
local function parseCash(text)
text = text:gsub("%$", ""):gsub(",", ""):gsub("%s+", "")
local num = tonumber(text:match("[%d%.]+"))
local suf = text:match("%a+")
if not num then return 0 end
if suf and suffix[suf] then
return num * suffix[suf]
end
return num
end
local running = false
local ABL = Tabs.Misc:AddToggle("ABL", {
Title = "Auto Buy Best Luckyblock",
Default = false
})
ABL:OnChanged(function(state)
running = state
if not state then return end
task.spawn(function()
while running do
local gui = player.PlayerGui:FindFirstChild("Windows")
if not gui then
task.wait(1)
continue
end
local pickaxeShop = gui:FindFirstChild("PickaxeShop")
if not pickaxeShop then
task.wait(1)
continue
end
local shopContainer = pickaxeShop:FindFirstChild("ShopContainer")
if not shopContainer then
task.wait(1)
continue
end
local scrollingFrame = shopContainer:FindFirstChild("ScrollingFrame")
if not scrollingFrame then
task.wait(1)
continue
end
local cash = player.leaderstats.Cash.Value
local bestSkin = nil
local bestPrice = 0
for i = 1, #skins do
local name = skins[i]
local item = scrollingFrame:FindFirstChild(name)
if item then
local main = item:FindFirstChild("Main")
if main then
local buyFolder = main:FindFirstChild("Buy")
if buyFolder then
local buyButton = buyFolder:FindFirstChild("BuyButton")
if buyButton and buyButton.Visible then
local cashLabel = buyButton:FindFirstChild("Cash")
if cashLabel then
local price = parseCash(cashLabel.Text)
if cash >= price and price > bestPrice then
bestSkin = name
bestPrice = price
end
end
end
end
end
end
end
if bestSkin then
pcall(function()
buy:InvokeServer(bestSkin)
end)
end
task.wait(0.5)
end
end)
end)
Options.ABL:SetValue(false)
-----
-----
Tabs.Misc:AddButton({
Title = "Sell Held Brainrot",
Callback = function()
Window:Dialog({
Title = "Confirm Sale",
Content = "Are you sure you want to sell this held Brainrot?",
Buttons = {
{
Title = "Confirm",
Callback = function()
local player = game:GetService("Players").LocalPlayer
local character = player.Character or player.CharacterAdded:Wait()
local tool = character:FindFirstChildOfClass("Tool")
if not tool then
Fluent:Notify({
Title = "ERROR!",
Content = "Equip the Brainrot you want to Sell",
Duration = 5
})
return
end
local entityId = tool:GetAttribute("EntityId")
if not entityId then return end
local args = {
entityId
}
game:GetService("ReplicatedStorage")
:WaitForChild("Packages")
:WaitForChild("_Index")
:WaitForChild("sleitnick_knit@1.7.0")
:WaitForChild("knit")
:WaitForChild("Services")
:WaitForChild("InventoryService")
:WaitForChild("RF")
:WaitForChild("SellBrainrot")
:InvokeServer(unpack(args))
Fluent:Notify({
Title = "SOLD!",
Content = "Sold: " .. tool.Name,
Duration = 5
})
end
},
{
Title = "Cancel",
Callback = function()
end
}
}
})
end
})
-----
-----
Tabs.Misc:AddButton({
Title = "Pickup All Your Brainrots",
Callback = function()
Window:Dialog({
Title = "Confirm Pickup!",
Content = "Pick up all Brainrots?",
Buttons = {
{
Title = "Confirm",
Callback = function()
local player = game:GetService("Players").LocalPlayer
local username = player.Name
local plotsFolder = workspace:WaitForChild("Plots")
local myPlot
for i = 1, 5 do
local plot = plotsFolder:FindFirstChild(tostring(i))
if plot and plot:FindFirstChild(tostring(i)) then
local inner = plot[tostring(i)]
for _, v in pairs(inner:GetDescendants()) do
if v:IsA("BillboardGui") and string.find(v.Name, username) then
myPlot = inner
break
end
end
end
if myPlot then break end
end
if not myPlot then return end
local containers = myPlot:FindFirstChild("Containers")
if not containers then return end
for i = 1, 30 do
local containerFolder = containers:FindFirstChild(tostring(i))
if containerFolder and containerFolder:FindFirstChild(tostring(i)) then
local container = containerFolder[tostring(i)]
local innerModel = container:FindFirstChild("InnerModel")
if innerModel and #innerModel:GetChildren() > 0 then
local args = {
tostring(i)
}
game:GetService("ReplicatedStorage")
:WaitForChild("Packages")
:WaitForChild("_Index")
:WaitForChild("sleitnick_knit@1.7.0")
:WaitForChild("knit")
:WaitForChild("Services")
:WaitForChild("ContainerService")
:WaitForChild("RF")
:WaitForChild("PickupBrainrot")
:InvokeServer(unpack(args))
task.wait(0.1)
end
end
end
Fluent:Notify({
Title = "Done!",
Content = "Picked up all Brainrots",
Duration = 5
})
end
},
{
Title = "Cancel",
Callback = function()
end
}
}
})
end
})
-----
-----
local storedParts = {}
local folder = workspace:WaitForChild("BossTouchDetectors")
local RBTD = Tabs.Farm:AddToggle("RBTD", {
Title = "Remove Bad Boss Touch Detectors",
Description = "will make it so only the last boss can capture you",
Default = false
})
RBTD:OnChanged(function(state)
if state then
storedParts = {}
for _, obj in ipairs(folder:GetChildren()) do
if obj.Name ~= "base14" then
table.insert(storedParts, obj)
obj.Parent = nil
end
end
else
for _, obj in ipairs(storedParts) do
if obj then
obj.Parent = folder
end
end
storedParts = {}
end
end)
Options.RBTD:SetValue(false)
-----
-----
Tabs.Farm:AddButton({
Title = "Teleport to End",
Callback = function()
local modelsFolder = workspace:WaitForChild("RunningModels")
local target = workspace:WaitForChild("CollectZones"):WaitForChild("base14")
local targetCFrame = target.CFrame * CFrame.new(0, -5, 0)
for _, obj in ipairs(modelsFolder:GetChildren()) do
if obj:IsA("Model") then
if obj.PrimaryPart then
obj:SetPrimaryPartCFrame(targetCFrame)
else
local part = obj:FindFirstChildWhichIsA("BasePart")
if part then
part.CFrame = targetCFrame
end
end
elseif obj:IsA("BasePart") then
obj.CFrame = targetCFrame
end
end
end
})
-----
-----
Tabs.Farm:AddSection("Farming")
local running = false
local AutoFarmToggle = Tabs.Farm:AddToggle("AutoFarmToggle", {
Title = "Auto Farm Best Brainrots",
Default = false
})
AutoFarmToggle:OnChanged(function(state)
running = state
if state then
task.spawn(function()
while running do
local player = game.Players.LocalPlayer
local character = player.Character or player.CharacterAdded:Wait()
local root = character:WaitForChild("HumanoidRootPart")
local humanoid = character:WaitForChild("Humanoid")
local userId = player.UserId
local modelsFolder = workspace:WaitForChild("RunningModels")
local target = workspace:WaitForChild("CollectZones"):WaitForChild("base14")
root.CFrame = CFrame.new(715, 39, -2122)
task.wait(0.3)
humanoid:MoveTo(Vector3.new(710, 39, -2122))
local ownedModel = nil
repeat
task.wait(0.3)
for _, obj in ipairs(modelsFolder:GetChildren()) do
if obj:IsA("Model") and obj:GetAttribute("OwnerId") == userId then
ownedModel = obj
break
end
end
until ownedModel ~= nil or not running
if not running then break end
if ownedModel.PrimaryPart then
ownedModel:SetPrimaryPartCFrame(target.CFrame)
else
local part = ownedModel:FindFirstChildWhichIsA("BasePart")
if part then
part.CFrame = target.CFrame
end
end
task.wait(0.7)
if ownedModel and ownedModel.Parent == modelsFolder then
if ownedModel.PrimaryPart then
ownedModel:SetPrimaryPartCFrame(target.CFrame * CFrame.new(0, -5, 0))
else
local part = ownedModel:FindFirstChildWhichIsA("BasePart")
if part then
part.CFrame = target.CFrame * CFrame.new(0, -5, 0)
end
end
end
repeat
task.wait(0.3)
until not running or (ownedModel == nil or ownedModel.Parent ~= modelsFolder)
if not running then break end
local oldCharacter = player.Character
repeat
task.wait(0.2)
until not running or (player.Character ~= oldCharacter and player.Character ~= nil)
if not running then break end
task.wait(0.4)
local newChar = player.Character
local newRoot = newChar:WaitForChild("HumanoidRootPart")
newRoot.CFrame = CFrame.new(737, 39, -2118)
task.wait(2.1)
end
end)
end
end)
Options.AutoFarmToggle:SetValue(false)
-----
-----
local Players = game:GetService("Players")
local player = Players.LocalPlayer
local running = false
local luckyBlockSpeed = 1000
local playerSpeed = 23
local brainrotSpeed = 1000
local originalSpeed = nil
local currentModel = nil
local function getMyModel()
local folder = workspace:FindFirstChild("RunningModels")
if not folder then return nil end
for _, model in ipairs(folder:GetChildren()) do
if model:GetAttribute("OwnerId") == player.UserId then
return model
end
end
return nil
end
local function applySpeed()
local methods = Options.SpeedMethod.Value
local character = workspace:FindFirstChild(player.Name)
local humanoid = character and character:FindFirstChild("Humanoid")
if methods["Luckyblock"] then
local model = getMyModel()
if model then
if model ~= currentModel then
currentModel = model
originalSpeed = model:GetAttribute("MovementSpeed")
end
if originalSpeed == nil then
originalSpeed = model:GetAttribute("MovementSpeed")
end
model:SetAttribute("MovementSpeed", luckyBlockSpeed)
end
end
if humanoid then
local hasBrainrot = character:GetAttribute("BrainrotType") ~= nil
if hasBrainrot and methods["Brainrot"] then
humanoid.WalkSpeed = brainrotSpeed
elseif not hasBrainrot and methods["Player"] then
humanoid.WalkSpeed = playerSpeed
end
end
end
task.spawn(function()
while true do
if running then
applySpeed()
end
task.wait(0.2)
end
end)
local SpeedMethod = Tabs.Speed:AddDropdown("SpeedMethod", {
Title = "Speed Method",
Values = {"Luckyblock", "Brainrot", "Player"},
Multi = true,
Default = {"Luckyblock"},
})
local Toggle = Tabs.Speed:AddToggle("MovementToggle", {
Title = "Enable Custom Speed",
Default = false
})
Toggle:OnChanged(function()
running = Options.MovementToggle.Value
if not running then
local model = getMyModel()
if model and originalSpeed ~= nil then
model:SetAttribute("MovementSpeed", originalSpeed)
end
originalSpeed = nil
currentModel = nil
local character = workspace:FindFirstChild(player.Name)
if character then
local humanoid = character:FindFirstChild("Humanoid")
if humanoid then
humanoid.WalkSpeed = 23
end
end
end
end)
local LuckyBlockSlider = Tabs.Speed:AddSlider("LuckyBlockSlider", {
Title = "Lucky Block Speed",
Default = 1000,
Min = 50,
Max = 3000,
Rounding = 0
})
LuckyBlockSlider:OnChanged(function(Value)
luckyBlockSpeed = Value
end)
local BrainrotSlider = Tabs.Speed:AddSlider("BrainrotSlider", {
Title = "Brainrot Speed",
Default = 1000,
Min = 50,
Max = 3000,
Rounding = 0
})
BrainrotSlider:OnChanged(function(Value)
brainrotSpeed = Value
end)
local PlayerSlider = Tabs.Speed:AddSlider("PlayerSlider", {
Title = "Player Speed",
Default = 23,
Min = 16,
Max = 500,
Rounding = 0
})
PlayerSlider:OnChanged(function(Value)
playerSpeed = Value
end)
-----
-----
local Players = game:GetService("Players")
local ReplicatedStorage = game:GetService("ReplicatedStorage")
local Player = Players.LocalPlayer
local Backpack = Player:WaitForChild("Backpack")
local SellBrainrot = ReplicatedStorage
:WaitForChild("Packages")
:WaitForChild("_Index")
:WaitForChild("sleitnick_knit@1.7.0")
:WaitForChild("knit")
:WaitForChild("Services")
:WaitForChild("InventoryService")
:WaitForChild("RF")
:WaitForChild("SellBrainrot")
local Suffixes = {
K = 1e3, M = 1e6, B = 1e9,
T = 1e12, QA = 1e15, QI = 1e18,
SX = 1e21, SP = 1e24, OC = 1e27, NO = 1e30,
}
local function ParseCashPerSec(str)
if not str then return 0 end
str = tostring(str)
local numPart, suffix = str:match("%+?([%d%.]+)(%a*)%$")
local num = tonumber(numPart) or 0
if suffix and suffix ~= "" then
local mult = Suffixes[suffix:upper()]
if mult then num = num * mult end
end
return num
end
local AllNames = {
"67",
"agarrini_lapalini",
"angel_bisonte_giuppitere",
"angel_job_job_sahur",
"angela_larila",
"angelinni_octossini",
"angelzini_bananini",
"ballerina_cappuccina",
"ballerino_lololo",
"bisonte_giuppitere_giuppitercito",
"blueberrinni_octossini",
"bobrito_bandito",
"bombardino_crocodilo",
"boneca_ambalabu",
"brr_brr_patapim",
"burbaloni_luliloli",
"cacto_hipopotamo",
"capuccino_assassino",
"cathinni_sushinni",
"cavallo_virtuoso",
"chachechi",
"chicleteira_bicicleteira",
"chimpanzini_bananini",
"cocofanto_elefanto",
"devilcino_assassino",
"devilivion",
"devupat_kepat_prekupat",
"diavolero_tralala",
"ding_sahur",
"dojonini_assassini",
"dragoni_cannelloni",
"ferro_sahur",
"frigo_camello",
"frulli_frula",
"ganganzelli_trulala",
"gangster_foottera",
"glorbo_frutodrillo",
"gorgonzilla",
"gorillo_watermellondrillo",
"graipus_medus",
"i2perfectini_foxinini",
"job_job_job_sahur",
"karkirkur",
"ketupat_kepat_prekupat",
"la_vacca_saturno_saturnita",
"las_vaquitas_saturnitas",
"lerulerulerule",
"lirili_larila",
"los_crocodillitos",
"los_tralaleritos",
"luminous_yoni",
"magiani_tankiani",
"malame",
"malamevil",
"mateo",
"meowl",
"orangutini_ananassini",
"orcalero_orcala",
"pipi_potato",
"pot_hotspot",
"raccooni_watermelunni",
"rang_ring_reng",
"rhino_toasterino",
"salamino_penguino",
"spaghetti_tualetti",
"spioniro_golubiro",
"strawberrini_octosini",
"strawberry_elephant",
"svinina_bombobardino",
"ta_ta_ta_ta_sahur",
"te_te_te_te_sahur",
"ti_ti_ti_sahur",
"tigrrullini_watermellini",
"to_to_to_sahur",
"toc_toc_sahur",
"torrtuginni_dragonfrutinni",
"tracoducotulu_delapeladustuz",
"tralalero_tralala",
"trippi_troppi_troppa_trippa",
"trulimero_trulicina",
"udin_din_din_dun",
"yoni",
}
local function GetAllTools()
local tools = {}
for _, item in ipairs(Backpack:GetChildren()) do
if item:IsA("Tool") then table.insert(tools, item) end
end
if Player.Character then
for _, item in ipairs(Player.Character:GetChildren()) do
if item:IsA("Tool") then table.insert(tools, item) end
end
end
return tools
end
local Toggle = Tabs.Sell:AddToggle("SellToggle", {
Title = "Auto Sell Brainrots",
Default = false,
})
local Slider = Tabs.Sell:AddSlider("SellSlider", {
Title = "Sell Interval (s)",
Description = "How often it sells",
Default = 2,
Min = 0,
Max = 10,
Rounding = 0,
})
local FilterDropdown = Tabs.Sell:AddDropdown("FilterDropdown", {
Title = "Filter What to Sell By",
Values = {"Mutation", "Cash/s", "Name"},
Multi = false,
Default = "Mutation",
})
local MutationDropdown = Tabs.Sell:AddDropdown("MutationDropdown", {
Title = "Mutations to Sell",
Values = {"NORMAL", "CANDY", "GOLD", "DIAMOND", "VOID"},
Multi = true,
Default = {},
})
local NameDropdown = Tabs.Sell:AddDropdown("NameDropdown", {
Title = "Names to Sell",
Values = AllNames,
Multi = true,
Default = {},
})
local CashInput = Tabs.Sell:AddInput("CashInput", {
Title = "Sell Below Cash/s",
Default = "0",
Placeholder = "e.g. 1000000",
Numeric = true,
Finished = false,
})
local function ShouldSell(tool)
local filter = Options.FilterDropdown.Value
if filter == "Mutation" then
local mutation = tool:GetAttribute("Mutation")
if not mutation then return false end
return Options.MutationDropdown.Value[mutation] == true
elseif filter == "Name" then
local brainrotType = tool:GetAttribute("BrainrotType")
if not brainrotType then return false end
return Options.NameDropdown.Value[brainrotType] == true
elseif filter == "Cash/s" then
local cashAttr = tool:GetAttribute("CashPerSec")
if not cashAttr then return false end
local toolValue = ParseCashPerSec(tostring(cashAttr))
local threshold = tonumber(Options.CashInput.Value) or 0
return toolValue < threshold
end
return false
end
local function TrySell(tool)
local entityId = tool:GetAttribute("EntityId")
if entityId then
SellBrainrot:InvokeServer(entityId)
end
end
task.spawn(function()
while true do
local interval = Options.SellSlider.Value
task.wait(math.max(interval, 0.1))
if Options.SellToggle.Value then
for _, tool in ipairs(GetAllTools()) do
if ShouldSell(tool) then
TrySell(tool)
task.wait(0.05)
end
end
end
end
end)
-----
-----
Tabs.Webhook:AddParagraph({
Title = "How to Use",
Content = "1. Paste your Discord webhook URL into the Webhook URL field.\n2. Enable the webhook using the toggle.\n3. Choose what to track in Track Filter — select Mutation, Name, or both.\n4. If tracking Mutations, select which mutations to watch for in the Mutations to Track dropdown.\n5. If tracking Names, select which Brainrot names to watch for in the Names to Track dropdown.\n6. Whenever you receive a new brainrot that matches your filters, a notification will be sent to your Discord webhook."
})
local WebhookToggle = Tabs.Webhook:AddToggle("WebhookToggle", {
Title = "Enable Webhook",
Default = false
})
Options.WebhookToggle:SetValue(false)
local enterwebhook = Tabs.Webhook:AddInput("enterwebhook", {
Title = "Webhook URL",
Default = "",
Placeholder = "enter webhook url...",
Numeric = false,
Finished = false,
Callback = function(Value) end
})
local sendfilter = Tabs.Webhook:AddDropdown("sendfilter", {
Title = "Track Filter",
Values = {"Mutation", "Name"},
Multi = true,
Default = {"Mutation"},
})
local selectmutationswebhook = Tabs.Webhook:AddDropdown("selectmutationswebhook", {
Title = "Mutations to Track",
Values = {"NORMAL", "CANDY", "GOLD", "DIAMOND", "VOID"},
Multi = true,
Default = {"GOLD"},
})
local excludePrefixes = {"candy_", "gold_", "diamond_", "void_"}
local brainrotModelNames = {}
local brainrotModelsFolder = game:GetService("ReplicatedStorage"):FindFirstChild("BrainrotModels")
if brainrotModelsFolder then
for _, model in ipairs(brainrotModelsFolder:GetChildren()) do
if model:IsA("Model") then
local name = model.Name
local excluded = false
for _, prefix in ipairs(excludePrefixes) do
if name:lower():sub(1, #prefix) == prefix then
excluded = true
break
end
end
if not excluded then
table.insert(brainrotModelNames, name)
end
end
end
end
local selectnameswebhook = Tabs.Webhook:AddDropdown("selectnameswebhook", {
Title = "Names to Track",
Values = brainrotModelNames,
Multi = true,
Default = {},
})
local recentlySent = {}
local function SendWebhook(url, content)
if not url or url == "" then return end
pcall(function()
request({
Url = url,
Method = "POST",
Headers = { ["Content-Type"] = "application/json" },
Body = game:GetService("HttpService"):JSONEncode({
content = "@everyone " .. content,
allowed_mentions = { parse = {"everyone"} }
})
})
end)
end
local function CheckTool(tool)
if not Options.WebhookToggle.Value then return end
if recentlySent[tool] then return end
recentlySent[tool] = true
task.delay(2, function()
recentlySent[tool] = nil
end)
local webhookURL = Options.enterwebhook.Value
local modes = Options.sendfilter.Value
local mutations = Options.selectmutationswebhook.Value
local selectedNames = Options.selectnameswebhook.Value
if modes["Mutation"] then
local toolMutation = tool:GetAttribute("Mutation")
if toolMutation and mutations[tostring(toolMutation):upper()] then
SendWebhook(webhookURL, string.format(
"💎 **Mutation Match!**\nTool: `%s`\nMutation: `%s`",
tool.Name, tostring(toolMutation)
))
end
end
if modes["Name"] then
local brainrotType = tool:GetAttribute("BrainrotType")
if brainrotType then
for name, selected in next, selectedNames do
if selected and tostring(brainrotType):lower() == name:lower() then
SendWebhook(webhookURL, string.format(
"🔔 **Name Match!**\nTool: `%s`\nBrainrotType: `%s`",
tool.Name, tostring(brainrotType)
))
break
end
end
end
end
end
local function WatchContainer(container)
for _, child in ipairs(container:GetChildren()) do
if child:IsA("Tool") then
CheckTool(child)
end
end
container.ChildAdded:Connect(function(child)
if child:IsA("Tool") then
task.wait()
CheckTool(child)
end
end)
end
local Players = game:GetService("Players")
local LocalPlayer = Players.LocalPlayer
WatchContainer(LocalPlayer.Backpack)
local function OnCharacterAdded(character)
WatchContainer(character)
end
if LocalPlayer.Character then
OnCharacterAdded(LocalPlayer.Character)
end
LocalPlayer.CharacterAdded:Connect(OnCharacterAdded)
-----
-----
Tabs.Farm:AddSection("Quests")
local Players = game:GetService("Players")
local LocalPlayer = Players.LocalPlayer
local questRunning = false
local function getQuestFrame(questType)
local gui = LocalPlayer.PlayerGui
local base = gui.Windows.Event.Frame.Frame.Windows.Quests.Frame.ScrollingFrame
if questType == "Daily" then
return base.DailyQuests.Frame.Frame.Frame
else
return base.HourlyQuests.Frame.Frame.Frame
end
end
local function getUnclaimedQuests()
local quests = {}
for _, questType in ipairs({"Hourly", "Daily"}) do
local frame = getQuestFrame(questType)
if frame then
for _, child in ipairs(frame:GetChildren()) do
local claimed = child:FindFirstChild("Claimed")
local title = child:FindFirstChild("Title")
if claimed and title and not claimed.Visible then
table.insert(quests, {
claimed = claimed,
text = title.Text
})
end
end
end
end
return quests
end
local function getMyPlotNumbers()
local plots = workspace:FindFirstChild("Plots")
if not plots then return nil, nil end
for i = 1, 5 do
for j = 1, 5 do
local row = plots:FindFirstChild(tostring(i))
local plot = row and row:FindFirstChild(tostring(j))
if plot then
for _, obj in ipairs(plot:GetChildren()) do
if obj:IsA("BillboardGui") and obj.Name:find(LocalPlayer.Name) then
return tostring(i), tostring(j)
end
end
end
end
end
return nil, nil
end
local function farmLoop(claimedButton, stopCondition)
local modelsFolder = workspace:WaitForChild("RunningModels")
local target = workspace:WaitForChild("CollectZones"):WaitForChild("base14")
while questRunning and not claimedButton.Visible do
if stopCondition and stopCondition() then break end
local character = LocalPlayer.Character or LocalPlayer.CharacterAdded:Wait()
local root = character:WaitForChild("HumanoidRootPart")
local humanoid = character:WaitForChild("Humanoid")
root.CFrame = CFrame.new(715, 39, -2122)
task.wait(0.3)
if not questRunning then return end
humanoid:MoveTo(Vector3.new(709, 39, -2122))
local ownedModel = nil
repeat
task.wait(0.3)
if not questRunning then return end
for _, obj in ipairs(modelsFolder:GetChildren()) do
if obj:IsA("Model") and obj:GetAttribute("OwnerId") == LocalPlayer.UserId then
ownedModel = obj
break
end
end
until ownedModel ~= nil or not questRunning or claimedButton.Visible
if not questRunning or claimedButton.Visible then return end
task.wait(0.2)
if ownedModel.PrimaryPart then
ownedModel:SetPrimaryPartCFrame(target.CFrame)
else
local part = ownedModel:FindFirstChildWhichIsA("BasePart")
if part then part.CFrame = target.CFrame end
end
task.wait(0.7)
if not questRunning then return end
if ownedModel and ownedModel.Parent == modelsFolder then
if ownedModel.PrimaryPart then
ownedModel:SetPrimaryPartCFrame(target.CFrame * CFrame.new(0, -8, 0))
else
local part = ownedModel:FindFirstChildWhichIsA("BasePart")
if part then part.CFrame = target.CFrame * CFrame.new(0, -8, 0) end
end
end
repeat
task.wait(0.4)
if not questRunning then return end
until claimedButton.Visible or (ownedModel == nil or ownedModel.Parent ~= modelsFolder)
if not questRunning or claimedButton.Visible then return end
local oldCharacter = LocalPlayer.Character
repeat
task.wait(0.3)
if not questRunning then return end
until claimedButton.Visible or (LocalPlayer.Character ~= oldCharacter and LocalPlayer.Character ~= nil)
if not questRunning or claimedButton.Visible then return end
task.wait(0.4)
if not questRunning then return end
local newChar = LocalPlayer.Character
local newRoot = newChar:WaitForChild("HumanoidRootPart")
newRoot.CFrame = CFrame.new(737, 39, -2118)
task.wait(2.1)
end
end
local function doGetBrainrotsQuest(claimedButton)
farmLoop(claimedButton, nil)
end
local function doMutationQuest(claimedButton, mutation)
local gotTool = false
local function checkTool(tool)
if claimedButton.Visible then return end
local mut = tool:GetAttribute("Mutation")
if mut and tostring(mut):upper() == mutation:upper() then
gotTool = true
end
end
local backpack = LocalPlayer:WaitForChild("Backpack")
local toolConn = backpack.ChildAdded:Connect(function(child)
if child:IsA("Tool") then checkTool(child) end
end)
local charConn
if LocalPlayer.Character then
charConn = LocalPlayer.Character.ChildAdded:Connect(function(child)
if child:IsA("Tool") then checkTool(child) end
end)
end
farmLoop(claimedButton, nil)
toolConn:Disconnect()
if charConn then charConn:Disconnect() end
end
local function doLevelUpQuest(claimedButton, times)
if not questRunning then return end
local pi, pj = getMyPlotNumbers()
if not pi or not pj then return end
local containers = workspace.Plots[pi][pj]:FindFirstChild("Containers")
if not containers then return end
local remote = game:GetService("ReplicatedStorage")
:WaitForChild("Packages")
:WaitForChild("_Index")
:WaitForChild("sleitnick_knit@1.7.0")
:WaitForChild("knit")
:WaitForChild("Services")
:WaitForChild("ContainerService")
:WaitForChild("RF")
:WaitForChild("UpgradeBrainrot")
local done = 0
for i = 1, 30 do
if not questRunning or claimedButton.Visible or done >= times then break end
local containerSlot = containers:FindFirstChild(tostring(i))
if containerSlot then
for j = 1, 30 do
if not questRunning or claimedButton.Visible or done >= times then break end
local innerSlot = containerSlot:FindFirstChild(tostring(j))
if innerSlot then
local innerModelFolder = innerSlot:FindFirstChild("InnerModel")
local collection = innerSlot:FindFirstChild("Collection")
local collectionPad = collection and collection:FindFirstChild("CollectionPad")
if innerModelFolder and collectionPad and collectionPad.Color == Color3.fromRGB(64, 203, 0) then
local char = LocalPlayer.Character
local hrp = char and char:FindFirstChild("HumanoidRootPart")
if hrp then
hrp.CFrame = collectionPad.CFrame + Vector3.new(0, 3, 0)
end
task.wait(0.3)
if not questRunning then return end
for _ = 1, times do
if not questRunning or claimedButton.Visible or done >= times then break end
pcall(function()
remote:InvokeServer(tostring(i))
end)
done += 1
task.wait(0.3)
end
end
end
end
end
end
end
local function parseQuestText(text)
local brainrotCount = text:match("Get (%d+) Brainrots?$")
if brainrotCount then
return "brainrots", tonumber(brainrotCount)
end
local levelCount = text:match("[Ll]evel up [Bb]rainrots? (%d+) times?")
if levelCount then
return "levelup", tonumber(levelCount)
end
local count, mutation = text:match("Get (%d+) (%w+) Brainrots?")
if count and mutation then
local validMutations = {NORMAL=true, CANDY=true, GOLD=true, DIAMOND=true, VOID=true}
if validMutations[mutation:upper()] then
return "mutation", tonumber(count), mutation:upper()
end
end
return "unknown"
end
local function runQuests()
questRunning = true
local quests = getUnclaimedQuests()
for _, quest in ipairs(quests) do
if not questRunning then break end
if quest.claimed.Visible then continue end
local questType, value, extra = parseQuestText(quest.text)
if questType == "brainrots" then
doGetBrainrotsQuest(quest.claimed)
elseif questType == "levelup" then
doLevelUpQuest(quest.claimed, value)
elseif questType == "mutation" then
doMutationQuest(quest.claimed, extra)
end
task.wait(0.5)
end
questRunning = false
end
local QuestToggle = Tabs.Farm:AddToggle("QuestToggle", {
Title = "Auto Complete BP Quests",
Default = false
})
QuestToggle:OnChanged(function(state)
if state then
if not questRunning then
task.spawn(runQuests)
end
else
questRunning = false
end
end)
Options.QuestToggle:SetValue(false)
-----
-----
Tabs.Upgrades:AddSection("Brainrot Upgrades")
local upgradeRunning = false
local upgradeLevel = 3
local LevelSlider = Tabs.Upgrades:AddSlider("UpgradeLevelSlider", {
Title = "Max Upgrade Level",
Default = 25,
Min = 1,
Max = 50,
Rounding = 0,
Callback = function(Value)
upgradeLevel = Value
end
})
LevelSlider:OnChanged(function(Value)
upgradeLevel = Value
end)
LevelSlider:SetValue(3)
local remote = game:GetService("ReplicatedStorage")
:WaitForChild("Packages")
:WaitForChild("_Index")
:WaitForChild("sleitnick_knit@1.7.0")
:WaitForChild("knit")
:WaitForChild("Services")
:WaitForChild("ContainerService")
:WaitForChild("RF")
:WaitForChild("UpgradeBrainrot")
local function getMyPlotNumbers()
local plots = workspace:FindFirstChild("Plots")
if not plots then return nil, nil end
for i = 1, 5 do
for j = 1, 5 do
local row = plots:FindFirstChild(tostring(i))
local plot = row and row:FindFirstChild(tostring(j))
if plot then
for _, obj in ipairs(plot:GetChildren()) do
if obj:IsA("BillboardGui") and obj.Name:find(game.Players.LocalPlayer.Name) then
return tostring(i), tostring(j)
end
end
end
end
end
return nil, nil
end
local function runUpgrades()
local pi, pj = getMyPlotNumbers()
if not pi or not pj then return end
local containers = workspace.Plots[pi][pj]:FindFirstChild("Containers")
if not containers then return end
while upgradeRunning do
local anyUpgraded = false
for i = 1, 30 do
if not upgradeRunning then return end
local containerSlot = containers:FindFirstChild(tostring(i))
if not containerSlot then continue end
for j = 1, 30 do
if not upgradeRunning then return end
local innerSlot = containerSlot:FindFirstChild(tostring(j))
if not innerSlot then continue end
local innerModel = innerSlot:FindFirstChild("InnerModel")
if not innerModel then continue end
local brainrot = innerModel:FindFirstChildWhichIsA("Model")
if not brainrot then continue end
local level = brainrot:GetAttribute("BrainrotLevel")
if not level then continue end
if level < upgradeLevel then
local currentLevel = brainrot:GetAttribute("BrainrotLevel")
if currentLevel and currentLevel < upgradeLevel then
local args = { tostring(i) }
pcall(function()
remote:InvokeServer(unpack(args))
end)
anyUpgraded = true
task.wait(0.3)
local newLevel = brainrot:GetAttribute("BrainrotLevel")
if newLevel and newLevel >= upgradeLevel then
end
end
end
end
end
if not anyUpgraded then
task.wait(1)
end
end
end
local UpgradeToggle = Tabs.Upgrades:AddToggle("UpgradeToggle", {
Title = "Auto Upgrade Brainrots",
Default = false
})
UpgradeToggle:OnChanged(function(state)
upgradeRunning = state
if state then
task.spawn(runUpgrades)
end
end)
Options.UpgradeToggle:SetValue(false)
-----
-----
-----
-----
SaveManager:SetLibrary(Fluent)
InterfaceManager:SetLibrary(Fluent)
SaveManager:IgnoreThemeSettings()
SaveManager:SetIgnoreIndexes({})
InterfaceManager:SetFolder("FluentScriptHub")
SaveManager:SetFolder("FluentScriptHub/specific-game")
InterfaceManager:BuildInterfaceSection(Tabs.Settings)
SaveManager:BuildConfigSection(Tabs.Settings)
Window:SelectTab(1)
SaveManager:LoadAutoloadConfig()
endNo comments yet for this script.



