-- [[ Rscripts Risk Notice ]] -- This script is not verified by rscripts.net. Deal with caution. -- -- Stay safe: -- • Never log in on unofficial Roblox sites or lookalike domains. -- • Real Roblox links use roblox.com (check the .com ending). -- • Treat fake Roblox login / "claim reward" pages as phishing. -- [[ End Rscripts Risk Notice ]] --[[ ══════════════════════════════════════════════════════ Brookhaven Event Halloween 🎃 Auto Farm de Caramelos (CandyCorn) ══════════════════════════════════════════════════════ ]] local Players = game:GetService("Players") local RunService = game:GetService("RunService") local TweenService = game:GetService("TweenService") local lp = Players.LocalPlayer local function getRoot() local c = lp.Character if not c then return nil end return c:FindFirstChild("HumanoidRootPart") end local function getHum() local c = lp.Character if not c then return nil end return c:FindFirstChildOfClass("Humanoid") end --// Config local autoTP = false local flyOn = false local noclipOn = false local espOn = false local whOn = false local tpSpeed = 0.18 -- Más rápido (Brookhaven no tiene anti-tp fuerte en este evento) local flySpeed = 60 local CANDY_Y = 2.5 -- Altura sobre el caramelo local MIN_DELAY = 0.12 local lastCollect = 0 local visited = {} local flyBV = nil local noclipConn = nil local espBoxes = {} --// Buscar todos los caramelos local function getCandies() local list = {} for _, obj in pairs(workspace:GetDescendants()) do if obj.Name:match("^CandyCorn") and (obj:IsA("BasePart") or obj:IsA("Model")) then local part = obj:IsA("BasePart") and obj or obj:FindFirstChildWhichIsA("BasePart") if part then table.insert(list, part) end end end return list end local function posKey(p) return math.floor(p.X) .. "_" .. math.floor(p.Y) .. "_" .. math.floor(p.Z) end local function isVisited(part) local k = posKey(part.Position) local t = visited[k] return t and (tick() - t) < 3 end local function mark(part) visited[posKey(part.Position)] = tick() end local function closest() local root = getRoot() if not root then return nil, 0 end local candies = getCandies() local best, bestD = nil, 99999 for _, candy in pairs(candies) do if not isVisited(candy) then local d = (candy.Position - root.Position).Magnitude if d < bestD then bestD = d best = candy end end end return best, #candies end local function safeWait() local elapsed = tick() - lastCollect local need = math.max(MIN_DELAY, tpSpeed) local extra = math.random(2, 8) / 100 if elapsed < need then task.wait(need - elapsed + extra) else task.wait(extra) end end local function tpTo(part) local root = getRoot() if not root or not part or not part.Parent then return end safeWait() -- Teleport encima del caramelo root.CFrame = CFrame.new(part.Position + Vector3.new(0, CANDY_Y, 0)) mark(part) lastCollect = tick() -- Pequeño movimiento para asegurar que se recolecte task.wait(0.05) if root and part.Parent then root.CFrame = CFrame.new(part.Position + Vector3.new(0.3, CANDY_Y - 0.4, 0.2)) task.wait(0.04) root.CFrame = CFrame.new(part.Position + Vector3.new(0, CANDY_Y, 0)) end end --// Noclip local function setNoclip(on) noclipOn = on if noclipConn then noclipConn:Disconnect() noclipConn = nil end if on then noclipConn = RunService.Stepped:Connect(function() local c = lp.Character if not c then return end for _, p in pairs(c:GetDescendants()) do if p:IsA("BasePart") then p.CanCollide = false end end end) end end local function stopFly() if flyBV then pcall(function() flyBV:Destroy() end) flyBV = nil end local h = getHum() if h then h.PlatformStand = false end end local function stopAll() autoTP = false flyOn = false stopFly() end --// ESP local function clearESP() for _, b in pairs(espBoxes) do pcall(function() b:Destroy() end) end espBoxes = {} end local function updateESP() clearESP() if not espOn then return end for _, candy in pairs(getCandies()) do local box = Instance.new("SelectionBox") box.Adornee = candy box.LineThickness = 0.06 box.Color3 = Color3.fromRGB(255, 140, 0) -- Naranja Halloween box.Parent = candy table.insert(espBoxes, box) if whOn then local h = Instance.new("Highlight") h.Adornee = candy h.FillColor = Color3.fromRGB(255, 120, 0) h.OutlineColor = Color3.fromRGB(255, 255, 100) h.FillTransparency = 0.35 h.DepthMode = Enum.HighlightDepthMode.AlwaysOnTop h.Parent = candy table.insert(espBoxes, h) end end end --// AUTO TP local function startTP() stopAll() autoTP = true task.spawn(function() while autoTP do local candy, total = closest() if status then status.Text = "🎃 TP | Caramelos: " .. total end if candy then tpTo(candy) else -- Limpiar visitados antiguos for k, t in pairs(visited) do if tick() - t > 5 then visited[k] = nil end end task.wait(0.25) end task.wait(math.max(0.08, tpSpeed * 0.4)) end end) end --// BOT FLY local function startFly() stopAll() flyOn = true setNoclip(true) task.spawn(function() while flyOn do local root = getRoot() local h = getHum() if root and h then h.PlatformStand = true if not flyBV or not flyBV.Parent then flyBV = Instance.new("BodyVelocity") flyBV.MaxForce = Vector3.new(1e10, 1e10, 1e10) flyBV.Velocity = Vector3.zero flyBV.Parent = root end local candy, total = closest() if status then status.Text = "🦇 FLY | Caramelos: " .. total end if candy and candy.Parent then local target = candy.Position + Vector3.new(0, CANDY_Y, 0) local t0 = tick() while flyOn and candy.Parent and (tick() - t0) < 4 do local dir = target - root.Position if dir.Magnitude < 4 then flyBV.Velocity = Vector3.zero tpTo(candy) break end flyBV.Velocity = dir.Unit * flySpeed task.wait(0.03) end mark(candy) if flyBV then flyBV.Velocity = Vector3.zero end task.wait(0.12) else for k, t in pairs(visited) do if tick() - t > 5 then visited[k] = nil end end if flyBV then flyBV.Velocity = Vector3.zero end task.wait(0.15) end end task.wait(0.06) end end) end --// ================= GUI ================= local gui = Instance.new("ScreenGui") gui.Name = "BrookhavenHalloween" gui.ResetOnSpawn = false gui.Parent = game:GetService("CoreGui") local main = Instance.new("Frame") main.Size = UDim2.new(0, 260, 0, 430) main.Position = UDim2.new(0.5, -130, 0.18, 0) main.BackgroundColor3 = Color3.fromRGB(20, 12, 28) main.BorderSizePixel = 0 main.Active = true main.Draggable = true main.Parent = gui Instance.new("UICorner", main).CornerRadius = UDim.new(0, 12) local stroke = Instance.new("UIStroke") stroke.Color = Color3.fromRGB(255, 120, 0) stroke.Thickness = 1.8 stroke.Parent = main local title = Instance.new("TextLabel") title.Size = UDim2.new(1, -70, 0, 32) title.Position = UDim2.new(0, 12, 0, 6) title.BackgroundTransparency = 1 title.Text = "🎃 Brookhaven Halloween" title.TextColor3 = Color3.fromRGB(255, 160, 40) title.TextSize = 15 title.Font = Enum.Font.GothamBold title.TextXAlignment = Enum.TextXAlignment.Left title.Parent = main local function winBtn(txt, x, col) local b = Instance.new("TextButton") b.Size = UDim2.new(0, 28, 0, 26) b.Position = UDim2.new(1, x, 0, 6) b.BackgroundColor3 = col b.Text = txt b.TextColor3 = Color3.new(1,1,1) b.TextSize = 14 b.Font = Enum.Font.GothamBold b.Parent = main Instance.new("UICorner", b).CornerRadius = UDim.new(0, 6) return b end local minBtn = winBtn("─", -64, Color3.fromRGB(60, 40, 20)) local closeBtn = winBtn("✕", -30, Color3.fromRGB(180, 40, 40)) local function btn(text, y, col) local b = Instance.new("TextButton") b.Size = UDim2.new(0.88, 0, 0, 34) b.Position = UDim2.new(0.06, 0, 0, y) b.BackgroundColor3 = col b.Text = text b.TextColor3 = Color3.new(1,1,1) b.TextSize = 13 b.Font = Enum.Font.GothamBold b.Parent = main Instance.new("UICorner", b).CornerRadius = UDim.new(0, 8) return b end local bTP = btn("AUTO TP: OFF", 45, Color3.fromRGB(50, 35, 60)) local bFly = btn("BOT FLY: OFF", 85, Color3.fromRGB(50, 35, 60)) local bNoclip = btn("NOCLIP: OFF", 125, Color3.fromRGB(50, 35, 60)) local bManual = btn("TP MANUAL", 165, Color3.fromRGB(180, 90, 20)) local bESP = btn("ESP: OFF", 205, Color3.fromRGB(50, 35, 60)) local bWH = btn("WALLHACK: OFF", 245, Color3.fromRGB(50, 35, 60)) local bStop = btn("DETENER TODO", 285, Color3.fromRGB(160, 40, 40)) local function label(y, text) local l = Instance.new("TextLabel") l.Size = UDim2.new(0.88, 0, 0, 16) l.Position = UDim2.new(0.06, 0, 0, y) l.BackgroundTransparency = 1 l.Text = text l.TextColor3 = Color3.fromRGB(200, 170, 140) l.TextSize = 12 l.Font = Enum.Font.Gotham l.Parent = main return l end local lblTP = label(325, "Velocidad TP: 0.18s (Rápido)") local lblFly = label(365, "Velocidad Fly: 60") local function small(x, y, t) local b = Instance.new("TextButton") b.Size = UDim2.new(0, 50, 0, 24) b.Position = UDim2.new(x, 0, 0, y) b.BackgroundColor3 = Color3.fromRGB(60, 40, 30) b.Text = t b.TextColor3 = Color3.new(1,1,1) b.TextSize = 14 b.Font = Enum.Font.GothamBold b.Parent = main Instance.new("UICorner", b).CornerRadius = UDim.new(0, 6) return b end local tpM = small(0.06, 343, "-") local tpP = small(0.72, 343, "+") local flM = small(0.06, 383, "-") local flP = small(0.72, 383, "+") status = Instance.new("TextLabel") status.Size = UDim2.new(0.88, 0, 0, 18) status.Position = UDim2.new(0.06, 0, 0, 408) status.BackgroundTransparency = 1 status.Text = "🎃 Cargando caramelos..." status.TextColor3 = Color3.fromRGB(100, 255, 120) status.TextSize = 12 status.Font = Enum.Font.Gotham status.Parent = main -- Botón flotante para reabrir local restore = Instance.new("TextButton") restore.Size = UDim2.new(0, 50, 0, 50) restore.Position = UDim2.new(0, 15, 0.5, -25) restore.BackgroundColor3 = Color3.fromRGB(255, 120, 0) restore.Text = "🎃" restore.TextSize = 22 restore.Visible = false restore.Parent = gui Instance.new("UICorner", restore).CornerRadius = UDim.new(1, 0) --// Conexiones de botones bTP.Activated:Connect(function() if autoTP then autoTP = false bTP.Text = "AUTO TP: OFF" bTP.BackgroundColor3 = Color3.fromRGB(50, 35, 60) status.Text = "TP OFF" else bTP.Text = "AUTO TP: ON" bTP.BackgroundColor3 = Color3.fromRGB(30, 140, 50) startTP() end end) bFly.Activated:Connect(function() if flyOn then flyOn = false stopFly() bFly.Text = "BOT FLY: OFF" bFly.BackgroundColor3 = Color3.fromRGB(50, 35, 60) status.Text = "FLY OFF" else bFly.Text = "BOT FLY: ON" bFly.BackgroundColor3 = Color3.fromRGB(30, 140, 50) bNoclip.Text = "NOCLIP: ON" bNoclip.BackgroundColor3 = Color3.fromRGB(30, 140, 50) startFly() end end) bNoclip.Activated:Connect(function() setNoclip(not noclipOn) bNoclip.Text = noclipOn and "NOCLIP: ON" or "NOCLIP: OFF" bNoclip.BackgroundColor3 = noclipOn and Color3.fromRGB(30,140,50) or Color3.fromRGB(50,35,60) end) bManual.Activated:Connect(function() local candy, total = closest() status.Text = "Caramelos: " .. total if candy then tpTo(candy) status.Text = "TP Manual ✓" else status.Text = "No hay caramelos cerca" end end) bESP.Activated:Connect(function() espOn = not espOn bESP.Text = espOn and "ESP: ON" or "ESP: OFF" bESP.BackgroundColor3 = espOn and Color3.fromRGB(30,140,50) or Color3.fromRGB(50,35,60) updateESP() end) bWH.Activated:Connect(function() whOn = not whOn bWH.Text = whOn and "WALLHACK: ON" or "WALLHACK: OFF" bWH.BackgroundColor3 = whOn and Color3.fromRGB(30,140,50) or Color3.fromRGB(50,35,60) if espOn then updateESP() end end) bStop.Activated:Connect(function() stopAll() setNoclip(false) bTP.Text = "AUTO TP: OFF" bTP.BackgroundColor3 = Color3.fromRGB(50, 35, 60) bFly.Text = "BOT FLY: OFF" bFly.BackgroundColor3 = Color3.fromRGB(50, 35, 60) bNoclip.Text = "NOCLIP: OFF" bNoclip.BackgroundColor3 = Color3.fromRGB(50, 35, 60) status.Text = "Detenido" end) -- Velocidad TP tpP.Activated:Connect(function() tpSpeed = math.clamp(tpSpeed - 0.03, 0.06, 0.80) lblTP.Text = "Velocidad TP: " .. string.format("%.2f", tpSpeed) .. "s" end) tpM.Activated:Connect(function() tpSpeed = math.clamp(tpSpeed + 0.03, 0.06, 0.80) lblTP.Text = "Velocidad TP: " .. string.format("%.2f", tpSpeed) .. "s" end) -- Velocidad Fly flP.Activated:Connect(function() flySpeed = math.clamp(flySpeed + 8, 30, 120) lblFly.Text = "Velocidad Fly: " .. flySpeed end) flM.Activated:Connect(function() flySpeed = math.clamp(flySpeed - 8, 30, 120) lblFly.Text = "Velocidad Fly: " .. flySpeed end) minBtn.Activated:Connect(function() main.Visible = false restore.Visible = true end) restore.Activated:Connect(function() main.Visible = true restore.Visible = false end) closeBtn.Activated:Connect(function() stopAll() setNoclip(false) clearESP() gui:Destroy() end) -- Actualizar ESP periódicamente task.spawn(function() while gui.Parent do if espOn then updateESP() end task.wait(1.5) end end) -- Al respawnear lp.CharacterAdded:Connect(function() visited = {} lastCollect = 0 stopFly() task.wait(1) if autoTP then startTP() end if flyOn then startFly() end if noclipOn then setNoclip(true) end end) task.delay(0.6, function() local total = #getCandies() status.Text = "🎃 Caramelos encontrados: " .. total end) print("🎃 Brookhaven Event Halloween cargado!") print("Buscando objetos: CandyCorn...")