--[[ WARNING: Heads up! This script has not been verified by ScriptBlox. Use at your own risk! ]] local success, err = pcall(function() 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 VirtualInputManager = game:GetService("VirtualInputManager") local ReplicatedStorage = game:GetService("ReplicatedStorage") local Players = game:GetService("Players") local player = Players.LocalPlayer local Window = Fluent:CreateWindow({ Title = "pulled. Be a Lucky Block [Absolute Final Boss Fix]", 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 -- === MISC TAB === pcall(function() 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 pcall(function() claimGift:InvokeServer(reward) end) task.wait(0.25) end task.wait(1) end end) end) Options.ACPR:SetValue(false) end) pcall(function() local claim = ReplicatedStorage :WaitForChild("Packages") :WaitForChild("_Index") :WaitForChild("sleitnick_knit@1.7.0") :WaitForChild("knit") :WaitForChild("Services") :WaitForChild("SeasonPassService") :WaitForChild("RF") :WaitForChild("ClaimPassReward") local runningPass = false local ACEPR = Tabs.Misc:AddToggle("ACEPR", { Title = "Auto Claim Event Pass Rewards", Default = false }) ACEPR:OnChanged(function(state) runningPass = state if not state then return end task.spawn(function() while runningPass 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 runningPass 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 runningPass and locked and locked.Visible do task.wait(0.2) end if runningPass and claimed and claimed.Visible then continue end if runningPass 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) end) pcall(function() 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 }) end) pcall(function() 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 runningBuy = false local ABL = Tabs.Misc:AddToggle("ABL", { Title = "Auto Buy Best Luckyblock", Default = false }) ABL:OnChanged(function(state) runningBuy = state if not state then return end task.spawn(function() while runningBuy 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) end) 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 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 ReplicatedStorage:WaitForChild("Packages"):WaitForChild("_Index"):WaitForChild("sleitnick_knit@1.7.0"):WaitForChild("knit"):WaitForChild("Services"):WaitForChild("InventoryService"):WaitForChild("RF"):WaitForChild("SellBrainrot"):InvokeServer(entityId) 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 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 ReplicatedStorage:WaitForChild("Packages"):WaitForChild("_Index"):WaitForChild("sleitnick_knit@1.7.0"):WaitForChild("knit"):WaitForChild("Services"):WaitForChild("ContainerService"):WaitForChild("RF"):WaitForChild("PickupBrainrot"):InvokeServer(tostring(i)) 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 }) -- === UPGRADES TAB === pcall(function() Tabs.Upgrades:AddSection("Speed Upgrades") 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 runningSpeedUp = 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", 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) runningSpeedUp = state if not state then return end task.spawn(function() while runningSpeedUp do pcall(function() upgrade:InvokeServer("MovementSpeed", amount) end) task.wait(delayTime) end end) end) Options.AMS:SetValue(false) end) -- === FARM TAB === pcall(function() local rebirth = ReplicatedStorage :WaitForChild("Packages") :WaitForChild("_Index") :WaitForChild("sleitnick_knit@1.7.0") :WaitForChild("knit") :WaitForChild("Services") :WaitForChild("RebirthService") :WaitForChild("RF") :WaitForChild("Rebirth") local runningRebirth = false local AR = Tabs.Farm:AddToggle("AR", { Title = "Auto Rebirth", Default = false }) AR:OnChanged(function(state) runningRebirth = state if not state then return end task.spawn(function() while runningRebirth do pcall(function() rebirth:InvokeServer() end) task.wait(1) end end) end) Options.AR:SetValue(false) end) local storedParts = {} local folder = workspace:WaitForChild("BossTouchDetectors", 5) if folder then local RBTD = Tabs.Farm:AddToggle("RBTD", { Title = "Remove ALL Intermediate Bosses", Description = "Удаляет абсолютно все детекторы, оставляя только самый последний финиш (абсолютный конец)", Default = false }) RBTD:OnChanged(function(state) if state then storedParts = {} -- Находим все зоны/базы в папке, чтобы оставить только самую последнюю (максимальный индекс по имени или координате) local allChildren = folder:GetChildren() table.sort(allChildren, function(a, b) local numA = tonumber(a.Name:match("%d+")) or 0 local numB = tonumber(b.Name:match("%d+")) or 0 return numA < numB end) -- Последний элемент считаем абсолютным финалом, остальные временно удаляем local ultimateTarget = allChildren[#allChildren] for _, obj in ipairs(allChildren) do if obj ~= ultimateTarget 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) end -- СУПЕРФАРМ С СЕРЬЕЗНЫМ ПОИСКОМ АБСОЛЮТНОГО ФИНАЛА (ПРОПУСКАЕТ ВСЕХ ДО САМОГО КОНЦА) local runningSafeEnd = false local SafeEndToggle = Tabs.Farm:AddToggle("SafeEndToggle", { Title = "Fly to Absolute Ultimate End", Description = "Автофарм со сканнером самого дальнего финиша. Никаких остановок посередине!", Default = false }) SafeEndToggle:OnChanged(function(state) runningSafeEnd = state if state then task.spawn(function() while runningSafeEnd do local character = player.Character or player.CharacterAdded:Wait() local humanoid = character:WaitForChild("Humanoid") local userId = player.UserId local modelsFolder = workspace:WaitForChild("RunningModels") local collectZones = workspace:WaitForChild("CollectZones") if not modelsFolder or not collectZones then break end -- ДИНАМИЧЕСКИЙ ПОИСК САМОГО ДАЛЬНЕГО БОССА/ЗОНЫ (САМЫЙ КОНЕЦ КАРТЫ) local zones = collectZones:GetChildren() table.sort(zones, function(a, b) local numA = tonumber(a.Name:match("%d+")) or 0 local numB = tonumber(b.Name:match("%d+")) or 0 if numA ~= numB then return numA > numB -- Сортируем по возрастанию номеров, выбираем максимальный end return a.Position.Z < b.Position.Z end) local target = zones[1] -- Это будет абсолютно самый последний босс на карте if not target then task.wait(1) continue end humanoid:MoveTo(Vector3.new(707.6, 39.3, -2122.5)) task.wait(0.8) local ownedModel = nil local timeout = tick() + 4 repeat task.wait(0.1) 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 runningSafeEnd or tick() > timeout if not runningSafeEnd then break end if ownedModel then pcall(function() ownedModel:SetAttribute("MovementSpeed", 800) end) -- Повышенная скорость полета до финала task.wait(0.1) VirtualInputManager:SendKeyEvent(true, Enum.KeyCode.W, false, game) while runningSafeEnd and ownedModel.Parent == modelsFolder do local currentPart = ownedModel.PrimaryPart or ownedModel:FindFirstChildWhichIsA("BasePart") if currentPart and target then -- Полет напролом к самому последнему финишу local targetPos = Vector3.new(target.Position.X, currentPart.Position.Y, target.Position.Z) local direction = (targetPos - currentPart.Position) if direction.Magnitude > 5 then local nextPos = currentPart.Position + direction.Unit * math.min(300 * task.wait(), direction.Magnitude) nextPos = Vector3.new(nextPos.X, 39.3, nextPos.Z) if ownedModel.PrimaryPart then ownedModel:SetPrimaryPartCFrame(CFrame.new(nextPos)) else currentPart.CFrame = CFrame.new(nextPos) end else break end else break end end VirtualInputManager:SendKeyEvent(false, Enum.KeyCode.W, false, game) else VirtualInputManager:SendKeyEvent(false, Enum.KeyCode.W, false, game) end task.wait(0.3) -- Пауза перед новым циклом фарма бургеров end VirtualInputManager:SendKeyEvent(false, Enum.KeyCode.W, false, game) end) else VirtualInputManager:SendKeyEvent(false, Enum.KeyCode.W, false, game) end end) Options.SafeEndToggle:SetValue(false) Tabs.Farm:AddSection("Farming") local runningAutoFarm = false local AutoFarmToggle = Tabs.Farm:AddToggle("AutoFarmToggle", { Title = "Auto Farm Best Brainrots (Instant Loop)", Default = false }) AutoFarmToggle:OnChanged(function(state) runningAutoFarm = state if state then task.spawn(function() while runningAutoFarm do local character = player.Character or player.CharacterAdded:Wait() local humanoid = character:WaitForChild("Humanoid") local userId = player.UserId local modelsFolder = workspace:WaitForChild("RunningModels") local collectZones = workspace:WaitForChild("CollectZones") if not modelsFolder or not collectZones then break end local zones = collectZones:GetChildren() table.sort(zones, function(a, b) local numA = tonumber(a.Name:match("%d+")) or 0 local numB = tonumber(b.Name:match("%d+")) or 0 return numA > numB end) local target = zones[1] if not target then task.wait(1) continue end humanoid:MoveTo(Vector3.new(707.6, 39.3, -2122.5)) task.wait(0.8) local ownedModel = nil local timeout = tick() + 3 repeat task.wait(0.1) 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 runningAutoFarm or tick() > timeout if not runningAutoFarm then break end if ownedModel then pcall(function() ownedModel:SetAttribute("MovementSpeed", 800) end) task.wait(0.1) VirtualInputManager:SendKeyEvent(true, Enum.KeyCode.W, false, game) while runningAutoFarm and ownedModel.Parent == modelsFolder do local currentPart = ownedModel.PrimaryPart or ownedModel:FindFirstChildWhichIsA("BasePart") if currentPart and target then local targetPos = Vector3.new(target.Position.X, currentPart.Position.Y, target.Position.Z) local direction = (targetPos - currentPart.Position) if direction.Magnitude > 6 then local nextPos = currentPart.Position + direction.Unit * math.min(250 * task.wait(), direction.Magnitude) nextPos = Vector3.new(nextPos.X, 39.3, nextPos.Z) if ownedModel.PrimaryPart then ownedModel:SetPrimaryPartCFrame(CFrame.new(nextPos)) else currentPart.CFrame = CFrame.new(nextPos) end else break end else break end end VirtualInputManager:SendKeyEvent(false, Enum.KeyCode.W, false, game) else VirtualInputManager:SendKeyEvent(false, Enum.KeyCode.W, false, game) end task.wait(0.1) end VirtualInputManager:SendKeyEvent(false, Enum.KeyCode.W, false, game) end) else VirtualInputManager:SendKeyEvent(false, Enum.KeyCode.W, false, game) end end) Options.AutoFarmToggle:SetValue(false) -- === SPEED TAB === local runningSpeed = 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 runningSpeed then applySpeed() end task.wait(0.2) end end) Tabs.Speed:AddDropdown("SpeedMethod", { Title = "Speed Method", Values = {"Luckyblock", "Brainrot", "Player"}, Multi = true, Default = {"Luckyblock"}, }) local MovementToggle = Tabs.Speed:AddToggle("MovementToggle", { Title = "Enable Custom Speed", Default = false }) MovementToggle:OnChanged(function() runningSpeed = Options.MovementToggle.Value if not runningSpeed 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) Tabs.Speed:AddSlider("LuckyBlockSlider", { Title = "Lucky Block Speed", Default = 1000, Min = 50, Max = 3000, Rounding = 0 }):OnChanged(function(Value) luckyBlockSpeed = Value end) Tabs.Speed:AddSlider("BrainrotSlider", { Title = "Brainrot Speed", Default = 1000, Min = 50, Max = 3000, Rounding = 0 }):OnChanged(function(Value) brainrotSpeed = Value end) Tabs.Speed:AddSlider("PlayerSlider", { Title = "Player Speed", Default = 23, Min = 16, Max = 500, Rounding = 0 }):OnChanged(function(Value) playerSpeed = Value end) -- === SELL TAB === pcall(function() 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 Tabs.Sell:AddToggle("SellToggle", { Title = "Auto Sell Brainrots", Default = false }) Tabs.Sell:AddSlider("SellSlider", { Title = "Sell Interval (s)", Description = "How often it sells", Default = 2, Min = 0, Max = 10, Rounding = 0 }) Tabs.Sell:AddDropdown("FilterDropdown", { Title = "Filter What to Sell By", Values = {"Mutation", "Cash/s", "Name"}, Multi = false, Default = "Mutation" }) Tabs.Sell:AddDropdown("MutationDropdown", { Title = "Mutations to Sell", Values = {"NORMAL", "CANDY", "GOLD", "DIAMOND", "VOID"}, Multi = true, Default = {} }) Tabs.Sell:AddDropdown("NameDropdown", { Title = "Names to Sell", Values = AllNames, Multi = true, Default = {} }) 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 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 local entityId = tool:GetAttribute("EntityId") if entityId then SellBrainrot:InvokeServer(entityId) end task.wait(0.05) end end end end end) end) -- === WEBHOOK TAB === 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." }) Tabs.Webhook:AddToggle("WebhookToggle", { Title = "Enable Webhook", Default = false }) Options.WebhookToggle:SetValue(false) Tabs.Webhook:AddInput("enterwebhook", { Title = "Webhook URL", Default = "", Placeholder = "enter webhook url...", Numeric = false, Finished = false, Callback = function(Value) end }) Tabs.Webhook:AddDropdown("sendfilter", { Title = "Track Filter", Values = {"Mutation", "Name"}, Multi = true, Default = {"Mutation"} }) Tabs.Webhook:AddDropdown("selectmutationswebhook", {Title = "Mutations to Track", Values = {"NORMAL", "CANDY", "GOLD", "DIAMOND", "VOID"}, Multi = true, Default = {"GOLD"} }) -- === SETTINGS TAB === SaveManager:SetLibrary(Fluent) InterfaceManager:SetLibrary(Fluent) SaveManager:IgnoreThemeSettings() SaveManager:SetIgnoreIndexes({}) InterfaceManager:BuildInterfaceSection(Tabs.Settings) SaveManager:BuildConfigSection(Tabs.Settings) Window:SelectTab(1) Fluent:Notify({ Title = "Ultimate End Loaded!", Content = "Скрипт полностью перенастроен на поиск абсолютного финального босса и бесконечный фарм бургеров!", Duration = 5 }) SaveManager:LoadAutoloadConfig() end end) if not success then warn("Ошибка запуска скрипта: ", err) end