local Rayfield = loadstring(game:HttpGet('https://sirius.menu/rayfield'))() local Window = Rayfield:CreateWindow({ Name = "Pet Giver", Icon = 0, LoadingTitle = "Loading Pet UI", LoadingSubtitle = "Hold on...", ShowText = "", Theme = "Midnight", ToggleUIKeybind = "K", ConfigurationSaving = { Enabled = true, FileName = "PetConfig" }, Discord = { Enabled = false }, KeySystem = false }) local ReplicatedStorage = game:GetService("ReplicatedStorage") local GivePetRE = ReplicatedStorage:WaitForChild("GivePetRE") local Players = game:GetService("Players") local lplr = Players.LocalPlayer local PetsTab = Window:CreateTab("Pets", "paw-print") local pets = { "Cat", "Dog", "Golden Lab", "Bunny", "Black Bunny", "Orange Tabby", "Deer", "Spotted Deer", "Monkey", "Silver Monkey", "Chicken", "Rooster", "Pig", "Turtle", "Cow", "Snail", "Giant Ant", "Dragon Fly", "Polar Bear", "Panda", "Sea Otter", "Petal Bee", "Bear Bee", "Queen Bee", "Moon Cat", "Bee", "Honey Bee", "Raccoon", "Chicken Zombie", "Butterfly", "Firefly", "Wasp", "Tarantula Hawk", "Moth", "Kiwi", "Mole", "Frog", "Echo Frog", "Owl", "Night Owl", "Grey Mouse", "Squirrel", "Brown Mouse" } local selectedPet = pets[1] local petAmountText = "1" local weightText = "1" local autoGetting = false PetsTab:CreateLabel("Update 4: added a lil more pets and save pos next update is, weathers 🌪.") PetsTab:CreateDropdown({ Name = "Select Pet", Options = pets, CurrentOption = {pets[1]}, MultipleOptions = false, Callback = function(option) selectedPet = option[1] end }) PetsTab:CreateInput({ Name = "How Much Pets", PlaceholderText = "Enter amount (max 100)", RemoveTextAfterFocusLost = false, Callback = function(text) petAmountText = text end }) PetsTab:CreateInput({ Name = "Weight", PlaceholderText = "Enter weight (default = 1)", RemoveTextAfterFocusLost = false, Callback = function(text) weightText = text end }) PetsTab:CreateButton({ Name = "Get Pet", Callback = function() local amount = tonumber(petAmountText) or 1 local weight = tonumber(weightText) or 1 if not tonumber(petAmountText) and petAmountText ~= "" then return Rayfield:Notify({Title = "Invalid Input", Content = "Amount must be a number", Duration = 4}) end if not tonumber(weightText) and weightText ~= "" then return Rayfield:Notify({Title = "Invalid Weight", Content = "Weight must be a number", Duration = 4}) end if amount < 1 or amount > 100 then return Rayfield:Notify({Title = "Limit", Content = "Only 1-100 pets allowed", Duration = 4}) end if not table.find(pets, selectedPet) then return lplr:Kick(selectedPet.." is not on the list") end for _ = 1, amount do GivePetRE:FireServer(selectedPet, weight) end end }) PetsTab:CreateToggle({ Name = "Auto Get Pet", CurrentValue = false, Callback = function(state) autoGetting = state task.spawn(function() while autoGetting do local amount = tonumber(petAmountText) or 1 local weight = tonumber(weightText) or 1 if not table.find(pets, selectedPet) then lplr:Kick(selectedPet.." is not on the list") break end for _ = 1, amount do GivePetRE:FireServer(selectedPet, weight) end task.wait(2) end end) end }) local TpTab = Window:CreateTab("Tp", "map-pin") local savedCFrame = nil TpTab:CreateButton({ Name = "Save pos", Callback = function() local hrp = game.Players.LocalPlayer.Character and game.Players.LocalPlayer.Character:FindFirstChild("HumanoidRootPart") if hrp then savedCFrame = hrp.CFrame Rayfield:Notify({ Title = "Saved!", Content = "Position saved successfully.", Duration = 3 }) end end }) TpTab:CreateButton({ Name = "Tp", Callback = function() local hrp = game.Players.LocalPlayer.Character and game.Players.LocalPlayer.Character:FindFirstChild("HumanoidRootPart") if hrp and savedCFrame then hrp.CFrame = savedCFrame Rayfield:Notify({ Title = "Teleported!", Content = "You have been teleported to the saved position.", Duration = 3 }) else Rayfield:Notify({ Title = "Error", Content = "No position saved or player not loaded.", Duration = 3 }) end end })