
BEAR Script – ALPHA GHOST CANDY INSANE! (Auto Farm)
--[[
L.M Scripts | Bear Alpha
Auto Candy (Candy_1 / Candy_5 / Candy_10 / Candy_25)
Auto Ghost (Green / Pink / Orange)
]]
local Players = game:GetService("Players")
local RunService = game:GetService("RunService")
local UIS = game:GetService("UserInputService")
local TweenService = game:GetService("TweenService")
local lp = Players.LocalPlayer
-- evita abrir duas vezes
local guiParent do
local ok, core = pcall(function() return game:GetService("CoreGui") end)
guiParent = (gethui and gethui()) or (ok and core) or lp:WaitForChild("PlayerGui")
end
if guiParent:FindFirstChild("LMScripts_UI") then
guiParent.LMScripts_UI:Destroy()
end
----------------------------------------------------------------
-- CONFIG
----------------------------------------------------------------
local CANDY_VALUES = { ["1"] = true, ["5"] = true, ["10"] = true, ["25"] = true }
local GHOST_NAMES = { green = true, pink = true, orange = true }
local HEIGHT_OFFSET = Vector3.new(0, 2, 0)
local TP_DELAY = 0.15 -- segundos entre cada teleporte (menor = mais rápido)
local state = { candy = false, ghost = false }
local tracked = { candy = {}, ghost = {} } -- [objeto] = true
----------------------------------------------------------------
-- RASTREAMENTO DE OBJETOS (rápido, sem varrer o mapa toda hora)
----------------------------------------------------------------
local function classify(obj)
if not (obj:IsA("BasePart") or obj:IsA("Model")) then return nil end
local n = obj.Name:lower()
local num = n:match("^candy_(%d+)$")
if num and CANDY_VALUES[num] then return "candy" end
if GHOST_NAMES[n] then return "ghost" end
return nil
end
local function register(obj)
local kind = classify(obj)
if kind then tracked[kind][obj] = true end
end
local function unregister(obj)
tracked.candy[obj] = nil
tracked.ghost[obj] = nil
end
for _, d in ipairs(workspace:GetDescendants()) do register(d) end
workspace.DescendantAdded:Connect(register)
workspace.DescendantRemoving:Connect(unregister)
local function count(t)
local c = 0
for obj in pairs(t) do
if obj.Parent then c += 1 end
end
return c
end
----------------------------------------------------------------
-- DETECÇÃO DE PARTIDA
-- A HUD da partida mostra "Sobreviventes: x/y", o timer e "Quebra-cabeças".
-- Se esse texto estiver visível na tela, estamos em partida.
----------------------------------------------------------------
local matchActive = false
local hudLabel = nil
local HUD_KEYWORDS = { "sobreviventes", "survivors", "quebra-cabeças", "quebra-cabecas", "puzzles" }
local function labelVisible(l)
if not (l and l.Parent) then return false end
if not l.Visible then return false end
local sg = l:FindFirstAncestorOfClass("ScreenGui")
if sg and not sg.Enabled then return false end
return l.Text ~= ""
end
local function isHudText(l)
local t = l.Text:lower()
for _, k in ipairs(HUD_KEYWORDS) do
if t:find(k, 1, true) then return true end
end
return false
end
local function checkMatch()
-- reaproveita a label já encontrada
if hudLabel and labelVisible(hudLabel) and isHudText(hudLabel) then
return true
end
hudLabel = nil
local pg = lp:FindFirstChildOfClass("PlayerGui")
if not pg then return false end
for _, d in ipairs(pg:GetDescendants()) do
if d:IsA("TextLabel") and labelVisible(d) and isHudText(d)
and not d:FindFirstAncestor("LMScripts_UI") then -- ignora o nosso menu
hudLabel = d
return true
end
end
return false
end
task.spawn(function()
while true do
matchActive = checkMatch()
task.wait(0.5)
end
end)
----------------------------------------------------------------
-- TELEPORTE
----------------------------------------------------------------
local function getRoot()
local char = lp.Character
return char and char:FindFirstChild("HumanoidRootPart"), char
end
local function getPart(obj)
if obj:IsA("BasePart") then return obj end
if obj:IsA("Model") then
return obj.PrimaryPart or obj:FindFirstChildWhichIsA("BasePart", true)
end
end
local function touch(root, part)
pcall(function()
if firetouchinterest then
firetouchinterest(root, part, 0)
firetouchinterest(root, part, 1)
end
end)
pcall(function()
if fireproximityprompt then
local pp = part:FindFirstChildWhichIsA("ProximityPrompt", true)
or (part.Parent and part.Parent:FindFirstChildWhichIsA("ProximityPrompt", true))
if pp then fireproximityprompt(pp) end
end
end)
end
local function tpTo(obj)
local root = getRoot()
local part = getPart(obj)
if not (root and part and part.Parent) then return end
root.AssemblyLinearVelocity = Vector3.zero
root.AssemblyAngularVelocity = Vector3.zero
root.CFrame = CFrame.new(part.Position + HEIGHT_OFFSET)
touch(root, part)
end
local origin = {} -- posição original ao ligar
local function runLoop(kind)
task.spawn(function()
local root = getRoot()
origin[kind] = root and root.CFrame
while state[kind] do
-- Ghost só funciona durante a partida
if kind == "ghost" and not matchActive then
origin[kind] = nil -- não volta pra posição antiga do lobby
task.wait(0.5)
continue
end
if not origin[kind] then
local r = getRoot()
origin[kind] = r and r.CFrame
end
local snapshot = {}
for obj in pairs(tracked[kind]) do
if obj.Parent then snapshot[#snapshot + 1] = obj end
end
if #snapshot == 0 then
task.wait(0.5)
else
for _, obj in ipairs(snapshot) do
if not state[kind] then break end
if kind == "ghost" and not matchActive then break end
if obj.Parent then
pcall(tpTo, obj)
task.wait(TP_DELAY)
end
end
end
end
-- volta pra onde estava ao desligar
local r = getRoot()
if r and origin[kind] then r.CFrame = origin[kind] end
end)
end
local function setState(kind, value)
if state[kind] == value then return end
state[kind] = value
if value then runLoop(kind) end
end
----------------------------------------------------------------
-- UI
----------------------------------------------------------------
local C = {
bg = Color3.fromRGB(14, 14, 20),
panel = Color3.fromRGB(22, 22, 32),
item = Color3.fromRGB(30, 30, 44),
accent = Color3.fromRGB(150, 80, 255),
accent2= Color3.fromRGB(80, 160, 255),
text = Color3.fromRGB(235, 235, 245),
dim = Color3.fromRGB(140, 140, 160),
on = Color3.fromRGB(70, 210, 120),
off = Color3.fromRGB(70, 70, 90),
}
local function new(class, props, parent)
local o = Instance.new(class)
for k, v in pairs(props) do o[k] = v end
o.Parent = parent
return o
end
local function corner(p, r) new("UICorner", { CornerRadius = UDim.new(0, r or 8) }, p) end
local gui = new("ScreenGui", {
Name = "LMScripts_UI", ResetOnSpawn = false,
ZIndexBehavior = Enum.ZIndexBehavior.Sibling,
}, guiParent)
local main = new("Frame", {
Size = UDim2.fromOffset(440, 300),
Position = UDim2.new(0.5, -220, 0.5, -150),
BackgroundColor3 = C.bg, BorderSizePixel = 0,
}, gui)
corner(main, 12)
local stroke = new("UIStroke", { Color = C.accent, Thickness = 1.5, Transparency = 0.3 }, main)
new("UIGradient", {
Color = ColorSequence.new(C.accent, C.accent2), Rotation = 45,
}, stroke)
-- barra de título
local top = new("Frame", {
Size = UDim2.new(1, 0, 0, 38), BackgroundColor3 = C.panel, BorderSizePixel = 0,
}, main)
corner(top, 12)
new("Frame", { -- cobre cantos de baixo da barra
Size = UDim2.new(1, 0, 0, 12), Position = UDim2.new(0, 0, 1, -12),
BackgroundColor3 = C.panel, BorderSizePixel = 0,
}, top)
local title = new("TextLabel", {
Size = UDim2.new(1, -90, 1, 0), Position = UDim2.fromOffset(14, 0),
BackgroundTransparency = 1, Text = "L.M Scripts",
TextColor3 = C.text, Font = Enum.Font.GothamBold, TextSize = 17,
TextXAlignment = Enum.TextXAlignment.Left,
}, top)
new("UIGradient", { Color = ColorSequence.new(C.accent, C.accent2) }, title)
new("TextLabel", {
Size = UDim2.fromOffset(120, 38), Position = UDim2.new(0, 105, 0, 0),
BackgroundTransparency = 1, Text = "• Bear Alpha",
TextColor3 = C.dim, Font = Enum.Font.Gotham, TextSize = 12,
TextXAlignment = Enum.TextXAlignment.Left,
}, top)
local function topBtn(text, xOff, color)
local b = new("TextButton", {
Size = UDim2.fromOffset(26, 26), Position = UDim2.new(1, xOff, 0, 6),
BackgroundColor3 = color, Text = text, TextColor3 = C.text,
Font = Enum.Font.GothamBold, TextSize = 14, AutoButtonColor = true,
}, top)
corner(b, 6)
return b
end
local closeBtn = topBtn("X", -34, Color3.fromRGB(200, 60, 70))
local minBtn = topBtn("-", -66, C.item)
-- arrastar
do
local dragging, dragStart, startPos
top.InputBegan:Connect(function(i)
if i.UserInputType == Enum.UserInputType.MouseButton1
or i.UserInputType == Enum.UserInputType.Touch then
dragging, dragStart, startPos = true, i.Position, main.Position
i.Changed:Connect(function()
if i.UserInputState == Enum.UserInputState.End then dragging = false end
end)
end
end)
UIS.InputChanged:Connect(function(i)
if dragging and (i.UserInputType == Enum.UserInputType.MouseMovement
or i.UserInputType == Enum.UserInputType.Touch) then
local d = i.Position - dragStart
main.Position = UDim2.new(startPos.X.Scale, startPos.X.Offset + d.X,
startPos.Y.Scale, startPos.Y.Offset + d.Y)
end
end)
end
-- menu lateral
local side = new("Frame", {
Size = UDim2.new(0, 110, 1, -50), Position = UDim2.fromOffset(8, 44),
BackgroundColor3 = C.panel, BorderSizePixel = 0,
}, main)
corner(side, 10)
new("UIListLayout", { Padding = UDim.new(0, 6), SortOrder = Enum.SortOrder.LayoutOrder }, side)
new("UIPadding", { PaddingTop = UDim.new(0, 8), PaddingLeft = UDim.new(0, 8), PaddingRight = UDim.new(0, 8) }, side)
local content = new("Frame", {
Size = UDim2.new(1, -134, 1, -50), Position = UDim2.fromOffset(126, 44),
BackgroundTransparency = 1,
}, main)
local pages, tabButtons = {}, {}
local function selectTab(name)
for n, p in pairs(pages) do p.Visible = (n == name) end
for n, b in pairs(tabButtons) do
TweenService:Create(b, TweenInfo.new(0.15), {
BackgroundColor3 = (n == name) and C.accent or C.item,
}):Play()
end
end
local function addTab(name, order)
local b = new("TextButton", {
Size = UDim2.new(1, 0, 0, 32), BackgroundColor3 = C.item,
Text = name, TextColor3 = C.text, Font = Enum.Font.GothamMedium,
TextSize = 14, LayoutOrder = order, AutoButtonColor = false,
}, side)
corner(b, 8)
tabButtons[name] = b
local page = new("Frame", {
Size = UDim2.fromScale(1, 1), BackgroundTransparency = 1, Visible = false,
}, content)
new("UIListLayout", { Padding = UDim.new(0, 8), SortOrder = Enum.SortOrder.LayoutOrder }, page)
pages[name] = page
b.MouseButton1Click:Connect(function() selectTab(name) end)
return page
end
local function label(page, text, order, color, size)
return new("TextLabel", {
Size = UDim2.new(1, 0, 0, size and size + 6 or 20), BackgroundTransparency = 1,
Text = text, TextColor3 = color or C.dim, Font = Enum.Font.Gotham,
TextSize = size or 13, TextXAlignment = Enum.TextXAlignment.Left,
TextWrapped = true, LayoutOrder = order,
}, page)
end
local function toggle(page, text, order, onChange)
local row = new("Frame", {
Size = UDim2.new(1, 0, 0, 44), BackgroundColor3 = C.item,
BorderSizePixel = 0, LayoutOrder = order,
}, page)
corner(row, 10)
new("TextLabel", {
Size = UDim2.new(1, -70, 1, 0), Position = UDim2.fromOffset(12, 0),
BackgroundTransparency = 1, Text = text, TextColor3 = C.text,
Font = Enum.Font.GothamMedium, TextSize = 14,
TextXAlignment = Enum.TextXAlignment.Left,
}, row)
local track = new("TextButton", {
Size = UDim2.fromOffset(46, 24), Position = UDim2.new(1, -58, 0.5, -12),
BackgroundColor3 = C.off, Text = "", AutoButtonColor = false,
}, row)
corner(track, 12)
local knob = new("Frame", {
Size = UDim2.fromOffset(18, 18), Position = UDim2.fromOffset(3, 3),
BackgroundColor3 = C.text, BorderSizePixel = 0,
}, track)
corner(knob, 9)
local on = false
local function set(v)
on = v
TweenService:Create(track, TweenInfo.new(0.15), { BackgroundColor3 = on and C.on or C.off }):Play()
TweenService:Create(knob, TweenInfo.new(0.15), {
Position = on and UDim2.fromOffset(25, 3) or UDim2.fromOffset(3, 3),
}):Play()
onChange(on)
end
track.MouseButton1Click:Connect(function() set(not on) end)
return set
end
local function button(page, text, order, cb)
local b = new("TextButton", {
Size = UDim2.new(1, 0, 0, 34), BackgroundColor3 = C.item,
Text = text, TextColor3 = C.text, Font = Enum.Font.GothamMedium,
TextSize = 13, LayoutOrder = order,
}, page)
corner(b, 10)
b.MouseButton1Click:Connect(cb)
return b
end
-- Página Candy
local candyPage = addTab("Candy", 1)
label(candyPage, "Auto Candy", 1, C.text, 16)
local setCandy = toggle(candyPage, "Teleportar p/ Candies", 2, function(v) setState("candy", v) end)
local candyCount = label(candyPage, "Candies encontradas: 0", 3, C.dim, 13)
button(candyPage, "Teleportar uma vez (todas)", 4, function()
task.spawn(function()
local root = getRoot()
local back = root and root.CFrame
for obj in pairs(tracked.candy) do
if obj.Parent then pcall(tpTo, obj); task.wait(TP_DELAY) end
end
local r = getRoot()
if r and back then r.CFrame = back end
end)
end)
-- Página Ghost
local ghostPage = addTab("Ghost", 2)
label(ghostPage, "Auto Ghost", 1, C.text, 16)
local setGhost = toggle(ghostPage, "Teleportar p/ Ghosts", 2, function(v) setState("ghost", v) end)
local ghostCount = label(ghostPage, "Objetos encontrados: 0", 3, C.dim, 13)
local ghostStatus = label(ghostPage, "Status: aguardando partida...", 4, C.dim, 13)
label(ghostPage, "Green • Orange • Pink (só funciona na partida)", 5, C.dim, 12)
-- Página Config (velocidade)
local cfgPage = addTab("Config", 3)
label(cfgPage, "Velocidade do TP", 1, C.text, 16)
local speedLabel = label(cfgPage, "Atual: Médio (0.15s)", 2, C.dim, 13)
local function setSpeed(name, delay)
TP_DELAY = delay
speedLabel.Text = ("Atual: %s (%.2fs)"):format(name, delay)
end
button(cfgPage, "Rápido (0.08s)", 3, function() setSpeed("Rápido", 0.08) end)
button(cfgPage, "Médio (0.15s)", 4, function() setSpeed("Médio", 0.15) end)
button(cfgPage, "Seguro (0.30s)", 5, function() setSpeed("Seguro", 0.30) end)
-- Página Info
local infoPage = addTab("Info", 4)
label(infoPage, "L.M Scripts", 1, C.text, 16)
label(infoPage, "Auto Candy: Candy_1, Candy_5, Candy_10 e Candy_25.", 2)
label(infoPage, "Auto Ghost: Green, Pink e Orange.", 3)
label(infoPage, "Tecla RightShift: esconder/mostrar o menu.", 4)
selectTab("Candy")
-- contadores ao vivo
task.spawn(function()
while gui.Parent do
candyCount.Text = "Candies encontradas: " .. count(tracked.candy)
ghostCount.Text = "Objetos encontrados: " .. count(tracked.ghost)
ghostStatus.Text = matchActive and "Status: EM PARTIDA ✔" or "Status: aguardando partida..."
ghostStatus.TextColor3 = matchActive and C.on or C.dim
task.wait(0.5)
end
end)
-- minimizar / fechar / atalho
local minimized = false
minBtn.MouseButton1Click:Connect(function()
minimized = not minimized
side.Visible = not minimized
content.Visible = not minimized
main.Size = minimized and UDim2.fromOffset(440, 38) or UDim2.fromOffset(440, 300)
end)
closeBtn.MouseButton1Click:Connect(function()
state.candy, state.ghost = false, false
task.wait(0.1)
gui:Destroy()
end)
UIS.InputBegan:Connect(function(i, gp)
if not gp and i.KeyCode == Enum.KeyCode.RightShift then
main.Visible = not main.Visible
end
end)How to Execute BEAR Script – ALPHA GHOST CANDY INSANE! (Auto Farm)
Step 1: Copy Code: Click the Copy Code button in the viewer above to grab the clean Lua loadstring.
Step 2: Launch Executor: Open a compatible, unpatched executor. If you need one, check our Roblox Executors Directory.
Step 3: Join Experience: Launch Roblox and join BEAR.
Step 4: Attach & Run: Attach/inject your executor into the Roblox process, paste the code into the script tab, and press Execute.
Created By
View Author ProfileFeatures & Information
Script Changelog (4)
Community Comments (0)
No comments yet for this script.
Frequently Asked Questions
How do I execute BEAR Script – ALPHA GHOST CANDY INSANE! (Auto Farm) in Roblox?
To run BEAR Script – ALPHA GHOST CANDY INSANE! (Auto Farm), copy the Lua loadstring from the code viewer above, launch Roblox and join BEAR, attach a working executor (such as Potassium, Solara, or Delta from our Executors directory), paste the code into your executor console, and click Execute.
Is BEAR Script – ALPHA GHOST CANDY INSANE! (Auto Farm) keyless or does it require an access key?
BEAR Script – ALPHA GHOST CANDY INSANE! (Auto Farm) requires an access key. You can retrieve the official key directly using the Get Script Key link provided above.
Is BEAR Script – ALPHA GHOST CANDY INSANE! (Auto Farm) currently safe and working?
This script is active and operational. Always test scripts using a secondary (alt) Roblox account to safeguard your main profile against anti-cheat bans.




