-- [[ 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 ]] local Players = game:GetService("Players") local LP = Players.LocalPlayer local PG = LP:WaitForChild("PlayerGui") local old = PG:FindFirstChild("anime farm") if old then old:Destroy() end local CFG = { Running = false, HoldTime = 0.8, Height = 3, ReturnPos = nil, ReturnWait = 0.5, StreamWait = 1.5, } local AREA_DATA = { { Name = "AscendedDeepGulf", Zone = 12, Center = Vector3.new(-5415, -26, -370), Rebirth = true }, { Name = "AscendedShrine", Zone = 11, Center = Vector3.new(-4419, -26, -278), Rebirth = true }, { Name = "InfiniteVoid", Zone = 10, Center = Vector3.new(-3589, -26, -388), Rebirth = false }, { Name = "Cosmic", Zone = 9, Center = Vector3.new(-2847, -26, -380), Rebirth = false }, { Name = "Prehistoric", Zone = 8, Center = Vector3.new(-2252, -26, -285), Rebirth = false }, { Name = "Abyss Ocean", Zone = 7, Center = Vector3.new(-1731, -26, -377), Rebirth = false }, { Name = "Volcano", Zone = 6, Center = Vector3.new(-1326, -26, -287), Rebirth = false }, { Name = "Snow", Zone = 5, Center = Vector3.new(-935, -26, -396), Rebirth = false }, { Name = "Jungle", Zone = 4, Center = Vector3.new(-643, -26, -266), Rebirth = false }, { Name = "Desert", Zone = 3, Center = Vector3.new(-392, -26, -381), Rebirth = false }, { Name = "Lake", Zone = 2, Center = Vector3.new(-186, -26, -280), Rebirth = false }, { Name = "Forest", Zone = 1, Center = Vector3.new(-39, -26, -375), Rebirth = false }, } local AREAS = {} for _, a in ipairs(AREA_DATA) do table.insert(AREAS, { Name = a.Name, Zone = a.Zone, Center = a.Center, Enabled = true, Rebirth = a.Rebirth, }) end local function getRoot() local c = LP.Character return c and c:FindFirstChild("HumanoidRootPart") end local function tpTo(pos) local root = getRoot() if not root then return false end root.AssemblyLinearVelocity = Vector3.zero root.AssemblyAngularVelocity = Vector3.zero root.CFrame = CFrame.new(pos) return true end local function getAnimesInZone(zoneNum) local list = {} for _, child in ipairs(workspace:GetChildren()) do if child:IsA("Model") and child:GetAttribute("Egg") == true then local zone = child:GetAttribute("EggZone") if type(zone) == "number" and (zoneNum == nil or zone == zoneNum) then local hrp = child:FindFirstChild("HumanoidRootPart") if hrp and hrp:IsA("BasePart") then local prompt for _, c in ipairs(hrp:GetChildren()) do if c:IsA("ProximityPrompt") and c.ActionText == "Steal" and c.Enabled then prompt = c break end end if prompt then table.insert(list, { anime = child, zone = zone, key = child:GetAttribute("EggNest") or "?", prompt = prompt, hrp = hrp, }) end end end end end return list end local function firePrompt(p) if fireproximityprompt then local ok = pcall(fireproximityprompt, p) if ok then return true end end return pcall(function() p:InputHoldBegin() task.wait(math.max(0.05, p.HoldDuration)) p:InputHoldEnd() end) end local function collectOne(entry) local hrp = entry.anime:FindFirstChild("HumanoidRootPart") if not hrp then return end local aim = hrp.Position + Vector3.new(0, CFG.Height, 0) tpTo(aim) task.wait(0.1) tpTo(aim) task.wait(CFG.HoldTime) local prompt for _, c in ipairs(hrp:GetChildren()) do if c:IsA("ProximityPrompt") and c.ActionText == "Steal" and c.Enabled then prompt = c break end end if not prompt then prompt = entry.prompt end if prompt then firePrompt(prompt) task.wait(0.15) if prompt.Parent and prompt.Enabled then firePrompt(prompt) end task.wait(0.15) end end local function goBack() if not CFG.ReturnPos then return end local aim = CFG.ReturnPos + Vector3.new(0, CFG.Height, 0) tpTo(aim) task.wait(CFG.ReturnWait) tpTo(aim) task.wait(0.2) end local currentIdx = 1 local function cycle() local zone = AREAS[currentIdx] if not zone then currentIdx = 1 return end if not zone.Enabled then currentIdx = (currentIdx % #AREAS) + 1 return end local animes = getAnimesInZone(zone.Zone) if #animes == 0 then tpTo(zone.Center + Vector3.new(0, CFG.Height, 0)) task.wait(CFG.StreamWait) animes = getAnimesInZone(zone.Zone) if #animes == 0 then currentIdx = (currentIdx % #AREAS) + 1 return end end local entry = animes[1] collectOne(entry) goBack() local remaining = getAnimesInZone(zone.Zone) if #remaining == 0 then currentIdx = (currentIdx % #AREAS) + 1 end task.wait(0.3) end local thread local function start() if CFG.Running then return end local root = getRoot() if root then CFG.ReturnPos = root.Position end CFG.Running = true currentIdx = 1 thread = task.spawn(function() while CFG.Running do pcall(cycle) task.wait(0.1) end end) end local function stop() if not CFG.Running then return end CFG.Running = false if thread then task.cancel(thread) thread = nil end end local gui = Instance.new("ScreenGui") gui.Name = "anime farm" gui.ResetOnSpawn = false gui.Parent = PG local frame = Instance.new("Frame") frame.Size = UDim2.new(0, 260, 0, 440) frame.Position = UDim2.new(0, 20, 0, 20) frame.BackgroundColor3 = Color3.fromRGB(35, 35, 35) frame.BorderSizePixel = 0 frame.Active = true frame.Draggable = true frame.Parent = gui local title = Instance.new("TextLabel") title.Size = UDim2.new(1, -28, 0, 20) title.Position = UDim2.new(0, 8, 0, 4) title.BackgroundTransparency = 1 title.Text = "anime farm .gg/get-ravine" title.TextColor3 = Color3.fromRGB(210, 210, 210) title.TextXAlignment = Enum.TextXAlignment.Left title.Font = Enum.Font.SourceSans title.TextSize = 14 title.Parent = frame local close = Instance.new("TextButton") close.Size = UDim2.new(0, 20, 0, 20) close.Position = UDim2.new(1, -24, 0, 4) close.BackgroundColor3 = Color3.fromRGB(35, 35, 35) close.BorderSizePixel = 0 close.Text = "x" close.TextColor3 = Color3.fromRGB(210, 210, 210) close.Font = Enum.Font.SourceSans close.TextSize = 14 close.Parent = frame close.MouseButton1Click:Connect(function() stop() gui:Destroy() end) local toggle = Instance.new("TextButton") toggle.Size = UDim2.new(1, -16, 0, 26) toggle.Position = UDim2.new(0, 8, 0, 28) toggle.BackgroundColor3 = Color3.fromRGB(55, 55, 55) toggle.BorderSizePixel = 0 toggle.Text = "off" toggle.TextColor3 = Color3.fromRGB(210, 210, 210) toggle.Font = Enum.Font.SourceSans toggle.TextSize = 14 toggle.Parent = frame local function mkInput(y, label, key) local lbl = Instance.new("TextLabel") lbl.Size = UDim2.new(0, 90, 0, 20) lbl.Position = UDim2.new(0, 8, 0, y) lbl.BackgroundTransparency = 1 lbl.Text = label lbl.TextColor3 = Color3.fromRGB(190, 190, 190) lbl.TextXAlignment = Enum.TextXAlignment.Left lbl.Font = Enum.Font.SourceSans lbl.TextSize = 13 lbl.Parent = frame local box = Instance.new("TextBox") box.Size = UDim2.new(0, 60, 0, 20) box.Position = UDim2.new(0, 100, 0, y) box.BackgroundColor3 = Color3.fromRGB(45, 45, 45) box.BorderSizePixel = 0 box.Text = tostring(CFG[key]) box.TextColor3 = Color3.fromRGB(210, 210, 210) box.Font = Enum.Font.SourceSans box.TextSize = 13 box.ClearTextOnFocus = false box.Parent = frame box.FocusLost:Connect(function() local n = tonumber(box.Text) if n and n >= 0 then CFG[key] = n else box.Text = tostring(CFG[key]) end end) end mkInput(60, "hold time", "HoldTime") local hdr = Instance.new("TextLabel") hdr.Size = UDim2.new(1, -16, 0, 18) hdr.Position = UDim2.new(0, 8, 0, 86) hdr.BackgroundTransparency = 1 hdr.Text = "areas:" hdr.TextColor3 = Color3.fromRGB(190, 190, 190) hdr.TextXAlignment = Enum.TextXAlignment.Left hdr.Font = Enum.Font.SourceSans hdr.TextSize = 13 hdr.Parent = frame local y = 106 for _, a in ipairs(AREAS) do local btn = Instance.new("TextButton") btn.Size = UDim2.new(1, -16, 0, 22) btn.Position = UDim2.new(0, 8, 0, y) btn.BorderSizePixel = 0 btn.TextXAlignment = Enum.TextXAlignment.Left btn.Font = Enum.Font.SourceSans btn.TextSize = 12 btn.Parent = frame local function refresh() if a.Rebirth then btn.Text = ("zone %d (require rebirth)"):format(a.Zone) else btn.Text = ("zone %d"):format(a.Zone) end if a.Enabled then btn.BackgroundColor3 = Color3.fromRGB(55, 130, 55) btn.TextColor3 = Color3.fromRGB(220, 220, 220) else btn.BackgroundColor3 = Color3.fromRGB(45, 45, 45) btn.TextColor3 = Color3.fromRGB(130, 130, 130) end end refresh() btn.MouseButton1Click:Connect(function() a.Enabled = not a.Enabled refresh() end) y = y + 24 end toggle.MouseButton1Click:Connect(function() if CFG.Running then stop() toggle.Text = "off" else start() toggle.Text = "on" end end)