local Rayfield = loadstring(game:HttpGet("https://sirius.menu/rayfield"))() local Window = Rayfield:CreateWindow({ Name = "CAPTURE ANIMALS SCRIPT (By Misinformer)", LoadingTitle = "By misinformer ^_^", LoadingSubtitle = "Loading...", ToggleUIKeybind = "K", Theme = "Amethyst" }) local AnimalsTab = Window:CreateTab("Animals", 4483362458) AnimalsTab:CreateSection("Battery") AnimalsTab:CreateButton({ Name = "🔋 Refill Battery", Callback = function() local remotes = game:GetService("ReplicatedStorage"):FindFirstChild("REMOTES") if remotes then local event = remotes:FindFirstChild("RefillBatteryEvent") if event then event:FireServer() Rayfield:Notify({ Title = "Battery Refill", Content = "Battery successfully refilled!", Duration = 3, Image = 4483362458, }) else Rayfield:Notify({ Title = "Error", Content = "Refill event not found!", Duration = 3, Image = 4483362458, }) end else Rayfield:Notify({ Title = "Error", Content = "REMOTES folder not found!", Duration = 3, Image = 4483362458, }) end end }) local function ScanAnimals() local foundAnimals = {} local foldersToCheck = {"Animals", "Pets", "NPCs", "SpawnedAnimals", "AnimalSpawns"} for _, folderName in ipairs(foldersToCheck) do local folder = workspace:FindFirstChild(folderName) if folder then for _, model in ipairs(folder:GetChildren()) do if model:IsA("Model") then local animalName = model:GetAttribute("AnimalName") or model.Name local rarity = model:GetAttribute("Rarity") or "Common" local trait = model:GetAttribute("Trait") or model:GetAttribute("Mutation") or "Normal" local part = model.PrimaryPart or model:FindFirstChildWhichIsA("BasePart") if part then table.insert(foundAnimals, { Model = model, Name = animalName, Rarity = rarity, Trait = trait, Position = part.Position }) end end end end end return foundAnimals end local function TeleportToPosition(position) local char = game.Players.LocalPlayer.Character if char and char:FindFirstChild("HumanoidRootPart") then char.HumanoidRootPart.CFrame = CFrame.new(position + Vector3.new(0, 5, 0)) return true end return false end AnimalsTab:CreateSection("Animal Scanner") local SelectedAnimals = {} local AnimalDropdown AnimalsTab:CreateButton({ Name = "🔍 Scan for Animals", Callback = function() SelectedAnimals = ScanAnimals() local options = {"None"} for _, animal in ipairs(SelectedAnimals) do local display = animal.Name if animal.Trait ~= "Normal" then display = display .. " [" .. animal.Trait .. "]" end display = display .. " (" .. animal.Rarity .. ")" table.insert(options, display) end if AnimalDropdown then AnimalDropdown:Refresh(options) end Rayfield:Notify({ Title = "Animal Scan Complete", Content = "Found " .. #SelectedAnimals .. " animals!", Duration = 4, Image = 4483362458, }) end }) AnimalDropdown = AnimalsTab:CreateDropdown({ Name = "Select Animal", Options = {"None"}, CurrentOption = {"None"}, MultipleOptions = false, Flag = "SelectedAnimal", Callback = function(option) local selected = option[1] if selected == "None" then return end for _, animal in ipairs(SelectedAnimals) do local display = animal.Name if animal.Trait ~= "Normal" then display = display .. " [" .. animal.Trait .. "]" end display = display .. " (" .. animal.Rarity .. ")" if selected == display then TeleportToPosition(animal.Position) Rayfield:Notify({ Title = "Teleporting", Content = "Teleporting to " .. animal.Name, Duration = 3, Image = 4483362458, }) break end end end }) local FoodTab = Window:CreateTab("Food", 4483362458) local function ScanFood() local foundFood = {} local fruitFolder = workspace:FindFirstChild("FruitFolder") if fruitFolder then local foodContainers = {"Bush", "Coal", "Fish", "JungleTree", "Tree"} for _, containerName in ipairs(foodContainers) do local container = fruitFolder:FindFirstChild(containerName) if container then for _, item in ipairs(container:GetChildren()) do if item:IsA("BasePart") or item:IsA("Model") then local part = item:IsA("BasePart") and item or (item.PrimaryPart or item:FindFirstChildWhichIsA("BasePart")) if part then table.insert(foundFood, { Item = item, Type = containerName, Name = item.Name, Position = part.Position }) end end end end end end return foundFood end FoodTab:CreateSection("Food Scanner") local FoundFood = {} local FoodTypes = {"Bush", "Coal", "Fish", "JungleTree", "Tree"} local FoodTypeDropdown = FoodTab:CreateDropdown({ Name = "Select Food Type", Options = FoodTypes, CurrentOption = {"Bush"}, MultipleOptions = false, Flag = "FoodType", Callback = function(option) end }) FoodTab:CreateButton({ Name = "🍎 Scan for Food", Callback = function() FoundFood = ScanFood() local counts = {} for _, food in ipairs(FoundFood) do counts[food.Type] = (counts[food.Type] or 0) + 1 end local summary = "" for typeName, count in pairs(counts) do summary = summary .. typeName .. ": " .. count .. " " end Rayfield:Notify({ Title = "Food Scan Complete", Content = summary, Duration = 5, Image = 4483362458, }) end }) FoodTab:CreateButton({ Name = "📍 Teleport to Nearest [Selected Type]", Callback = function() if #FoundFood == 0 then Rayfield:Notify({ Title = "Error", Content = "No food found! Scan first.", Duration = 3, Image = 4483362458, }) return end local selectedType = FoodTypeDropdown.CurrentOption[1] local char = game.Players.LocalPlayer.Character if not char or not char:FindFirstChild("HumanoidRootPart") then return end local playerPos = char.HumanoidRootPart.Position local nearestFood = nil local nearestDistance = math.huge for _, food in ipairs(FoundFood) do if food.Type == selectedType then local distance = (food.Position - playerPos).Magnitude if distance < nearestDistance then nearestDistance = distance nearestFood = food end end end if nearestFood then TeleportToPosition(nearestFood.Position) Rayfield:Notify({ Title = "Teleporting", Content = "Teleporting to " .. nearestFood.Type .. " food", Duration = 3, Image = 4483362458, }) else Rayfield:Notify({ Title = "Error", Content = "No " .. selectedType .. " food found!", Duration = 3, Image = 4483362458, }) end end }) local NPCTab = Window:CreateTab("NPCs & Farms", 4483362458) local function GetNPCs() local npcs = {} local npcFolder = workspace:FindFirstChild("Npc") if npcFolder then for _, npc in ipairs(npcFolder:GetChildren()) do if npc:IsA("Model") then local part = npc.PrimaryPart or npc:FindFirstChildWhichIsA("BasePart") if part then table.insert(npcs, { Model = npc, Name = npc.Name, Position = part.Position }) end end end end return npcs end local function GetFarms() local farms = {} local farmFolder = workspace:FindFirstChild("PLAYERFARMS") if farmFolder then for _, container in ipairs(farmFolder:GetChildren()) do if container:IsA("Model") then for _, farm in ipairs(container:GetChildren()) do if farm:IsA("Model") then local part = farm.PrimaryPart or farm:FindFirstChildWhichIsA("BasePart") if part then table.insert(farms, { Model = farm, Container = container.Name, Name = farm.Name, Position = part.Position }) end end end end end end return farms end NPCTab:CreateSection("NPC Teleport") local NPCDropdown NPCTab:CreateButton({ Name = "👤 Load NPCs", Callback = function() local npcs = GetNPCs() local options = {"None"} for _, npc in ipairs(npcs) do table.insert(options, npc.Name) end if NPCDropdown then NPCDropdown:Refresh(options) end Rayfield:Notify({ Title = "NPCs Loaded", Content = "Loaded " .. #npcs .. " NPCs", Duration = 3, Image = 4483362458, }) end }) NPCDropdown = NPCTab:CreateDropdown({ Name = "Select NPC", Options = {"None"}, CurrentOption = {"None"}, MultipleOptions = false, Flag = "SelectedNPC", Callback = function(option) local selected = option[1] if selected == "None" then return end local npcs = GetNPCs() for _, npc in ipairs(npcs) do if npc.Name == selected then TeleportToPosition(npc.Position) Rayfield:Notify({ Title = "Teleporting", Content = "Teleporting to " .. npc.Name, Duration = 3, Image = 4483362458, }) break end end end }) NPCTab:CreateSection("Farm Teleport") local FarmDropdown NPCTab:CreateButton({ Name = "🏡 Load Farms", Callback = function() local farms = GetFarms() local options = {"None"} for _, farm in ipairs(farms) do table.insert(options, farm.Name) end if FarmDropdown then FarmDropdown:Refresh(options) end Rayfield:Notify({ Title = "Farms Loaded", Content = "Loaded " .. #farms .. " farms", Duration = 3, Image = 4483362458, }) end }) FarmDropdown = NPCTab:CreateDropdown({ Name = "Select Farm", Options = {"None"}, CurrentOption = {"None"}, MultipleOptions = false, Flag = "SelectedFarm", Callback = function(option) local selected = option[1] if selected == "None" then return end local farms = GetFarms() for _, farm in ipairs(farms) do if farm.Name == selected then TeleportToPosition(farm.Position) Rayfield:Notify({ Title = "Teleporting", Content = "Teleporting to " .. farm.Name, Duration = 3, Image = 4483362458, }) break end end end })