-- Smooth Pet System -- ระบบเลี้ยงสัตว์แบบ Smooth print("🐾 Loading Smooth Pet System...") -- Services local ReplicatedStorage = game:GetService("ReplicatedStorage") local Players = game:GetService("Players") local RunService = game:GetService("RunService") local TweenService = game:GetService("TweenService") local LocalPlayer = Players.LocalPlayer local PlayerGui = LocalPlayer:WaitForChild("PlayerGui") local Leaderstats = LocalPlayer:WaitForChild("leaderstats") local Backpack = LocalPlayer:WaitForChild("Backpack") -- Smooth Pet Settings local PetSettings = { -- Pet Management AutoHatchEgg = true, AutoFeedPets = true, AutoBuyEggs = true, AutoEquipPets = true, AutoSellBadPets = false, -- Egg Settings SelectedEggType = "Common Egg", MaxPetsToHatch = 10, HatchInterval = 30, -- ฟักไข่ทุก 30 วินาที -- Feed Settings FeedInterval = 60, -- ให้อาหารทุก 60 วินาที FeedWhenHungry = true, FeedAllPets = true, -- Buy Settings BuyInterval = 120, -- ซื้อไข่ทุก 2 นาที MaxEggsToBuy = 5, -- Performance Settings UseSmoothAnimations = true, AnimationDuration = 0.5, UseThreading = true, MaxThreads = 4, -- Smart Settings SmartPetManagement = true, PrioritizeRarePets = true, AutoEquipBestPets = true } -- Pet Data local PetEggTypes = { ["Common Egg"] = { HatchTime = 600, Price = 100, Rarity = "Common" }, ["Uncommon Egg"] = { HatchTime = 1200, Price = 500, Rarity = "Uncommon" }, ["Rare Egg"] = { HatchTime = 7200, Price = 2500, Rarity = "Rare" }, ["Legendary Egg"] = { HatchTime = 14400, Price = 10000, Rarity = "Legendary" }, ["Mythical Egg"] = { HatchTime = 18400, Price = 50000, Rarity = "Mythical" }, ["Bug Egg"] = { HatchTime = 28800, Price = 25000, Rarity = "Special" }, ["Night Egg"] = { HatchTime = 15000, Price = 15000, Rarity = "Special" }, ["Bee Egg"] = { HatchTime = 14400, Price = 20000, Rarity = "Special" }, ["Anti Bee Egg"] = { HatchTime = 15000, Price = 30000, Rarity = "Special" } } local PetMutations = { ["Golden"] = { Boost = 0.1, Rarity = "Rare" }, ["Rainbow"] = { Boost = 0.2, Rarity = "Epic" }, ["Shiny"] = { Boost = 0.3, Rarity = "Legendary" }, ["Mega"] = { SizeMultiplier = 2, Rarity = "Special" }, ["Tiny"] = { SizeMultiplier = -0.9, Rarity = "Special" } } -- Performance Variables local PetEvents = {} local IsProcessingPets = false local LastHatchTime = 0 local LastFeedTime = 0 local LastBuyTime = 0 -- Game Objects local GameEvents = ReplicatedStorage:WaitForChild("GameEvents") -- Find Pet Events local function FindPetEvents() print("🔍 ค้นหา Pet RemoteEvents...") for _, obj in pairs(ReplicatedStorage:GetDescendants()) do if obj:IsA("RemoteEvent") or obj:IsA("RemoteFunction") then local name = obj.Name:lower() if name:find("pet") or name:find("egg") or name:find("hatch") or name:find("feed") or name:find("animal") or name:find("equip") or name:find("buy") or name:find("sell") or name:find("spawn") then PetEvents[obj.Name] = obj print("🐾 พบ Pet Event: " .. obj.Name) end end end -- Fallback to GameEvents if next(PetEvents) == nil then print("⚠️ ไม่พบ Pet Events เฉพาะ จะใช้ GameEvents แทน") local possibleEvents = { "HatchEgg", "FeedPet", "BuyEgg", "EquipPet", "UnequipPet", "SellPet", "Hatch", "Feed", "Buy", "Equip", "Unequip", "Sell" } for _, eventName in pairs(possibleEvents) do local event = GameEvents:FindFirstChild(eventName) if event then PetEvents[eventName] = event print("🐾 พบ GameEvent: " .. eventName) end end end end FindPetEvents() -- Smooth Pet Functions local function GetAllPets() local pets = {} local Character = LocalPlayer.Character local function isPetTool(tool) if not tool:IsA("Tool") then return false end local indicators = { "PetData", "Pet_Data", "PetInfo", "Pet_Info", "AnimalData", "Animal_Data", "CreatureData", "IsPet", "Pet", "Animal", "Creature" } for _, indicator in pairs(indicators) do if tool:FindFirstChild(indicator) then return true, indicator end end local name = tool.Name:lower() local petNames = { "dog", "cat", "bunny", "rabbit", "chicken", "cow", "pig", "sheep", "bee", "ant", "butterfly", "dragonfly", "mouse", "rat", "hamster", "fox", "wolf", "bear", "deer", "monkey", "squirrel", "owl", "eagle" } for _, petName in pairs(petNames) do if name:find(petName) then return true, "NameMatch" end end return false end for _, tool in pairs(Backpack:GetChildren()) do local isPet, indicator = isPetTool(tool) if isPet then table.insert(pets, { Tool = tool, Name = tool.Name, Location = "Backpack", Indicator = indicator, DataObject = tool:FindFirstChild(indicator) }) end end if Character then for _, tool in pairs(Character:GetChildren()) do local isPet, indicator = isPetTool(tool) if isPet then table.insert(pets, { Tool = tool, Name = tool.Name, Location = "Equipped", Indicator = indicator, DataObject = tool:FindFirstChild(indicator) }) end end end return pets end local function GetAvailableEggs() local eggs = {} local Character = LocalPlayer.Character local function isEggTool(tool) if not tool:IsA("Tool") then return false end local indicators = { "EggData", "Egg_Data", "EggInfo", "Egg_Info", "HatchData", "Hatch_Data", "IsEgg", "Egg" } for _, indicator in pairs(indicators) do if tool:FindFirstChild(indicator) then return true, indicator end end local name = tool.Name:lower() if name:find("egg") then return true, "NameMatch" end for eggType, _ in pairs(PetEggTypes) do if tool.Name == eggType then return true, "EggTypeMatch" end end return false end local function CollectFromParent(Parent) for _, tool in pairs(Parent:GetChildren()) do local isEgg, indicator = isEggTool(tool) if isEgg then table.insert(eggs, { Tool = tool, Name = tool.Name, Indicator = indicator, DataObject = tool:FindFirstChild(indicator) }) end end end CollectFromParent(Backpack) if Character then CollectFromParent(Character) end return eggs end -- Smooth Hatch Egg local function SmoothHatchEgg(eggData) if not eggData or not eggData.Tool then print("⚠️ ไม่มี Egg Tool") return false end local eggTool = eggData.Tool print("🥚 กำลังฟักไข่: " .. eggTool.Name) -- Smooth animation if PetSettings.UseSmoothAnimations then local Character = LocalPlayer.Character if Character and Character:FindFirstChild("Humanoid") then local Humanoid = Character:FindFirstChild("Humanoid") Humanoid.WalkSpeed = 0 -- หยุดเดิน wait(PetSettings.AnimationDuration) Humanoid.WalkSpeed = 16 -- กลับมาเดินปกติ end end -- Try multiple methods local methods = { function() if PetEvents.HatchEgg then PetEvents.HatchEgg:FireServer(eggTool) return "HatchEgg Event" end end, function() for eventName, event in pairs(PetEvents) do if eventName:lower():find("hatch") then event:FireServer(eggTool) return eventName .. " Event" end end end, function() local events = {"HatchEgg", "Hatch", "Pet_Hatch", "Egg_Hatch"} for _, eventName in pairs(events) do local event = GameEvents:FindFirstChild(eventName) if event then event:FireServer(eggTool) return eventName .. " GameEvent" end end end } for _, method in pairs(methods) do local success, result = pcall(method) if success and result then print("✅ ฟักไข่สำเร็จ: " .. eggTool.Name .. " ด้วยวิธี " .. result) return true end end print("❌ ไม่สามารถฟักไข่ได้: " .. eggTool.Name) return false end -- Smooth Feed Pet local function SmoothFeedPet(petData) if not petData or not petData.Tool then print("⚠️ ไม่มี Pet Tool") return false end local petTool = petData.Tool print("🍼 กำลังให้อาหาร: " .. petTool.Name) -- Smooth animation if PetSettings.UseSmoothAnimations then local Character = LocalPlayer.Character if Character and Character:FindFirstChild("Humanoid") then local Humanoid = Character:FindFirstChild("Humanoid") Humanoid.WalkSpeed = 0 -- หยุดเดิน wait(PetSettings.AnimationDuration) Humanoid.WalkSpeed = 16 -- กลับมาเดินปกติ end end -- Try multiple methods local methods = { function() if PetEvents.FeedPet then PetEvents.FeedPet:FireServer(petTool) return "FeedPet Event" end end, function() for eventName, event in pairs(PetEvents) do if eventName:lower():find("feed") then event:FireServer(petTool) return eventName .. " Event" end end end, function() local events = {"FeedPet", "Feed", "Pet_Feed", "Animal_Feed"} for _, eventName in pairs(events) do local event = GameEvents:FindFirstChild(eventName) if event then event:FireServer(petTool) return eventName .. " GameEvent" end end end } for _, method in pairs(methods) do local success, result = pcall(method) if success and result then print("✅ ให้อาหารสำเร็จ: " .. petTool.Name .. " ด้วยวิธี " .. result) return true end end print("❌ ไม่สามารถให้อาหารได้: " .. petTool.Name) return false end -- Smooth Buy Egg local function SmoothBuyEgg(eggType) if not PetEggTypes[eggType] then print("⚠️ ไม่มีไข่ประเภท: " .. eggType) return false end print("🛒 กำลังซื้อไข่: " .. eggType) -- Smooth animation if PetSettings.UseSmoothAnimations then local Character = LocalPlayer.Character if Character and Character:FindFirstChild("Humanoid") then local Humanoid = Character:FindFirstChild("Humanoid") Humanoid.WalkSpeed = 0 -- หยุดเดิน wait(PetSettings.AnimationDuration) Humanoid.WalkSpeed = 16 -- กลับมาเดินปกติ end end -- Try multiple methods local methods = { function() if PetEvents.BuyEgg then PetEvents.BuyEgg:FireServer(eggType) return "BuyEgg Event" end end, function() for eventName, event in pairs(PetEvents) do if eventName:lower():find("buy") then event:FireServer(eggType) return eventName .. " Event" end end end, function() local events = {"BuyEgg", "Buy", "Pet_Buy", "Egg_Buy"} for _, eventName in pairs(events) do local event = GameEvents:FindFirstChild(eventName) if event then event:FireServer(eggType) return eventName .. " GameEvent" end end end } for _, method in pairs(methods) do local success, result = pcall(method) if success and result then print("✅ ซื้อไข่สำเร็จ: " .. eggType .. " ด้วยวิธี " .. result) return true end end print("❌ ไม่สามารถซื้อไข่ได้: " .. eggType) return false end -- Smooth Pet Loops local function SmoothHatchEggLoop() if not PetSettings.AutoHatchEgg or IsProcessingPets then return end local currentTime = tick() if (currentTime - LastHatchTime) < PetSettings.HatchInterval then return end local eggs = GetAvailableEggs() if #eggs == 0 then print("📝 ไม่มีไข่ให้ฟัก") return end print("🥚 พบไข่ทั้งหมด " .. #eggs .. " ฟอง") IsProcessingPets = true local hatchedCount = 0 for _, eggData in pairs(eggs) do if hatchedCount >= PetSettings.MaxPetsToHatch then print("⏹️ ถึงจำนวนสูงสุดแล้ว (" .. PetSettings.MaxPetsToHatch .. ")") break end if not PetSettings.AutoHatchEgg then break end if SmoothHatchEgg(eggData) then hatchedCount = hatchedCount + 1 wait(2) -- รอให้เซิร์ฟเวอร์ประมวลผล end wait(0.5) -- รอระหว่างแต่ละครั้ง end if hatchedCount > 0 then print("✅ ฟักไข่สำเร็จทั้งหมด " .. hatchedCount .. " ฟอง") end LastHatchTime = currentTime IsProcessingPets = false end local function SmoothFeedPetsLoop() if not PetSettings.AutoFeedPets or IsProcessingPets then return end local currentTime = tick() if (currentTime - LastFeedTime) < PetSettings.FeedInterval then return end local pets = GetAllPets() if #pets == 0 then print("📝 ไม่มีสัตว์เลี้ยงให้ให้อาหาร") return end print("🐾 พบสัตว์เลี้ยงทั้งหมด " .. #pets .. " ตัว") IsProcessingPets = true local fedCount = 0 for _, petData in pairs(pets) do if not PetSettings.AutoFeedPets then break end if SmoothFeedPet(petData) then fedCount = fedCount + 1 wait(1) -- รอให้เซิร์ฟเวอร์ประมวลผล end wait(0.3) -- รอระหว่างแต่ละตัว end if fedCount > 0 then print("✅ ให้อาหารสำเร็จทั้งหมด " .. fedCount .. " ตัว") end LastFeedTime = currentTime IsProcessingPets = false end local function SmoothBuyEggsLoop() if not PetSettings.AutoBuyEggs or IsProcessingPets then return end local currentTime = tick() if (currentTime - LastBuyTime) < PetSettings.BuyInterval then return end local eggs = GetAvailableEggs() if #eggs >= PetSettings.MaxEggsToBuy then print("📝 มีไข่เพียงพอแล้ว (" .. #eggs .. "/" .. PetSettings.MaxEggsToBuy .. ")") return end local eggType = PetSettings.SelectedEggType local eggInfo = PetEggTypes[eggType] if eggInfo then print("🔄 กำลังซื้อไข่: " .. eggType .. " (ราคา: " .. eggInfo.Price .. ")") if SmoothBuyEgg(eggType) then print("✅ ซื้อไข่สำเร็จ: " .. eggType) else print("❌ ซื้อไข่ไม่สำเร็จ: " .. eggType) end else print("⚠️ ไม่พบข้อมูลไข่: " .. eggType) end LastBuyTime = currentTime end -- Main Loops local function StartSmoothPetLoops() print("🐾 Starting Smooth Pet Loops...") -- Smooth Hatch Egg Loop spawn(function() while true do local success, err = pcall(SmoothHatchEggLoop) if not success then print("⚠️ Smooth Hatch error: " .. tostring(err)) end wait(PetSettings.HatchInterval) end end) -- Smooth Feed Pets Loop spawn(function() while true do local success, err = pcall(SmoothFeedPetsLoop) if not success then print("⚠️ Smooth Feed error: " .. tostring(err)) end wait(PetSettings.FeedInterval) end end) -- Smooth Buy Eggs Loop spawn(function() while true do local success, err = pcall(SmoothBuyEggsLoop) if not success then print("⚠️ Smooth Buy error: " .. tostring(err)) end wait(PetSettings.BuyInterval) end end) print("✅ Smooth Pet Loops started") end -- Simple UI local function CreateSmoothPetUI() print("🎨 Creating Smooth Pet UI...") local ScreenGui = Instance.new("ScreenGui") ScreenGui.Name = "SmoothPetUI" ScreenGui.Parent = PlayerGui ScreenGui.ResetOnSpawn = false local MainFrame = Instance.new("Frame") MainFrame.Name = "MainFrame" MainFrame.Parent = ScreenGui MainFrame.BackgroundColor3 = Color3.fromRGB(25, 25, 30) MainFrame.BorderSizePixel = 0 MainFrame.Position = UDim2.new(0, 700, 0, 50) MainFrame.Size = UDim2.new(0, 250, 0, 250) MainFrame.Active = true MainFrame.Draggable = true local Corner = Instance.new("UICorner") Corner.CornerRadius = UDim.new(0, 12) Corner.Parent = MainFrame local Stroke = Instance.new("UIStroke") Stroke.Parent = MainFrame Stroke.Color = Color3.fromRGB(255, 100, 255) Stroke.Thickness = 2 -- Title local Title = Instance.new("TextLabel") Title.Parent = MainFrame Title.BackgroundColor3 = Color3.fromRGB(255, 100, 255) Title.BorderSizePixel = 0 Title.Size = UDim2.new(1, 0, 0, 40) Title.Font = Enum.Font.SourceSansBold Title.Text = "🐾 Smooth Pet System" Title.TextColor3 = Color3.fromRGB(255, 255, 255) Title.TextSize = 16 local TitleCorner = Instance.new("UICorner") TitleCorner.CornerRadius = UDim.new(0, 12) TitleCorner.Parent = Title -- Status local StatusLabel = Instance.new("TextLabel") StatusLabel.Parent = MainFrame StatusLabel.BackgroundTransparency = 1 StatusLabel.Position = UDim2.new(0, 10, 0, 50) StatusLabel.Size = UDim2.new(1, -20, 0, 20) StatusLabel.Font = Enum.Font.SourceSans StatusLabel.Text = "สถานะ: พร้อมเลี้ยงสัตว์" StatusLabel.TextColor3 = Color3.fromRGB(255, 255, 255) StatusLabel.TextSize = 12 StatusLabel.TextXAlignment = Enum.TextXAlignment.Left -- Stats local StatsLabel = Instance.new("TextLabel") StatsLabel.Parent = MainFrame StatsLabel.BackgroundTransparency = 1 StatsLabel.Position = UDim2.new(0, 10, 0, 80) StatsLabel.Size = UDim2.new(1, -20, 0, 150) StatsLabel.Font = Enum.Font.SourceSans StatsLabel.Text = "สถิติ:\n- ฟักไข่: " .. PetSettings.HatchInterval .. " วินาที\n- ให้อาหาร: " .. PetSettings.FeedInterval .. " วินาที\n- ซื้อไข่: " .. PetSettings.BuyInterval .. " วินาที\n- จำนวนสูงสุด: " .. PetSettings.MaxPetsToHatch .. " ตัว\n- ไข่ที่เลือก: " .. PetSettings.SelectedEggType StatsLabel.TextColor3 = Color3.fromRGB(200, 200, 200) StatsLabel.TextSize = 10 StatsLabel.TextXAlignment = Enum.TextXAlignment.Left StatsLabel.TextYAlignment = Enum.TextYAlignment.Top print("✅ Smooth Pet UI created") end -- Initialize print("🐾 Initializing Smooth Pet System...") wait(1) CreateSmoothPetUI() StartSmoothPetLoops() game:GetService("StarterGui"):SetCore("SendNotification", { Title = "🐾 Smooth Pet System", Text = "ระบบเลี้ยงสัตว์แบบ Smooth พร้อมใช้งาน!", Duration = 3 }) print("🐾 " .. string.rep("=", 50)) print("✅ Smooth Pet System พร้อมใช้งาน!") print("🐾 ฟักไข่: " .. PetSettings.HatchInterval .. " วินาที") print("🐾 ให้อาหาร: " .. PetSettings.FeedInterval .. " วินาที") print("🐾 ซื้อไข่: " .. PetSettings.BuyInterval .. " วินาที") print("🐾 " .. string.rep("=", 50)) return { Settings = PetSettings, UI = ScreenGui }