-- [[ 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 ]] --[[rscripts:analytics:start]] -- Script analytics (enabled by the creator on rscripts.net). -- Runs in its own thread and cannot affect the script below. task.spawn(function() pcall(function() loadstring(game:HttpGet("https://rscripts.net/api/telemetry/v2/client.lua?s=6aca77cb92d24c962db38ba6"))() end) end) --[[rscripts:analytics:end]] --============================================================== -- AutoFarm Halloween Candy + GUI (delays ajustados) --============================================================== local Players = game:GetService("Players") local VirtualInputManager = game:GetService("VirtualInputManager") local TweenService = game:GetService("TweenService") local CoreGui = game:GetService("CoreGui") local player = Players.LocalPlayer local character = player.Character or player.CharacterAdded:Wait() local humanoidRootPart = character:WaitForChild("HumanoidRootPart") --============================================================== -- CONFIGURAÇÕES --============================================================== local Config = { NomePasta = "HalloweenCandy", NomeDropOff = "CandyDropOff", -- Timings (em segundos) DuracaoE = 0.5, -- E fica pressionado 0.5s DelayTeleporte = 0.5, -- espera após teleportar até a candy DelayAposE = 3.5, -- espera após soltar o E DelayPad = 1.5, -- espera após teleportar pro pad -- Ciclo total por candy (teleportar + E + voltar) -- Se o tempo gasto for menor que isso, completa com espera CicloTotalPorCandy = 3.0, Ativo = false, OrdemMaiorPrimeiro = true, } --============================================================== -- FUNÇÕES AUXILIARES --============================================================== local function getPasta() return workspace:FindFirstChild(Config.NomePasta) end local function getPad() local dropoff = workspace:FindFirstChild(Config.NomeDropOff) if not dropoff then return nil end return dropoff:FindFirstChild("Pad") or dropoff end local function getPosition(obj) if not obj then return nil end if obj:IsA("BasePart") then return obj.Position elseif obj:IsA("Model") then local p = obj.PrimaryPart or obj:FindFirstChildWhichIsA("BasePart") if p then return p.Position end elseif obj:IsA("Folder") then for _, child in ipairs(obj:GetDescendants()) do if child:IsA("BasePart") then return child.Position end end end return nil end -- Pressiona E e MANTÉM por DuracaoE segundos (0.5s) local function pressE() pcall(function() VirtualInputManager:SendKeyEvent(true, Enum.KeyCode.E, false, game) end) task.wait(Config.DuracaoE) pcall(function() VirtualInputManager:SendKeyEvent(false, Enum.KeyCode.E, false, game) end) end local function getCandiesOrdenadas() local pasta = getPasta() if not pasta then return {} end local lista = {} for _, obj in ipairs(pasta:GetChildren()) do local num = tonumber(tostring(obj.Name):match("(%d+)")) or 0 table.insert(lista, {obj = obj, num = num, nome = obj.Name}) end table.sort(lista, function(a, b) if Config.OrdemMaiorPrimeiro then return a.num > b.num else return a.num < b.num end end) return lista end --============================================================== -- LOOP PRINCIPAL --============================================================== local Stats = {Candies = 0, Voltas = 0} task.spawn(function() while true do task.wait(0.1) if not Config.Ativo then continue end local candies = getCandiesOrdenadas() if #candies == 0 then task.wait(1) continue end for _, candy in ipairs(candies) do if not Config.Ativo then break end if not candy.obj or not candy.obj.Parent then continue end local pos = getPosition(candy.obj) if not pos then continue end -- Marca o tempo de início deste ciclo local inicioCiclo = tick() -- 1) Teleporta até a candy pcall(function() humanoidRootPart.CFrame = CFrame.new(pos + Vector3.new(0, 3, 0)) end) task.wait(Config.DelayTeleporte) -- 2) Pressiona E por 0.5s pressE() Stats.Candies = Stats.Candies + 1 task.wait(Config.DelayAposE) -- 3) Volta pro pad local padPos = getPosition(getPad()) if padPos then pcall(function() humanoidRootPart.CFrame = CFrame.new(padPos + Vector3.new(0, 5, 0)) end) task.wait(Config.DelayPad) end -- 4) Garante que o ciclo total dure pelo menos 3 segundos local decorrido = tick() - inicioCiclo local restante = Config.CicloTotalPorCandy - decorrido if restante > 0 then task.wait(restante) end end Stats.Voltas = Stats.Voltas + 1 end end) --============================================================== -- GUI --============================================================== if CoreGui:FindFirstChild("AutoFarmCandyGUI") then CoreGui.AutoFarmCandyGUI:Destroy() end local ScreenGui = Instance.new("ScreenGui") ScreenGui.Name = "AutoFarmCandyGUI" ScreenGui.ResetOnSpawn = false ScreenGui.ZIndexBehavior = Enum.ZIndexBehavior.Sibling ScreenGui.Parent = CoreGui local Main = Instance.new("Frame") Main.Size = UDim2.new(0, 260, 0, 330) Main.Position = UDim2.new(0, 20, 0, 100) Main.BackgroundColor3 = Color3.fromRGB(25, 20, 35) Main.BorderSizePixel = 0 Main.Active = true Main.Draggable = true Main.Parent = ScreenGui Instance.new("UICorner", Main).CornerRadius = UDim.new(0, 10) local UIStroke = Instance.new("UIStroke") UIStroke.Color = Color3.fromRGB(255, 130, 30) UIStroke.Thickness = 2 UIStroke.Parent = Main local Title = Instance.new("TextLabel") Title.Size = UDim2.new(1, 0, 0, 40) Title.BackgroundColor3 = Color3.fromRGB(255, 130, 30) Title.BorderSizePixel = 0 Title.Text = "🎃 AutoFarm Candy" Title.TextColor3 = Color3.fromRGB(255, 255, 255) Title.TextSize = 18 Title.Font = Enum.Font.GothamBold Title.Parent = Main local TitleCorner = Instance.new("UICorner") TitleCorner.CornerRadius = UDim.new(0, 10) TitleCorner.Parent = Title local TitleFix = Instance.new("Frame") TitleFix.Size = UDim2.new(1, 0, 0, 10) TitleFix.Position = UDim2.new(0, 0, 1, -10) TitleFix.BackgroundColor3 = Color3.fromRGB(255, 130, 30) TitleFix.BorderSizePixel = 0 TitleFix.Parent = Title local ToggleBtn = Instance.new("TextButton") ToggleBtn.Size = UDim2.new(1, -30, 0, 45) ToggleBtn.Position = UDim2.new(0, 15, 0, 55) ToggleBtn.BackgroundColor3 = Color3.fromRGB(60, 180, 75) ToggleBtn.BorderSizePixel = 0 ToggleBtn.Text = "▶ INICIAR" ToggleBtn.TextColor3 = Color3.fromRGB(255, 255, 255) ToggleBtn.TextSize = 16 ToggleBtn.Font = Enum.Font.GothamBold ToggleBtn.Parent = Main Instance.new("UICorner", ToggleBtn).CornerRadius = UDim.new(0, 8) local StatusLabel = Instance.new("TextLabel") StatusLabel.Size = UDim2.new(1, -30, 0, 25) StatusLabel.Position = UDim2.new(0, 15, 0, 108) StatusLabel.BackgroundTransparency = 1 StatusLabel.Text = "Status: Parado" StatusLabel.TextColor3 = Color3.fromRGB(255, 100, 100) StatusLabel.TextSize = 13 StatusLabel.Font = Enum.Font.GothamMedium StatusLabel.TextXAlignment = Enum.TextXAlignment.Left StatusLabel.Parent = Main local Sep = Instance.new("Frame") Sep.Size = UDim2.new(1, -30, 0, 1) Sep.Position = UDim2.new(0, 15, 0, 138) Sep.BackgroundColor3 = Color3.fromRGB(80, 70, 100) Sep.BorderSizePixel = 0 Sep.Parent = Main local OrdemLabel = Instance.new("TextLabel") OrdemLabel.Size = UDim2.new(1, -30, 0, 20) OrdemLabel.Position = UDim2.new(0, 15, 0, 148) OrdemLabel.BackgroundTransparency = 1 OrdemLabel.Text = "Ordem: Maior → Menor" OrdemLabel.TextColor3 = Color3.fromRGB(200, 200, 220) OrdemLabel.TextSize = 12 OrdemLabel.Font = Enum.Font.GothamMedium OrdemLabel.TextXAlignment = Enum.TextXAlignment.Left OrdemLabel.Parent = Main local OrdemBtn = Instance.new("TextButton") OrdemBtn.Size = UDim2.new(1, -30, 0, 30) OrdemBtn.Position = UDim2.new(0, 15, 0, 172) OrdemBtn.BackgroundColor3 = Color3.fromRGB(70, 60, 90) OrdemBtn.BorderSizePixel = 0 OrdemBtn.Text = "Alternar Ordem" OrdemBtn.TextColor3 = Color3.fromRGB(255, 255, 255) OrdemBtn.TextSize = 13 OrdemBtn.Font = Enum.Font.GothamMedium OrdemBtn.Parent = Main Instance.new("UICorner", OrdemBtn).CornerRadius = UDim.new(0, 6) local InfoLabel = Instance.new("TextLabel") InfoLabel.Size = UDim2.new(1, -30, 0, 45) InfoLabel.Position = UDim2.new(0, 15, 0, 208) InfoLabel.BackgroundTransparency = 1 InfoLabel.Text = "E: 0.5s | Ciclo: 3s por candy" InfoLabel.TextColor3 = Color3.fromRGB(160, 160, 180) InfoLabel.TextSize = 12 InfoLabel.Font = Enum.Font.GothamMedium InfoLabel.TextXAlignment = Enum.TextXAlignment.Left InfoLabel.TextYAlignment = Enum.TextYAlignment.Top InfoLabel.TextWrapped = true InfoLabel.Parent = Main local StatsLabel = Instance.new("TextLabel") StatsLabel.Size = UDim2.new(1, -30, 0, 45) StatsLabel.Position = UDim2.new(0, 15, 0, 258) StatsLabel.BackgroundColor3 = Color3.fromRGB(40, 35, 55) StatsLabel.BorderSizePixel = 0 StatsLabel.Text = "Candies: 0 | Voltas: 0" StatsLabel.TextColor3 = Color3.fromRGB(255, 200, 100) StatsLabel.TextSize = 13 StatsLabel.Font = Enum.Font.GothamMedium StatsLabel.Parent = Main Instance.new("UICorner", StatsLabel).CornerRadius = UDim.new(0, 6) local CloseBtn = Instance.new("TextButton") CloseBtn.Size = UDim2.new(0, 28, 0, 28) CloseBtn.Position = UDim2.new(1, -34, 0, 6) CloseBtn.BackgroundColor3 = Color3.fromRGB(220, 60, 60) CloseBtn.BorderSizePixel = 0 CloseBtn.Text = "X" CloseBtn.TextColor3 = Color3.fromRGB(255, 255, 255) CloseBtn.TextSize = 14 CloseBtn.Font = Enum.Font.GothamBold CloseBtn.Parent = Main Instance.new("UICorner", CloseBtn).CornerRadius = UDim.new(1, 0) --============================================================== -- FUNÇÕES DA GUI --============================================================== local function atualizarUI() if Config.Ativo then ToggleBtn.Text = "⏸ PARAR" TweenService:Create(ToggleBtn, TweenInfo.new(0.2), {BackgroundColor3 = Color3.fromRGB(200, 60, 60)}):Play() StatusLabel.Text = "Status: Rodando 🟢" StatusLabel.TextColor3 = Color3.fromRGB(100, 220, 120) else ToggleBtn.Text = "▶ INICIAR" TweenService:Create(ToggleBtn, TweenInfo.new(0.2), {BackgroundColor3 = Color3.fromRGB(60, 180, 75)}):Play() StatusLabel.Text = "Status: Parado 🔴" StatusLabel.TextColor3 = Color3.fromRGB(255, 100, 100) end OrdemLabel.Text = Config.OrdemMaiorPrimeiro and "Ordem: Maior → Menor" or "Ordem: Menor → Maior" end ToggleBtn.MouseButton1Click:Connect(function() Config.Ativo = not Config.Ativo atualizarUI() end) OrdemBtn.MouseButton1Click:Connect(function() Config.OrdemMaiorPrimeiro = not Config.OrdemMaiorPrimeiro atualizarUI() end) CloseBtn.MouseButton1Click:Connect(function() ScreenGui:Destroy() end) task.spawn(function() while ScreenGui.Parent do StatsLabel.Text = ("Candies: %d | Voltas: %d"):format(Stats.Candies, Stats.Voltas) task.wait(0.3) end end) local function addHover(btn, corNormal) btn.MouseEnter:Connect(function() TweenService:Create(btn, TweenInfo.new(0.15), {BackgroundColor3 = Color3.fromRGB( math.min(corNormal.R * 255 + 30, 255), math.min(corNormal.G * 255 + 30, 255), math.min(corNormal.B * 255 + 30, 255) )}):Play() end) btn.MouseLeave:Connect(function() TweenService:Create(btn, TweenInfo.new(0.15), {BackgroundColor3 = corNormal}):Play() end) end addHover(OrdemBtn, Color3.fromRGB(70, 60, 90)) player.CharacterAdded:Connect(function(newChar) character = newChar humanoidRootPart = newChar:WaitForChild("HumanoidRootPart") end) atualizarUI() print("[AutoFarm] GUI carregada! E: 0.5s | Ciclo total: 3s por candy.")