Advertisement
NukeVsCity

source

Jun 27th, 2023
1,016
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
Lua 210.44 KB | None | 0 0
  1.  
  2.  
  3.  
  4.  
  5.  
  6.  
  7.  
  8.  
  9. --this doesnt work yet dont execute
  10.  
  11.  
  12.  
  13.  
  14.  
  15.  
  16.  
  17.  
  18.  
  19.  
  20. if not LPH_OBFUSCATED then
  21.     LPH_JIT_MAX = function(...) return(...) end;
  22.     LPH_NO_VIRTUALIZE = function(...) return(...) end;
  23. end
  24.  
  25. --//Pet Simulator X
  26. repeat task.wait() until game:IsLoaded()
  27. if game.PlaceId == 6284583030 or 10321372166 or 7722306047 then
  28. repeat task.wait() until require(game.ReplicatedStorage:WaitForChild("Framework"):WaitForChild("Library")).Loaded
  29.  
  30. local StartTick = tick()
  31.  
  32. --// Anti Afk
  33. local VirtualUser=game:service'VirtualUser'
  34. game:service'Players'.LocalPlayer.Idled:connect(function()
  35. VirtualUser:CaptureController()
  36. VirtualUser:ClickButton2(Vector2.new())
  37. end)
  38.  
  39. --// Variables
  40. local ReplicatedStorage = game:GetService("ReplicatedStorage")
  41. local Players = game:GetService("Players")
  42. local Workspace = game:GetService("Workspace")
  43. local HttpService = game:GetService("HttpService")
  44. local TeleportService = game:GetService("TeleportService")
  45. local RunService = game:GetService("RunService")
  46. local PathfindingService = game:GetService("PathfindingService")
  47. local ReplicatedFirst = game:GetService("ReplicatedFirst")
  48. local Player = Players.LocalPlayer
  49.  
  50. if not isfolder("MilkUp") then
  51.     makefolder("MilkUp")
  52. end
  53. if not isfolder("MilkUp/PetSimulatorX") then
  54.     makefolder("MilkUp/PetSimulatorX")
  55. end
  56. if not isfile("MilkUp/PetSimulatorX/GlobalSettings.json") then
  57.     writefile("MilkUp/PetSimulatorX/GlobalSettings.json", HttpService:JSONEncode({["LoadConfig"] = false, ["SeparateConfig"] = false}))
  58. end
  59.  
  60. local Library = require(ReplicatedStorage:WaitForChild("Framework"):WaitForChild("Library"))
  61. local Scripts = Player.PlayerScripts.Scripts
  62. local Api = "https://games.roblox.com/v1/games/"
  63. local HTTPRequest =  http_request or request or HttpPost or syn.request
  64. local UserIDToUsername = Library.Functions.UserIdToUsername
  65. local IsHardcoreMode = (game.PlaceId == 10321372166 and true) or false
  66. local Premium = (LRM_IsUserPremium and true) or (not LPH_OBFUSCATED and true) or false
  67. local DiscordID = (not LPH_OBFUSCATED and "Flury") or (LRM_LinkedDiscordID and LRM_LinkedDiscordID)  or "Someone"
  68. local RemotesLoaded = false
  69. local ScriptVersion = 2.4
  70.  
  71. --// PSX Remotes
  72. local Remotes = {
  73.     ["Get Coins"] = {"Invoke", nil},
  74.     ["Join Coin"] = {"Invoke", nil},
  75.     ["Leave Coin"] = {"Invoke", nil},
  76.     ["Farm Coin"] = {"Fire", nil},
  77.     ["Claim Orbs"] = {"Invoke", nil},
  78.     ["Collect Lootbag"] = {"Fire", nil},
  79.     ["Buy Egg"] = {"Invoke", nil},
  80.     ["Use Golden Machine"] = {"Invoke", nil},
  81.     ["Use Rainbow Machine"] = {"Invoke", nil},
  82.     ["Convert To Dark Matter"] = {"Invoke", nil},
  83.     ["Redeem Dark Matter Pet"] = {"Invoke", nil},
  84.     ["Fuse Pets"] = {"Invoke", nil},
  85.     ["Delete Several Pets"] = {"Invoke", nil},
  86.     ["Request World"] = {"Invoke", nil},
  87.     ["Claim Trading Booth"] = {"Invoke", nil},
  88.     ["Purchase Trading Booth Pet"] = {"Invoke", nil},
  89.     ["Add Trading Booth Pet"] = {"Invoke", nil},
  90.     ["Get Booth By Id"] = {"Invoke", nil},
  91.     ["Get All Booths"] = {"Invoke", nil},
  92.     ["Redeem Rank Rewards"] = {"Invoke", nil},
  93.     ["Redeem VIP Rewards"] = {"Invoke", nil},
  94.     ["Redeem Free Gift"] = {"Invoke", nil},
  95.     ["Activate Boost"] = {"Fire", nil},
  96.     ["Activate Server Boost"] = {"Fire", nil},
  97.     ["Travel To Main World"] = {"Invoke", nil},
  98.     ["Travel To Trading Plaza"] = {"Invoke", nil},
  99.     ["Travel To Hardcore World"] = {"Invoke", nil},
  100.     ["Buy Area"] = {"Invoke", nil},
  101.     ["Request Cannon Launch"] = {"Invoke", nil},
  102.     ["Start Hacker Portal Quests"] = {"Fire", nil},
  103.     ["Finish Hacker Portal Quest"] = {"Invoke", nil}
  104. }
  105.  
  106. local function UseRemote(RemoteName, ...)
  107.     if RemoteName[2] ~= nil and RemotesLoaded then
  108.         local RemoteNetwork = Library.Network[RemoteName[1]]
  109.         return RemoteNetwork(RemoteName[2], ...)
  110.     end
  111. end
  112.  
  113. local function AdvancedSignal(Content, ColorToInput)
  114.     return Library.Signal.Fire("Notification", Content, {color = ColorToInput})
  115. end
  116.  
  117. local function NewFunction(...)
  118.     return ...
  119. end
  120.  
  121. local function GetAllRemotes()
  122.     task.spawn(function()
  123.         task.wait(10)
  124.         LPH_NO_VIRTUALIZE(function()
  125.             local RemoteTime = tick()
  126.             InvokeHook = hookfunction(getupvalue(Library.Network.Invoke, 1), function(...) return true end)
  127.             FireHook = hookfunction(getupvalue(Library.Network.Fire, 1), function(...) return true end)
  128.             for i,v in pairs(getgc()) do
  129.                 if type(v) == "function" and islclosure(v) then
  130.                     --// Join Coin
  131.                     if debug.getinfo(v).name == "SelectCoin" then
  132.                         if #debug.getconstants(v) > 15 then
  133.                             Remotes["Join Coin"][2] = debug.getconstant(v, 36)
  134.                             Remotes["Leave Coin"][2] = debug.getconstant(v, 51)
  135.                         end
  136.                     end
  137.                     --// Farm Coin
  138.                     if debug.getinfo(v).name == "SelectCoin" then
  139.                         if #debug.getconstants(v) > 15 then
  140.                             Remotes["Farm Coin"][2] = debug.getconstant(debug.getproto(v, 5), 6)
  141.                         end
  142.                     end
  143.                 end
  144.             end
  145.            
  146.             --// Get Coins
  147.             Remotes["Get Coins"][2] = debug.getconstant(getsenv(Scripts.Game.Coins).InvokeCoins, 3)
  148.  
  149.             --// Collect LootBag
  150.             Remotes["Collect Lootbag"][2] = debug.getconstant(getsenv(Scripts.Game.Lootbags).Collect, 32)
  151.  
  152.             --// Buy Egg
  153.             Remotes["Buy Egg"][2] = debug.getconstant(debug.getproto(getsenv(Scripts.Game.Eggs).SetupEgg, 5), 26)
  154.  
  155.             --/ Use Golden Machine
  156.             Remotes["Use Golden Machine"][2] = debug.getconstant(getsenv(Scripts.GUIs["Golden Machine"]).Convert, 15)
  157.  
  158.             --// Use Rainbow Machine
  159.             Remotes["Use Rainbow Machine"][2] = debug.getconstant(getsenv(Scripts.GUIs["Rainbow Machine"]).Convert, 15)
  160.  
  161.             --// Convert To Dark Matter
  162.             Remotes["Convert To Dark Matter"][2] = debug.getconstant(getsenv(Scripts.GUIs["Dark Matter Machine"]).PetsConvert, 3)
  163.  
  164.             --// Redeem Dark Matter Pet
  165.             Remotes["Redeem Dark Matter Pet"][2] = debug.getconstant(getsenv(Scripts.GUIs["Dark Matter Machine"]).RedeemQueuePet, 3)
  166.  
  167.             --// Fuse Pets
  168.             Remotes["Fuse Pets"][2] = debug.getconstant(getsenv(Scripts.GUIs["Fuse Pets"]).Fuse, 7)
  169.  
  170.             --// Delete Several Pets
  171.             Remotes["Delete Several Pets"][2] = debug.getconstant(debug.getproto(getsenv(Scripts.GUIs.Inventory).DeletePets, 1), 22)
  172.  
  173.             --// Request World
  174.             Remotes["Request World"][2] = debug.getconstant(Library.WorldCmds.Load, 16)
  175.  
  176.             --// Claim Trading Booth
  177.             Remotes["Claim Trading Booth"][2] = debug.getconstant(getsenv(Scripts.Game["Trading Booths"]).ClaimBooth, 3)
  178.  
  179.             --// Purchase Trading Booth Pet
  180.             Remotes["Purchase Trading Booth Pet"][2] = debug.getconstant(getsenv(Scripts.Game["Trading Booths"]).AttemptBuy, 32)
  181.  
  182.             --// Add Trading Booth Pet
  183.             Remotes["Add Trading Booth Pet"][2] = debug.getconstant(getsenv(Scripts.GUIs["List Pet"]).List, 8)
  184.  
  185.             --// Get Booth By Id
  186.             Remotes["Get Booth By Id"][2] = debug.getconstant(getsenv(Scripts.GUIs["Booth Inventory"]).Update, 7)
  187.  
  188.             --// Get All Booths
  189.             Remotes["Get All Booths"][2] = debug.getconstant(getsenv(Scripts.Game["Trading Booths"]).Setup, 3)
  190.  
  191.             --// Redeem Rank Rewards
  192.             Remotes["Redeem Rank Rewards"][2] = debug.getconstant(getsenv(Scripts.Game["Reedem Rank Rewards"]).Redeem, 3)
  193.  
  194.             --// Redeem VIP Rewards
  195.             Remotes["Redeem VIP Rewards"][2] = debug.getconstant(getsenv(Scripts.Game["Reedem VIP Rewards"]).Redeem, 3)
  196.  
  197.             --// Redeem Free Gift
  198.             Remotes["Redeem Free Gift"][2] = debug.getconstant(getsenv(Scripts.GUIs["Free Gifts"]).Redeem, 3)
  199.  
  200.             --// Activate Boost
  201.             Remotes["Activate Boost"][2] = debug.getconstant(debug.getproto(debug.getproto(getsenv(Scripts.GUIs["Exclusive Shop"]).UpdateBoosts, 2), 2), 3)
  202.  
  203.             --// Activate Server Boost
  204.             Remotes["Activate Server Boost"][2] = debug.getconstant(debug.getproto(debug.getproto(getsenv(Scripts.GUIs["Server Boosts"]).Update, 3), 1), 3)
  205.  
  206.             --// World Remotes
  207.             Remotes["Travel To Main World"][2] = debug.getconstant(getsenv(Scripts.Game.Misc["Leave Trading Plaza"]).Request, 5)
  208.             Remotes["Travel To Hardcore World"][2] = debug.getconstant(getsenv(Scripts.Game.Misc["Hardcore Mode Teleports"]).Request, 15)
  209.             Remotes["Travel To Trading Plaza"][2] = debug.getconstant(getsenv(Scripts.Game.Misc["Join Trading Plaza"]).Request, 7)
  210.  
  211.             --// Buy Gate
  212.             Remotes["Buy Area"][2] = debug.getconstant(getsenv(Scripts.Game.Gates).BuyGate, 20)
  213.  
  214.             --// Request Cannon Launch
  215.             Remotes["Request Cannon Launch"][2] = debug.getconstant(getsenv(Scripts.Game.Cannons).ClientAttemptFire, 14)
  216.  
  217.             --// Start Hacker Portal Quest
  218.             Remotes["Start Hacker Portal Quests"][2] = debug.getconstant(getsenv(Scripts.Game["Hacker Portal Quests"]).PromptQuest, 12)
  219.  
  220.             --// Finish Hacker Portal Quest
  221.             Remotes["Finish Hacker Portal Quest"][2] = debug.getconstant(getsenv(Scripts.Game["Hacker Portal Quests"]).PromptQuest, 19)
  222.             RemotesLoaded = true
  223.              AdvancedSignal("Remotes Loaded Took: "..tick() - RemoteTime, Color3.fromRGB(115, 80, 255))
  224.         end)()
  225.     end)
  226. end
  227.  
  228. GetAllRemotes()
  229.  
  230. LPH_NO_VIRTUALIZE(function()
  231.     local Audio = require(game:GetService("ReplicatedStorage").Library.Audio)
  232.     local AudoHook
  233.     local FakeSound = Instance.new("Sound", game.Workspace)
  234.     FakeSound.Name = "Fake"
  235.     AudoHook = hookfunction(Audio.Play, function(...)
  236.         return FakeSound
  237.     end)
  238. end)()
  239.  
  240. --// Tables
  241. getgenv().Config = {
  242.     ConfigVersion = ScriptVersion,
  243.     SelectedConfig = "None",
  244.     Valentines = {
  245.         StartHeartFarm = false,
  246.         StartWorldTeleport = false,
  247.         StartServerTeleport = false,
  248.         StartInstantWorldTeleport = false,
  249.         Worlds = {
  250.             Spawn = false,
  251.             Fantasy = false,
  252.             Tech = false,
  253.             Axolotl = false,
  254.             Pixel = false,
  255.             Cat = false
  256.         }
  257.     },
  258.     Farming = {
  259.         StartFarm = false,
  260.         Mode = "Normal",
  261.         CoinType = "Normal",
  262.         FarmSpeed = 0.09,
  263.         PetSendSpeed = 0,
  264.         SendAllPets = false,
  265.         CollectOrbs = false,
  266.         CollectLootbags = false,
  267.         TeleportToCoinsArea = false,
  268.         StayOnPrivatePlatform = false,
  269.         StartCompleteGame = false,
  270.         Areas = {},
  271.         Blacklisted = {}
  272.     },
  273.     Pets = {
  274.         StartHatch = false,
  275.         StartOpenInventory = false,
  276.         DisableEggAnimation = false,
  277.         DisableNotifications = false,
  278.         TeleportToEgg = false,
  279.         Mode = "Single",
  280.         ChoosenEgg = "None"
  281.     },
  282.     Machines = {
  283.         Golden = {
  284.             StartGolden = false,
  285.             GoldenAmount = 6,
  286.             GoldenHC = false,
  287.             GoldenHCAmount = 10,
  288.             GoldenShiny = false,
  289.         },
  290.         Rainbow = {
  291.             StartRainbow = false,
  292.             RainbowAmount = 6,
  293.             RainbowHC = false,
  294.             RainbowHCAmount = 10,
  295.             RainbowShiny = false,
  296.         },
  297.         DarkMatter = {
  298.             StartDarkMatter = false,
  299.             ClaimPets = false,
  300.             DarkMatterAmount = 6,
  301.             DarkMatterHC = false,
  302.             DarkMatterHCAmount = 8,
  303.             DarkMatterShiny = false,
  304.         },
  305.         Fusing = {
  306.             StartFuse = false,
  307.             Amount = 3,
  308.             Mode = "Normal",
  309.             WhenToStop = 0
  310.         }
  311.     },
  312.     Booths = {
  313.         Selling = {
  314.             StartSellingPet = false,
  315.             ChoosenPetToSell = "None",
  316.             ChoosenPetPrice = "None",
  317.             SellingList = {},
  318.             Options = {},
  319.             EditMode = false,
  320.             EditNumber = "None"
  321.         },
  322.         Sniping = {
  323.             StartSnipingPet = false,
  324.             SnipePetRarity = false,
  325.             SnipePetUnder = false,
  326.             GemsUnderToSnipe = "None",
  327.             ChoosenPetToSnipe = "None",
  328.             SnipingList = {},
  329.             Options = {},
  330.             Rarities = {},
  331.             EditMode = false,
  332.             EditNumber = "None"
  333.         },
  334.         Extra = {
  335.             TeleportToBooth = false,
  336.             GoInvisible = false,
  337.             WalkToBooth = false,
  338.             BoothServerHop = false,
  339.             BoothServerHopVoice = false,
  340.             BoothServerHopSeconds = 1
  341.         }
  342.     },
  343.     Deleting = {
  344.         StartDelete = false,
  345.         DeleteByRarity = false,
  346.         ChoosenPetToDelete = "None",
  347.         Options = {},
  348.         Rarities = {}
  349.     },
  350.     Misc = {
  351.         Redeeming = {
  352.             RedeemRankRewards = false,
  353.             RedeemVIPRewards = false,
  354.             RedeemFreeGifts = false
  355.         },
  356.         Teleports = {
  357.             LoadNormalExperience = false,
  358.             LoadHardcoreExperience = false,
  359.             LoadTradingExperience = false,
  360.             LoadTradingVoiceExperience = false,
  361.         },
  362.         Hoverboards = {
  363.             CurrentHoverboard = "Cat",
  364.             HoverboardSpeed = 75,
  365.         },
  366.         Boosting = {
  367.             UseBoosts = false,
  368.             UseAllBoosts = false,
  369.             BoostsToActivate = {},
  370.             UseServerBoost = false,
  371.             ServerBoostsToActivate = {}
  372.         },
  373.         Extra = {
  374.             StatsTracker = false,
  375.             ReduceLag = false,
  376.             LockFps = false,
  377.             ChangeFpsTo = 60
  378.         }
  379.     },
  380.     PetCollection = {
  381.         StartCollecting = false,
  382.         Mode = "Single",
  383.         Options = {},
  384.         Rarities = {}
  385.     },
  386.     Mastery = {
  387.         StartCompletingMasterys = false,
  388.         MasterysToFarm = {},
  389.     },
  390.     Guis = {
  391.         GuiMachines = {
  392.             GoldenMachine = "T",
  393.             RainbowMachine = "Y",
  394.             DarkMatterMachine = "G",
  395.             FuseMachine = "J",
  396.             EnchantMachine = "H",
  397.             BankMachine = "B",
  398.             ServerBoostMachine = "V"
  399.         }
  400.     },
  401.     Webhooks = {
  402.         HatchWebhook = {
  403.             StartWebhook = false,
  404.             ChoosenWebhook = "None",
  405.             PingUser = false,
  406.             ChoosenUserID = "None",
  407.             ShowChances = false,
  408.             ShowEggsHatched = false,
  409.             ShowEggsRemaining = false,
  410.             ShowCurrencyRemaining = false,
  411.             ShowStrength = false,
  412.             ShowEnchants = false,
  413.             Rarities = {}
  414.         },
  415.         SnipeWebhook = {
  416.             StartWebhook = false,
  417.             ChoosenWebhook = "None",
  418.             PingUser = false,
  419.             ChoosenUserID = "None",
  420.             ShowGemsSnipedFor = false,
  421.             ShowGemsRemaining = false,
  422.             ShowOwner = false,
  423.             ShowStrength = false,
  424.             ShowEnchants = false
  425.         },
  426.         SellWebhook = {
  427.             StartWebhook = false,
  428.             ChoosenWebhook = "None",
  429.             PingUser = false,
  430.             ChoosenUserID = "None",
  431.             ShowSoldFor = false,
  432.             ShowTotalGems = false,
  433.             ShowPurchasedBy = false,
  434.         }
  435.     }
  436. }
  437.  
  438. local IsLoadConfig = (HttpService:JSONDecode(readfile("MilkUp/PetSimulatorX/GlobalSettings.json"))["LoadConfig"] == true and true) or false
  439. local IsSeparateConfig = (HttpService:JSONDecode(readfile("MilkUp/PetSimulatorX/GlobalSettings.json"))["SeparateConfig"] == true and true) or false
  440. if not isfile("MilkUp/PetSimulatorX/DefaultConfig.json") then
  441.     writefile("MilkUp/PetSimulatorX/DefaultConfig.json", HttpService:JSONEncode(Config))
  442. end
  443. if IsSeparateConfig and not isfile("MilkUp/PetSimulatorX/"..Player.Name..".json") then
  444.     writefile("MilkUp/PetSimulatorX/"..Player.Name..".json", HttpService:JSONEncode(Config))
  445. end
  446. local ConfigName = (IsSeparateConfig and "MilkUp/PetSimulatorX/"..Player.Name..".json") or "MilkUp/PetSimulatorX/DefaultConfig.json"
  447.  
  448. --// Config
  449. local function DeleteConfig()
  450.     if isfile(ConfigName) then
  451.         delfile(ConfigName)
  452.         AdvancedSignal("Deleted Config!", Color3.fromRGB(255, 0, 0))
  453.     end
  454. end
  455.  
  456. local function SaveConfig()
  457.     writefile(ConfigName, HttpService:JSONEncode(Config))
  458. end
  459.  
  460. local function UpdateConfg()
  461.     for i,v in pairs(HttpService:JSONDecode(readfile(ConfigName))) do
  462.         if type(v) == "table" then
  463.             for i2,v2 in pairs(v) do
  464.                 if type(v2) == "boolean" then
  465.                     Config[i][i2] = v2
  466.                 end
  467.                 if type(v2) == "string" then
  468.                     Config[i][i2] = v2
  469.                 end
  470.                 if type(v2) == "table" then
  471.                     for i3,v3 in pairs(v2) do
  472.                         if type(v3) ~= "table" then
  473.                             Config[i][i2] = v2
  474.                         end
  475.                         if type(v3) == "boolean" then
  476.                             Config[i][i2][i3] = v3
  477.                         end
  478.                         if type(v2) == "string" then
  479.                             Config[i][i2][i3] = v3
  480.                         end
  481.                         if type(v3) == "table" then
  482.                             Config[i][i2][i3] = v3
  483.                         end
  484.                     end
  485.                 end
  486.             end
  487.         end
  488.     end
  489.     writefile(ConfigName, HttpService:JSONEncode(Config))
  490.     AdvancedSignal("Updated Config To Latest Version!", Color3.fromRGB(52, 235, 171))
  491.     -- AdvancedSignal("Config Error! Erased Config, Sorry!", Color3.fromRGB(224, 67, 67))
  492. end
  493.  
  494. local function LoadConfig()
  495.     if isfile(ConfigName) and IsLoadConfig then
  496.         if HttpService:JSONDecode(readfile(ConfigName))["ConfigVersion"] ~= ScriptVersion then
  497.             UpdateConfg()
  498.         else
  499.             Config = HttpService:JSONDecode(readfile(ConfigName))
  500.         end
  501.         ConfigLoaded = true
  502.         return AdvancedSignal("Loaded Config!", Color3.fromRGB(88, 247, 255))
  503.     end
  504. end
  505.  
  506. local ConfigSuccess, ConfigError = pcall(function() LoadConfig() end)
  507. if not ConfigSuccess then
  508.     warn("(Error-MilkUp) "..ConfigError)
  509.     AdvancedSignal("Config Error! Please Make A Ticket At .gg/milkup", Color3.fromRGB(224, 67, 67))
  510. end
  511.  
  512. --// Tables
  513. local RaritiesList = {"Basic", "Rare", "Epic", "Legendary", "Mythical", "", "Event",  "Exclusive"}
  514. local RaritiesWithoutExclusiveList = {"Basic", "Rare", "Epic", "Legendary", "Mythical"}
  515. local TypeList = {"Regular", "Hardcore", "Shiny", "Golden", "Rainbow", "Dark Matter", "Any"}
  516. local TypesForCollectionList = {"Regular", "Golden", "Rainbow", "Dark Matter", "Any"}
  517. local MasteryList = {"Coin Piles", "Crates", "Diamond Piles", "Chests", "Presents", "VaultsAndSafes", "Eggs", "Golden Eggs"}
  518.  
  519. local LayoutOrdersList = {
  520.     ["Diamonds"] = 999910,
  521.     ["Halloween Candy"] = 999920,
  522.     ["Gingerbread"] = 999930,
  523.     ["Rainbow Coins"] = 999940,
  524.     ["Tech Coins"] = 999950,
  525.     ["Fantasy Coins"] = 999960,
  526.     ["Coins"] = 999970,
  527. }
  528.  
  529. local AreaList = {}
  530. for i,v in pairs(ReplicatedStorage["__DIRECTORY"].Areas:GetChildren()) do
  531.     if not AreaList[v.Name:split("| ")[2]] then
  532.         AreaList[v.Name:split("| ")[2]] = {}
  533.     end
  534.     for i2,v2 in pairs(require(v)) do
  535.         table.insert(AreaList[v.Name:split("| ")[2]], i2)
  536.     end
  537. end
  538.  
  539. local HoverboardList = {}
  540. for i,v in pairs(Library.Directory.Hoverboards) do
  541.     table.insert(HoverboardList, i)
  542. end
  543.  
  544. local CoinTypeList = {}
  545. for i,v in pairs(Library.Directory.Worlds) do
  546.     if v.Disabled ~= true then
  547.         if not CoinTypeList[i] then
  548.             CoinTypeList[i] = {}
  549.         end
  550.         for i2,v2 in pairs(v.spawns) do
  551.             for i3,v3 in pairs(v2.coins) do
  552.                 table.insert(CoinTypeList[i], v3[1])
  553.             end
  554.         end
  555.     end
  556. end
  557.  
  558. local EggList = {}
  559. for i,v in pairs(ReplicatedStorage["__DIRECTORY"].Eggs:GetDescendants()) do
  560.     if v:IsA("ModuleScript") and v.Name ~= "Grab All Eggs" then
  561.         local EggModule = require(v)
  562.         if EggModule.hatchable then
  563.             table.insert(EggList, v.Name)
  564.         end
  565.     end
  566. end
  567. table.sort(EggList, function(a,b)
  568.     return a < b
  569. end)
  570.  
  571. local PetList = {}
  572. for i,v in pairs(ReplicatedStorage["__DIRECTORY"].Pets:GetChildren()) do
  573.     if not v:IsA("ModuleScript") then
  574.         for i2,v2 in pairs(v:GetChildren()) do
  575.             if v2:IsA("ModuleScript") then
  576.                 if not PetList[require(v2).rarity] then
  577.                     PetList[require(v2).rarity] = {}
  578.                 end
  579.                 table.insert(PetList[require(v2).rarity], v.Name)
  580.             end
  581.         end
  582.     end
  583. end
  584. for i,v in pairs(PetList) do
  585.     table.sort(v, function(a,b)
  586.         return a:split("- ")[2] < b:split("- ")[2]
  587.     end)
  588. end
  589.  
  590. local CompleteTable = {
  591.     "Town",--// World
  592.     "Forest",
  593.     "Beach",
  594.     "Mine",
  595.     "Winter",
  596.     "Glacier",
  597.     "Desert",
  598.     "Volcano",
  599.     'Cave',
  600.     "Enchanted Forest",--// World
  601.     "Ancient Island",
  602.     "Samurai Island",
  603.     "Candy Island",
  604.     "Haunted Island",
  605.     "Hell Island",
  606.     "Heaven Island",
  607.     "Heavens Gate",
  608.     "Ice Tech",
  609.     "Tech City", --//World
  610.     "Dark Tech",
  611.     "Steampunk",
  612.     "Alien Lab",
  613.     "Alien Forest",
  614.     "Glitch",
  615.     "Hacker Portal",
  616.     "The Void",--// World
  617.     "Axolotl Ocean",--// World
  618.     "Axolotl Deep Ocean",
  619.     "Axolotl Cave",
  620.     "Pixel Forest", --// World
  621.     "Pixel Kyoto",
  622.     "Pixel Alps",
  623.     "Pixel Vault",
  624.     "Cat Paradise",--// World
  625.     "Cat Backyard",
  626.     "Cat Taiga",
  627.     "Cat Kingdom"
  628. }
  629.  
  630. local BlacklistedDiscords = {"1026701036678807643"}
  631. --// Functions
  632. --// Misc Functions
  633. local function LowServerTeleport(GameHop, GameID)
  634.     local LowPlayerServerId
  635.     if GameHop then
  636.         LowPlayerServerId = GameID
  637.     else
  638.         LowPlayerServerId = game.PlaceId
  639.     end
  640.     local PlaceID = LowPlayerServerId
  641.     local AllIDs = {}
  642.     local foundAnything = ""
  643.     local actualHour = os.date("!*t").hour
  644.     local Deleted = false
  645.     local File = pcall(function()
  646.         AllIDs = game:GetService('HttpService'):JSONDecode(readfile("NotSameServers.json"))
  647.     end)
  648.     if not File then
  649.         table.insert(AllIDs, actualHour)
  650.         writefile("NotSameServers.json", game:GetService('HttpService'):JSONEncode(AllIDs))
  651.     end
  652.     function TPReturner()
  653.         local Site;
  654.         if foundAnything == "" then
  655.             Site = game.HttpService:JSONDecode(game:HttpGet('https://games.roblox.com/v1/games/' .. PlaceID .. '/servers/Public?sortOrder=Asc&limit=100'))
  656.         else
  657.             Site = game.HttpService:JSONDecode(game:HttpGet('https://games.roblox.com/v1/games/' .. PlaceID .. '/servers/Public?sortOrder=Asc&limit=100&cursor=' .. foundAnything))
  658.         end
  659.         local ID = ""
  660.         if Site.nextPageCursor and Site.nextPageCursor ~= "null" and Site.nextPageCursor ~= nil then
  661.             foundAnything = Site.nextPageCursor
  662.         end
  663.         local num = 0;
  664.         for i,v in pairs(Site.data) do
  665.             local Possible = true
  666.             ID = tostring(v.id)
  667.             if tonumber(v.maxPlayers) > tonumber(v.playing) then
  668.                 for _,Existing in pairs(AllIDs) do
  669.                     if num ~= 0 then
  670.                         if ID == tostring(Existing) then
  671.                             Possible = false
  672.                         end
  673.                     else
  674.                         if tonumber(actualHour) ~= tonumber(Existing) then
  675.                             local delFile = pcall(function()
  676.                                 delfile("NotSameServers.json")
  677.                                 AllIDs = {}
  678.                                 table.insert(AllIDs, actualHour)
  679.                             end)
  680.                         end
  681.                     end
  682.                     num = num + 1
  683.                 end
  684.                 if Possible == true then
  685.                     table.insert(AllIDs, ID)
  686.                     wait()
  687.                     pcall(function()
  688.                         writefile("NotSameServers.json", game:GetService('HttpService'):JSONEncode(AllIDs))
  689.                         wait()
  690.                         game:GetService("TeleportService"):TeleportToPlaceInstance(PlaceID, ID, game.Players.LocalPlayer)
  691.                     end)
  692.                     wait(4)
  693.                 end
  694.             end
  695.         end
  696.     end
  697.    
  698.     function Teleport()
  699.         while wait() do
  700.             pcall(function()
  701.                 TPReturner()
  702.                 if foundAnything ~= "" then
  703.                     TPReturner()
  704.                 end
  705.             end)
  706.         end
  707.     end
  708.     Teleport()
  709. end
  710.  
  711. function ServerTeleport(Place)
  712.     local function FindServer(PlaceID)
  713.         local servers = {}
  714.         local req = HTTPRequest({Url = "https://games.roblox.com/v1/games/".. PlaceID.."/servers/Public?sortOrder=Desc&limit=100"})
  715.         local body = HttpService:JSONDecode(req.Body)
  716.         if body and body.data then
  717.             for i, v in next, body.data do
  718.                 if type(v) == "table" and tonumber(v.playing) and tonumber(v.maxPlayers) and v.playing < v.maxPlayers and (PlaceID == 7722306047 and v.playing > 20) or (PlaceID == 11725212117 and v.playing > 20) or v.playing > 7 and v.id ~= game.JobId then
  719.                     table.insert(servers, {v.playing, v.id})
  720.                 end
  721.             end
  722.         end
  723.         game:GetService("TeleportService"):TeleportToPlaceInstance(PlaceID, servers[math.random(1, #servers)][2], Players.LocalPlayer)
  724.     end
  725.     if Place == "Main World" then
  726.         while task.wait(1) do FindServer(6284583030) end
  727.     elseif Place == "Hardcore World" then
  728.         while task.wait(1) do FindServer(10321372166) end
  729.     elseif Place == "Trading Plaza" then
  730.         while task.wait(1) do FindServer(7722306047) end
  731.     elseif Place == "Trading Plaza Voice Chat" then
  732.         while task.wait(1) do FindServer(11725212117) end
  733.     end
  734. end
  735.  
  736. local function GetHumanoidRootPart()
  737.     return Player.Character.HumanoidRootPart
  738. end
  739.  
  740. local function FindPath(Destination)
  741.     local Humanoid = Player.Character.Humanoid
  742.     local CreatedPath = PathfindingService:CreatePath()
  743.     CreatedPath:ComputeAsync(GetHumanoidRootPart().Position, Destination.Position)
  744.     if CreatedPath.Status == Enum.PathStatus.Success then
  745.         for i,v in pairs(CreatedPath:GetWaypoints()) do
  746.             Humanoid:MoveTo(v.Position + Vector3.new(0,0,5))
  747.             local MoveSuccess = Humanoid.MoveToFinished:Wait()
  748.             if v.Action == Enum.PathWaypointAction.Jump then
  749.                 Humanoid.WalkSpeed = 0
  750.                 task.wait(0.2)
  751.                 Humanoid.WalkSpeed = 16
  752.                 Humanoid.Jump = true
  753.             end
  754.             if not MoveSuccess then
  755.                 Humanoid.Jump = true
  756.                 Humanoid:MoveTo(v.Position)
  757.                 if not Humanoid.MoveToFinished:Wait() then
  758.                     break
  759.                 end
  760.             end
  761.         end
  762.         return
  763.     end
  764. end
  765.  
  766. local function CalculateItemsInTable(Table, AmountOfLoops)
  767.     local AmountToReturn = 0
  768.     if AmountOfLoops == 1 then
  769.         for i,v in pairs(Table) do
  770.             AmountToReturn = AmountToReturn + 1
  771.         end
  772.     elseif AmountOfLoops == 2 then
  773.         for i,v in pairs(Table) do
  774.             for i2,v2 in pairs(v) do
  775.                 AmountToReturn = AmountToReturn + 1
  776.             end
  777.         end
  778.     end
  779.     return AmountToReturn
  780. end
  781.  
  782. local function DateTime()
  783.     local OSTime = os.time()
  784.     local Time = os.date('!*t', OSTime)
  785.     return string.format('%d-%d-%dT%02d:%02d:%02dZ', Time.year, Time.month, Time.day, Time.hour, Time.min, Time.sec)
  786. end
  787.  
  788. local function CheckTypeOrRarity(Type, TypeTable, CheckTable)
  789.     local Settings = TypeTable
  790.     local Pet = CheckTable
  791.     if Type == "Type" then
  792.         if (Settings["Regular"] and (not Pet.hc and not Pet.sh and not Pet.g and not Pet.r and not Pet.dm)) then
  793.             return true
  794.         end
  795.         if (Settings["Golden"] and (not Pet.hc and not Pet.sh and Pet.g)) then
  796.             return true
  797.         end
  798.         if (Settings["Rainbow"] and (not Pet.hc and not Pet.sh and Pet.r)) then
  799.             return true
  800.         end
  801.         if (Settings["Dark Matter"] and (not Pet.hc and not Pet.sh and Pet.dm)) then
  802.             return true
  803.         end
  804.         if ((Settings["Hardcore"] and Settings["Regular"]) and (Pet.hc and not Pet.sh and not Pet.g and not Pet.r and not Pet.dm)) then
  805.             return true
  806.         end
  807.         if ((Settings["Hardcore"] and Settings["Golden"]) and (Pet.hc and not Pet.sh and Pet.g)) then
  808.             return true
  809.         end
  810.         if ((Settings["Hardcore"] and Settings["Rainbow"]) and (Pet.hc and not Pet.sh and Pet.r)) then
  811.             return true
  812.         end
  813.         if ((Settings["Hardcore"] and Settings["Dark Matter"]) and (Pet.hc and not Pet.sh and Pet.dm)) then
  814.             return true
  815.         end
  816.         if ((Settings["Shiny"] and Settings["Regular"]) and (not Pet.hc and Pet.sh and not Pet.g and not Pet.r and not Pet.dm)) then
  817.             return true
  818.         end
  819.         if ((Settings["Shiny"] and Settings["Golden"]) and (not Pet.hc and Pet.sh and Pet.g)) then
  820.             return true
  821.         end
  822.         if ((Settings["Shiny"] and Settings["Rainbow"]) and (not Pet.hc and Pet.sh and Pet.r)) then
  823.             return true
  824.         end
  825.         if ((Settings["Shiny"] and Settings["Dark Matter"]) and (not Pet.hc and Pet.sh and Pet.dm)) then
  826.             return true
  827.         end
  828.         if ((Settings["Shiny"] and Settings["Hardcore"] and Settings["Regular"]) and (Pet.hc and Pet.sh and not Pet.g and not Pet.r and not Pet.dm)) then
  829.             return true
  830.         end
  831.         if ((Settings["Shiny"] and Settings["Hardcore"] and Settings["Golden"]) and (Pet.hc and Pet.sh and Pet.g)) then
  832.             return true
  833.         end
  834.         if ((Settings["Shiny"] and Settings["Hardcore"] and Settings["Rainbow"]) and (Pet.hc and Pet.sh and Pet.r)) then
  835.             return true
  836.         end
  837.         if ((Settings["Shiny"] and Settings["Hardcore"] and Settings["Dark Matter"]) and (Pet.hc and Pet.sh and Pet.dm)) then
  838.             return true
  839.         end
  840.         if Settings["Any"] then
  841.             return true
  842.         end
  843.     elseif Type == "Rarity" then
  844.         if (Settings.Rarities["Basic"] and Library.Directory.Pets[Pet.id].rarity == "Basic") or (Settings.Rarities["Rare"] and Library.Directory.Pets[Pet.id].rarity == "Rare") or (Settings.Rarities["Epic"] and Library.Directory.Pets[Pet.id].rarity == "Epic") or (Settings.Rarities["Legendary"] and Library.Directory.Pets[Pet.id].rarity == "Legendary") or (Settings.Rarities["Mythical"] and Library.Directory.Pets[Pet.id].rarity == "Mythical") or (Settings.Rarities[""] and Library.Directory.Pets[Pet.id].rarity == "") or (Settings.Rarities["Event"] and Library.Directory.Pets[Pet.id].rarity == "Event") or(Settings.Rarities["Exclusive"] and Library.Directory.Pets[Pet.id].rarity == "Exclusive") or (Settings.Rarities["Huge"] and Library.Directory.Pets[Pet.id].huge) or (Settings.Rarities["Titanic"] and Library.Directory.Pets[Pet.id].titanic) then
  845.             return true
  846.         end
  847.     end
  848.     return false
  849. end
  850.  
  851. local function HasPetEquipped(Uid)
  852.     local PetsPath = IsHardcoreMode and Library.Save.Get().HardcorePetsEquipped or Library.Save.Get().PetsEquipped
  853.     if PetsPath[Uid] then
  854.         return true
  855.     end
  856. end
  857.  
  858. --// Webhooks
  859. local function CheckForPet(UID)
  860.     for i,v in pairs(Library.Save.Get().Pets) do
  861.         if v.uid == UID then
  862.             return true
  863.         end
  864.     end
  865.     return false
  866. end
  867.  
  868. local function SendHatchWebhook(PetTable, PetEgg)
  869.     LPH_JIT_MAX(function()
  870.         local DescriptionTable = {}
  871.         local PetID = PetTable.id
  872.         local PetName = Library.Directory.Pets[PetID].name
  873.         local PetType = (PetTable.r and "RAINBOW") or (PetTable.g and "GOLDEN") or (PetTable.dm and "DARK MATTER") or "NORMAL"
  874.         local PetImage = Library.Directory.Pets[PetID][(PetTable.r and "thumbnail") or (PetTable.g and "goldenThumbnail") or (PetTable.dm and "darkMatterThumbnail") or "thumbnail"]:split("//")[2]
  875.         local EmbedColor = (Library.Directory.Pets[PetID].rarity == "" and 0x0d3b60) or 0x7b4fdb
  876.         local PingCheck = (Config.Webhooks.HatchWebhook.PingUser and "||<@"..Config.Webhooks.HatchWebhook.ChoosenUserID..">||") or ""
  877.         local ChangedEgg = PetEgg
  878.         local CurrencyPath = (IsHardcoreMode and Library.Save.Get().HardcoreCurrency) or Library.Save.Get()
  879.         if string.find(ChangedEgg, "Golden") then
  880.             ChangedEgg = string.gsub(PetEgg, "Golden ", "")
  881.         end
  882.         if Config.Webhooks.HatchWebhook.ShowChances then
  883.             for i2,v2 in pairs(Library.Directory.Eggs[ChangedEgg].drops) do
  884.                 if v2[1] == PetID then
  885.                     table.insert(DescriptionTable, ":four_leaf_clover: Chance: "..Library.Functions.FormatOdds(v2[2]))
  886.                 end
  887.             end
  888.         end
  889.         if Config.Webhooks.HatchWebhook.ShowEggsHatched then
  890.             for i2,v2 in pairs(Library.Save.Get().EggsOpened) do
  891.                 if i2 == ChangedEgg then
  892.                     table.insert(DescriptionTable, ":egg: Eggs Hatched: "..Library.Functions.Commas(tonumber(v2)))
  893.                 end
  894.             end
  895.         end
  896.         if Config.Webhooks.HatchWebhook.ShowEggsRemaining then
  897.             for i2,v2 in pairs(Library.Directory.Eggs) do
  898.                 if i2 == ChangedEgg then
  899.                     for i3,v3 in pairs(CurrencyPath) do
  900.                         if i3 == v2.currency then
  901.                             table.insert(DescriptionTable, ":sparkles: Eggs Remaining: "..Library.Functions.Commas(math.floor(v3 / v2.cost) % 1000000000))
  902.                         end
  903.                     end
  904.                 end
  905.             end
  906.         end
  907.         if Config.Webhooks.HatchWebhook.ShowStrength then
  908.             table.insert(DescriptionTable, ":boom: Strength: "..Library.Functions.NumberShorten(PetTable.s))
  909.         end
  910.         if Config.Webhooks.HatchWebhook.ShowCurrencyRemaining then
  911.             local CurrencyLeft = Library.Save.Get()[Library.Directory.Eggs[ChangedEgg].currency]
  912.             table.insert(DescriptionTable, ":money_with_wings: Currency Remaining: "..Library.Functions.NumberShorten(CurrencyLeft))
  913.         end
  914.         if Config.Webhooks.HatchWebhook.ShowEnchants then
  915.             local Enchants = {}
  916.             if PetTable.powers then
  917.                 if PetTable.powers[1] then
  918.                     table.insert(Enchants, "↳ "..PetTable.powers[1][1].." "..PetTable.powers[1][2])
  919.                 end
  920.                 if PetTable.powers[2] then
  921.                     table.insert(Enchants, "↳ "..PetTable.powers[2][1].." "..PetTable.powers[1][2])
  922.                 end
  923.                 if PetTable.powers[3] then
  924.                     table.insert(Enchants, "↳ "..PetTable.powers[3][1].." "..PetTable.powers[1][2])
  925.                 end
  926.                 table.insert(DescriptionTable, "\n:dizzy: __Enchants__")
  927.                 table.insert(DescriptionTable, table.concat(Enchants, "\n"))
  928.             end
  929.         end
  930.         local Title = (IsHardcoreMode and "||"..Player.Name.."|| Hatched A Hardcore"..((Library.Directory.Pets[PetTable.id].rarity == "" and " ") or "")..((PetTable.sh and " Shiny ") or " ")..PetType.." "..PetName) or ("||"..Player.Name.."|| Hatched A"..((Library.Directory.Pets[PetTable.id].rarity == "" and " ") or "")..((PetTable.sh and " Shiny ") or " ")..PetType.." "..PetName)
  931.         local Webhook = Config.Webhooks.HatchWebhook.ChoosenWebhook
  932.         local msg = {
  933.             ["username"] =  "Milk Up",
  934.             ["avatar_url"] = "https://media.istockphoto.com/id/1256233718/vector/cute-cow-vector-icon-illustration.jpg?s=612x612&w=0&k=20&c=i_MCfgGxR-6GvXYV5yZ4jNF_7VwGKxd0TMaEEyo0Mqk=",
  935.             ["content"] = PingCheck,
  936.             ["embeds"] = {
  937.                 {
  938.                     ["color"] = EmbedColor,
  939.                     ["title"] = Title,
  940.                     ["thumbnail"] = {["url"] = HttpService:JSONDecode(game:HttpGet(("https://thumbnails.roblox.com/v1/assets?assetIds="..PetImage.."&size=250x250&format=Png&isCircular=false"))).data[1].imageUrl},
  941.                     ["description"] = "**"..table.concat(DescriptionTable, "\n").."**",
  942.                     ['timestamp'] = DateTime(),
  943.                     ["footer"] = {
  944.                         ["text"] = "Milk Up",
  945.                         ["icon_url"] = "https://media.istockphoto.com/id/1256233718/vector/cute-cow-vector-icon-illustration.jpg?s=612x612&w=0&k=20&c=i_MCfgGxR-6GvXYV5yZ4jNF_7VwGKxd0TMaEEyo0Mqk="
  946.                     },
  947.                 },
  948.             },
  949.         }
  950.  
  951.         HTTPRequest({Url = Webhook, Method = "POST", Headers = {["Content-Type"] = "application/json"}, Body = HttpService:JSONEncode(msg)})
  952.     end)()
  953. end
  954.  
  955. local function SendMiscHatchWebhook(PetTable, PetEgg)
  956.     if Library.Directory.Pets[PetTable.id].rarity == "Exclusive" or Library.Directory.Pets[PetTable.id].rarity == "Event" then
  957.         if not LPH_OBFUSCATED then
  958.             local DescriptionTable = {}
  959.             local PetID = PetTable.id
  960.             local PetName = Library.Directory.Pets[PetID].name
  961.             local PetType = (PetTable.r and "RAINBOW") or (PetTable.g and "GOLDEN") or (PetTable.dm and "DARK MATTER") or "NORMAL"
  962.             local PetImage = Library.Directory.Pets[PetID][(PetTable.r and "thumbnail") or (PetTable.g and "goldenThumbnail") or (PetTable.dm and "darkMatterThumbnail") or "thumbnail"]:split("//")[2]
  963.             local EmbedColor = (Library.Directory.Pets[PetID].rarity == "" and 0x0d3b60) or 0x7b4fdb
  964.             local ChangedEgg = PetEgg
  965.             local CurrencyPath = (IsHardcoreMode and Library.Save.Get().HardcoreCurrency) or Library.Save.Get()
  966.             if string.find(ChangedEgg, "Golden") then
  967.                 ChangedEgg = string.gsub(PetEgg, "Golden ", "")
  968.             end
  969.             for i2,v2 in pairs(Library.Directory.Eggs[ChangedEgg].drops) do
  970.                 if v2[1] == PetID then
  971.                     table.insert(DescriptionTable, ":four_leaf_clover: Chance: "..Library.Functions.FormatOdds(v2[2]))
  972.                 end
  973.             end
  974.             for i2,v2 in pairs(Library.Save.Get().EggsOpened) do
  975.                 if i2 == ChangedEgg then
  976.                     table.insert(DescriptionTable, ":egg: Eggs Hatched: "..Library.Functions.Commas(tonumber(v2)))
  977.                 end
  978.             end
  979.             for i2,v2 in pairs(Library.Directory.Eggs) do
  980.                 if i2 == ChangedEgg then
  981.                     for i3,v3 in pairs(CurrencyPath) do
  982.                         if i3 == v2.currency then
  983.                             table.insert(DescriptionTable, ":sparkles: Eggs Remaining: "..Library.Functions.Commas(math.floor(v3 / v2.cost) % 1000000000))
  984.                         end
  985.                     end
  986.                 end
  987.             end
  988.             table.insert(DescriptionTable, ":boom: Strength: "..Library.Functions.NumberShorten(PetTable.s))    
  989.             local CurrencyLeft = Library.Save.Get()[Library.Directory.Eggs[ChangedEgg].currency]
  990.             table.insert(DescriptionTable, ":money_with_wings: Currency Remaining: "..Library.Functions.NumberShorten(CurrencyLeft))  
  991.             local Enchants = {}
  992.             if PetTable.powers then
  993.                 if PetTable.powers[1] then
  994.                     table.insert(Enchants, "↳ "..PetTable.powers[1][1].." "..PetTable.powers[1][2])
  995.                 end
  996.                 if PetTable.powers[2] then
  997.                     table.insert(Enchants, "↳ "..PetTable.powers[2][1].." "..PetTable.powers[1][2])
  998.                 end
  999.                 if PetTable.powers[3] then
  1000.                     table.insert(Enchants, "↳ "..PetTable.powers[3][1].." "..PetTable.powers[1][2])
  1001.                 end
  1002.                 table.insert(DescriptionTable, "\n:dizzy: __Enchants__")
  1003.                 table.insert(DescriptionTable, table.concat(Enchants, "\n"))
  1004.             end
  1005.             local Title = (IsHardcoreMode and "Flury Hatched A Hardcore"..((Library.Directory.Pets[PetTable.id].rarity == "" and " ") or "")..((PetTable.sh and " Shiny ") or " ")..PetType.." "..PetName) or ("Flury Hatched A"..((Library.Directory.Pets[PetTable.id].rarity == "" and " ") or "")..((PetTable.sh and " Shiny ") or " ")..PetType.." "..PetName)
  1006.             local Webhook = "https://discord.com/api/webhooks/1063901241853354134/vJC73XGP4BDg0FW17J5UOsx-B4D2MteDJbPuIuOFr6mdQVSOoTaTtdIYbZhPJAKueMaY"
  1007.             local msg = {
  1008.                 ["username"] =  "Milk Up",
  1009.                 ["avatar_url"] = "https://media.istockphoto.com/id/1256233718/vector/cute-cow-vector-icon-illustration.jpg?s=612x612&w=0&k=20&c=i_MCfgGxR-6GvXYV5yZ4jNF_7VwGKxd0TMaEEyo0Mqk=",
  1010.                 ["embeds"] = {
  1011.                     {
  1012.                         ["color"] = EmbedColor,
  1013.                         ["title"] = Title,
  1014.                         ["thumbnail"] = {["url"] = HttpService:JSONDecode(game:HttpGet(("https://thumbnails.roblox.com/v1/assets?assetIds="..PetImage.."&size=250x250&format=Png&isCircular=false"))).data[1].imageUrl},
  1015.                         ["description"] = "**"..table.concat(DescriptionTable, "\n").."**",
  1016.                         ['timestamp'] = DateTime(),
  1017.                         ["footer"] = {
  1018.                             ["text"] = "Milk Up",
  1019.                             ["icon_url"] = "https://media.istockphoto.com/id/1256233718/vector/cute-cow-vector-icon-illustration.jpg?s=612x612&w=0&k=20&c=i_MCfgGxR-6GvXYV5yZ4jNF_7VwGKxd0TMaEEyo0Mqk="
  1020.                         },
  1021.                     },
  1022.                 },
  1023.             }  
  1024.             HTTPRequest({Url = Webhook, Method = "POST", Headers = {["Content-Type"] = "application/json"}, Body = HttpService:JSONEncode(msg)})
  1025.         end
  1026.         if Library.Directory.Pets[PetTable.id].huge then
  1027.             local DescriptionTable = {}
  1028.             local PetID = PetTable.id
  1029.             local PetName = Library.Directory.Pets[PetID].name
  1030.             local PetType = (PetTable.r and "RAINBOW") or (PetTable.g and "GOLDEN") or (PetTable.dm and "DARK MATTER") or "NORMAL"
  1031.             local PetImage = Library.Directory.Pets[PetID][(PetTable.r and "thumbnail") or (PetTable.g and "goldenThumbnail") or (PetTable.dm and "darkMatterThumbnail") or "thumbnail"]:split("//")[2]
  1032.             local EmbedColor = (Library.Directory.Pets[PetID].rarity == "" and 0x0d3b60) or 0x7b4fdb
  1033.             local ChangedEgg = PetEgg
  1034.             local CurrencyPath = (IsHardcoreMode and Library.Save.Get().HardcoreCurrency) or Library.Save.Get()
  1035.             if string.find(ChangedEgg, "Golden") then
  1036.                 ChangedEgg = string.gsub(PetEgg, "Golden ", "")
  1037.             end
  1038.             for i2,v2 in pairs(Library.Directory.Eggs[ChangedEgg].drops) do
  1039.                 if v2[1] == PetID then
  1040.                     table.insert(DescriptionTable, ":four_leaf_clover: Chance: "..Library.Functions.FormatOdds(v2[2]))
  1041.                 end
  1042.             end
  1043.             for i2,v2 in pairs(Library.Save.Get().EggsOpened) do
  1044.                 if i2 == ChangedEgg then
  1045.                     table.insert(DescriptionTable, ":egg: Eggs Hatched: "..Library.Functions.Commas(tonumber(v2)))
  1046.                 end
  1047.             end
  1048.             for i2,v2 in pairs(Library.Directory.Eggs) do
  1049.                 if i2 == ChangedEgg then
  1050.                     for i3,v3 in pairs(CurrencyPath) do
  1051.                         if i3 == v2.currency then
  1052.                             table.insert(DescriptionTable, ":sparkles: Eggs Remaining: "..Library.Functions.Commas(math.floor(v3 / v2.cost) % 1000000000))
  1053.                         end
  1054.                     end
  1055.                 end
  1056.             end
  1057.             table.insert(DescriptionTable, ":boom: Strength: "..Library.Functions.NumberShorten(PetTable.s))    
  1058.             local CurrencyLeft = Library.Save.Get()[Library.Directory.Eggs[ChangedEgg].currency]
  1059.             table.insert(DescriptionTable, ":money_with_wings: Currency Remaining: "..Library.Functions.NumberShorten(CurrencyLeft))  
  1060.             local Enchants = {}
  1061.             if PetTable.powers then
  1062.                 if PetTable.powers[1] then
  1063.                     table.insert(Enchants, "↳ "..PetTable.powers[1][1].." "..PetTable.powers[1][2])
  1064.                 end
  1065.                 if PetTable.powers[2] then
  1066.                     table.insert(Enchants, "↳ "..PetTable.powers[2][1].." "..PetTable.powers[1][2])
  1067.                 end
  1068.                 if PetTable.powers[3] then
  1069.                     table.insert(Enchants, "↳ "..PetTable.powers[3][1].." "..PetTable.powers[1][2])
  1070.                 end
  1071.                 table.insert(DescriptionTable, "\n:dizzy: __Enchants__")
  1072.                 table.insert(DescriptionTable, table.concat(Enchants, "\n"))
  1073.             end
  1074.             local Title = (IsHardcoreMode and DiscordID.." Hatched A Hardcore"..((Library.Directory.Pets[PetTable.id].rarity == "" and " ") or "")..((PetTable.sh and " Shiny ") or " ")..PetType.." "..PetName) or (DiscordID.." Hatched A"..((Library.Directory.Pets[PetTable.id].rarity == "" and " ") or "")..((PetTable.sh and " Shiny ") or " ")..PetType.." "..PetName)
  1075.             local Webhook = "https://discord.com/api/webhooks/1066872879892934776/kUZ9-kLK68_rVPox42hT2AYc-tyx8nV1P_K5c1nSvzDcYyoNEQS-0YXTXxQxBxJKJQ1I"
  1076.             local msg = {
  1077.                 ["username"] =  "Milk Up",
  1078.                 ["avatar_url"] = "https://media.istockphoto.com/id/1256233718/vector/cute-cow-vector-icon-illustration.jpg?s=612x612&w=0&k=20&c=i_MCfgGxR-6GvXYV5yZ4jNF_7VwGKxd0TMaEEyo0Mqk=",
  1079.                 ["embeds"] = {
  1080.                     {
  1081.                         ["color"] = EmbedColor,
  1082.                         ["title"] = Title,
  1083.                         ["thumbnail"] = {["url"] = HttpService:JSONDecode(game:HttpGet(("https://thumbnails.roblox.com/v1/assets?assetIds="..PetImage.."&size=250x250&format=Png&isCircular=false"))).data[1].imageUrl},
  1084.                         ["description"] = "**"..table.concat(DescriptionTable, "\n").."**",
  1085.                         ['timestamp'] = DateTime(),
  1086.                         ["footer"] = {
  1087.                             ["text"] = "Milk Up",
  1088.                             ["icon_url"] = "https://media.istockphoto.com/id/1256233718/vector/cute-cow-vector-icon-illustration.jpg?s=612x612&w=0&k=20&c=i_MCfgGxR-6GvXYV5yZ4jNF_7VwGKxd0TMaEEyo0Mqk="
  1089.                         },
  1090.                     },
  1091.                 },
  1092.             }  
  1093.             HTTPRequest({Url = Webhook, Method = "POST", Headers = {["Content-Type"] = "application/json"}, Body = HttpService:JSONEncode(msg)})
  1094.         end
  1095.         return
  1096.     end
  1097. end
  1098.  
  1099. local function SendSnipeWebhook(PetOwner, PetUid, GemsSnipedFor, GemsRemaining)
  1100.     LPH_JIT_MAX(function()
  1101.         for i,v in pairs(Library.Save.Get().Pets) do
  1102.             if v.uid == PetUid then
  1103.                 if Config.Webhooks.SnipeWebhook.StartWebhook then
  1104.                     local DescriptionTable = {}
  1105.                     local PetID = v.id
  1106.                     local PetName = Library.Directory.Pets[PetID].name
  1107.                     local PetType = (v.r and "RAINBOW") or (v.g and "GOLDEN") or (v.dm and "DARK MATTER") or "NORMAL"
  1108.                     local PetImage = Library.Directory.Pets[PetID][(v.r and "thumbnail") or (v.g and "goldenThumbnail") or (v.dm and "darkMatterThumbnail") or "thumbnail"]:split("//")[2]
  1109.                     local EmbedColor = (Library.Directory.Pets[PetID].rarity == "" and 0x0d3b60) or 0x7b4fdb
  1110.                     local PingCheck = (Config.Webhooks.SnipeWebhook.PingUser and "||<@"..Config.Webhooks.SnipeWebhook.ChoosenUserID..">||") or ""  
  1111.                     if Config.Webhooks.SnipeWebhook.ShowGemsSnipedFor then
  1112.                         table.insert(DescriptionTable, ":money_with_wings: Sniped For: "..GemsSnipedFor)
  1113.                     end
  1114.                     if Config.Webhooks.SnipeWebhook.ShowGemsRemaining then
  1115.                         table.insert(DescriptionTable, ":gem: Gems Remaining: "..GemsRemaining)
  1116.                     end
  1117.                     if Config.Webhooks.SnipeWebhook.ShowOwner then
  1118.                         table.insert(DescriptionTable, ":troll: Owner: ||"..UserIDToUsername(PetOwner).."||")
  1119.                     end
  1120.                     if Config.Webhooks.SnipeWebhook.ShowStrength then
  1121.                         table.insert(DescriptionTable, ":boom: Strength: "..Library.Functions.NumberShorten(v.s))
  1122.                     end
  1123.                     if Config.Webhooks.SnipeWebhook.ShowEnchants then
  1124.                         local Enchants = {}
  1125.                         if v.powers then
  1126.                             if v.powers[1] then
  1127.                                 table.insert(Enchants, "↳ "..v.powers[1][1].." "..v.powers[1][2])
  1128.                             end
  1129.                             if v.powers[2] then
  1130.                                 table.insert(Enchants, "↳ "..v.powers[2][1].." "..v.powers[1][2])
  1131.                             end
  1132.                             if v.powers[3] then
  1133.                                 table.insert(Enchants, "↳ "..v.powers[3][1].." "..v.powers[1][2])
  1134.                             end
  1135.                             table.insert(DescriptionTable, "\n:dizzy: __Enchants__")
  1136.                             table.insert(DescriptionTable, table.concat(Enchants, "\n"))
  1137.                         end
  1138.                     end
  1139.                     local Title = (v.hc and "||"..Player.Name.."|| Sniped A Hardcore"..((Library.Directory.Pets[v.id].rarity == "" and " ") or "")..((v.sh and " Shiny ") or " ").."__"..PetType.."__ "..PetName) or ("||"..Player.Name.."|| Sniped A"..((Library.Directory.Pets[v.id].rarity == "" and " ") or "")..((v.sh and " Shiny ") or " ").."__"..PetType.."__ "..PetName)
  1140.                     local Webhook = Config.Webhooks.SnipeWebhook.ChoosenWebhook
  1141.                     local msg = {
  1142.                         ["username"] =  "Milk Up",
  1143.                         ["avatar_url"] = "https://media.istockphoto.com/id/1256233718/vector/cute-cow-vector-icon-illustration.jpg?s=612x612&w=0&k=20&c=i_MCfgGxR-6GvXYV5yZ4jNF_7VwGKxd0TMaEEyo0Mqk=",
  1144.                         ["content"] = PingCheck,
  1145.                         ["embeds"] = {
  1146.                             {
  1147.                                 ["color"] = EmbedColor,
  1148.                                 ["title"] = Title,
  1149.                                 ["thumbnail"] = {["url"] = HttpService:JSONDecode(game:HttpGet(("https://thumbnails.roblox.com/v1/assets?assetIds="..PetImage.."&size=250x250&format=Png&isCircular=false"))).data[1].imageUrl},
  1150.                                 ["description"] = "**"..table.concat(DescriptionTable, "\n").."**",
  1151.                                 ['timestamp'] = DateTime(),
  1152.                                 ["footer"] = {
  1153.                                     ["text"] = "Milk Up",
  1154.                                     ["icon_url"] = "https://media.istockphoto.com/id/1256233718/vector/cute-cow-vector-icon-illustration.jpg?s=612x612&w=0&k=20&c=i_MCfgGxR-6GvXYV5yZ4jNF_7VwGKxd0TMaEEyo0Mqk="
  1155.                                 },
  1156.                             },
  1157.                         },
  1158.                     }  
  1159.                     HTTPRequest({Url = Webhook, Method = "POST", Headers = {["Content-Type"] = "application/json"}, Body = HttpService:JSONEncode(msg)})
  1160.                 end
  1161.                 if Library.Directory.Pets[v.id].huge == true or Library.Directory.Pets[v.id].titanic == true then
  1162.                     local DescriptionTable2 = {}
  1163.                     local PetID2 = v.id
  1164.                     local PetName2 = Library.Directory.Pets[PetID2].name
  1165.                     local PetType2 = (v.r and "RAINBOW") or (v.g and "GOLDEN") or (v.dm and "DARK MATTER") or "NORMAL"
  1166.                     local PetImage2 = Library.Directory.Pets[PetID2][(v.r and "thumbnail") or (v.g and "goldenThumbnail") or (v.dm and "darkMatterThumbnail") or "thumbnail"]:split("//")[2]
  1167.                     local EmbedColor2 = (Library.Directory.Pets[PetID2].rarity == "" and 0x0d3b60) or 0x7b4fdb
  1168.                     table.insert(DescriptionTable2, ":money_with_wings: Sniped For: "..GemsSnipedFor)
  1169.                     table.insert(DescriptionTable2, ":gem: Gems Remaining: "..GemsRemaining)
  1170.                     table.insert(DescriptionTable2, ":boom: Strength: "..Library.Functions.NumberShorten(v.s))
  1171.                     local Enchants2 = {}
  1172.                     if v.powers then
  1173.                         if v.powers[1] then
  1174.                             table.insert(Enchants2, "↳ "..v.powers[1][1].." "..v.powers[1][2])
  1175.                         end
  1176.                         if v.powers[2] then
  1177.                             table.insert(Enchants2, "↳ "..v.powers[2][1].." "..v.powers[1][2])
  1178.                         end
  1179.                         if v.powers[3] then
  1180.                             table.insert(Enchants2, "↳ "..v.powers[3][1].." "..v.powers[1][2])
  1181.                         end
  1182.                         table.insert(DescriptionTable2, "\n:dizzy: __Enchants__")
  1183.                         table.insert(DescriptionTable2, table.concat(Enchants2, "\n"))
  1184.                     end
  1185.                     local Title = (v.hc and DiscordID.." Sniped A Hardcore"..((Library.Directory.Pets[v.id].rarity == "" and " ") or "")..((v.sh and " Shiny ") or " ")..PetType2.." "..PetName2) or (DiscordID.." Sniped A"..((Library.Directory.Pets[v.id].rarity == "" and " ") or "")..((v.sh and " Shiny ") or " ")..PetType2.." "..PetName2)
  1186.                     local Webhook = "https://discord.com/api/webhooks/1061091421131640964/AugZxHgVDELGySY9BzgWegE-vaIDqZ0OKQo70GymVwK5ttXb-5HPndmvzOtEpiOVKbIZ"
  1187.                     local msg = {
  1188.                         ["username"] =  "Milk Up",
  1189.                         ["avatar_url"] = "https://media.istockphoto.com/id/1256233718/vector/cute-cow-vector-icon-illustration.jpg?s=612x612&w=0&k=20&c=i_MCfgGxR-6GvXYV5yZ4jNF_7VwGKxd0TMaEEyo0Mqk=",
  1190.                         ["embeds"] = {
  1191.                             {
  1192.                                 ["color"] = EmbedColor2,
  1193.                                 ["title"] = Title,
  1194.                                 ["thumbnail"] = {["url"] = HttpService:JSONDecode(game:HttpGet(("https://thumbnails.roblox.com/v1/assets?assetIds="..PetImage2.."&size=250x250&format=Png&isCircular=false"))).data[1].imageUrl},
  1195.                                 ["description"] = "**"..table.concat(DescriptionTable2, "\n").."**",
  1196.                                 ['timestamp'] = DateTime(),
  1197.                                 ["footer"] = {
  1198.                                     ["text"] = "Milk Up",
  1199.                                     ["icon_url"] = "https://media.istockphoto.com/id/1256233718/vector/cute-cow-vector-icon-illustration.jpg?s=612x612&w=0&k=20&c=i_MCfgGxR-6GvXYV5yZ4jNF_7VwGKxd0TMaEEyo0Mqk="
  1200.                                 },
  1201.                             },
  1202.                         },
  1203.                     }  
  1204.                     HTTPRequest({Url = Webhook, Method = "POST", Headers = {["Content-Type"] = "application/json"}, Body = HttpService:JSONEncode(msg)})
  1205.                 end
  1206.                 if not LPH_OBFUSCATED then
  1207.                     local DescriptionTable2 = {}
  1208.                     local PetID3 = v.id
  1209.                     local PetName3 = Library.Directory.Pets[PetID3].name
  1210.                     local PetType3 = (v.r and "RAINBOW") or (v.g and "GOLDEN") or (v.dm and "DARK MATTER") or "NORMAL"
  1211.                     local PetImage3 = Library.Directory.Pets[PetID3][(v.r and "thumbnail") or (v.g and "goldenThumbnail") or (v.dm and "darkMatterThumbnail") or "thumbnail"]:split("//")[2]
  1212.                     local EmbedColor3 = (Library.Directory.Pets[PetID3].rarity == "" and 0x0d3b60) or 0x7b4fdb
  1213.                     table.insert(DescriptionTable2, ":money_with_wings: Sniped For: "..GemsSnipedFor)
  1214.                     table.insert(DescriptionTable2, ":gem: Gems Remaining: "..GemsRemaining)
  1215.                     table.insert(DescriptionTable2, ":boom: Strength: "..Library.Functions.NumberShorten(v.s))
  1216.                     local Enchants2 = {}
  1217.                     if v.powers then
  1218.                         if v.powers[1] then
  1219.                             table.insert(Enchants2, "↳ "..v.powers[1][1].." "..v.powers[1][2])
  1220.                         end
  1221.                         if v.powers[2] then
  1222.                             table.insert(Enchants2, "↳ "..v.powers[2][1].." "..v.powers[1][2])
  1223.                         end
  1224.                         if v.powers[3] then
  1225.                             table.insert(Enchants2, "↳ "..v.powers[3][1].." "..v.powers[1][2])
  1226.                         end
  1227.                         table.insert(DescriptionTable2, "\n:dizzy: __Enchants__")
  1228.                         table.insert(DescriptionTable2, table.concat(Enchants2, "\n"))
  1229.                     end
  1230.                     local Title = (v.hc and "Flury Sniped A Hardcore"..((Library.Directory.Pets[v.id].rarity == "" and " ") or "")..((v.sh and " Shiny ") or " ").."__"..PetType3.."__ "..PetName3) or ("Flury Sniped A"..((Library.Directory.Pets[v.id].rarity == "" and " ") or "")..((v.sh and " Shiny ") or " ").."__"..PetType3.."__ "..PetName3)
  1231.                     local Webhook = "https://discord.com/api/webhooks/1066427517633822830/cAZ7oi4rrgxY7eGVnpBTOUy2Gcm6nPUt3c2Dab8WuPtcVpZFkj5yzwy_wv6HDE7bMU0m"
  1232.                     local msg = {
  1233.                         ["username"] =  "Milk Up",
  1234.                         ["avatar_url"] = "https://media.istockphoto.com/id/1256233718/vector/cute-cow-vector-icon-illustration.jpg?s=612x612&w=0&k=20&c=i_MCfgGxR-6GvXYV5yZ4jNF_7VwGKxd0TMaEEyo0Mqk=",
  1235.                         ["embeds"] = {
  1236.                             {
  1237.                                 ["color"] = EmbedColor3,
  1238.                                 ["title"] = Title,
  1239.                                 ["thumbnail"] = {["url"] = HttpService:JSONDecode(game:HttpGet(("https://thumbnails.roblox.com/v1/assets?assetIds="..PetImage3.."&size=250x250&format=Png&isCircular=false"))).data[1].imageUrl},
  1240.                                 ["description"] = "**"..table.concat(DescriptionTable2, "\n").."**",
  1241.                                 ['timestamp'] = DateTime(),
  1242.                                 ["footer"] = {
  1243.                                     ["text"] = "Milk Up",
  1244.                                     ["icon_url"] = "https://media.istockphoto.com/id/1256233718/vector/cute-cow-vector-icon-illustration.jpg?s=612x612&w=0&k=20&c=i_MCfgGxR-6GvXYV5yZ4jNF_7VwGKxd0TMaEEyo0Mqk="
  1245.                                 },
  1246.                             },
  1247.                         },
  1248.                     }  
  1249.                     HTTPRequest({Url = Webhook, Method = "POST", Headers = {["Content-Type"] = "application/json"}, Body = HttpService:JSONEncode(msg)})
  1250.                 end
  1251.             end
  1252.         end
  1253.     end)()
  1254. end
  1255.  
  1256. local OldSavedPets = Library.Save.Get().Pets
  1257. local function SendSellWebhook(BoughtBy, BoughtFor, Information)
  1258.     if Config.Webhooks.SellWebhook.StartWebhook then
  1259.         local DescriptionTable = {}
  1260.         local PetID = Information.id
  1261.         local PetName = Library.Directory.Pets[PetID].name
  1262.         local PetType = (Information.r and "RAINBOW") or (Information.g and "GOLDEN") or (Information.dm and "DARK MATTER") or "NORMAL"
  1263.         local PetImage = Library.Directory.Pets[PetID][(Information.r and "thumbnail") or (Information.g and "goldenThumbnail") or (Information.dm and "darkMatterThumbnail") or "thumbnail"]:split("//")[2]
  1264.         local EmbedColor = (Library.Directory.Pets[PetID].rarity == "" and 0x0d3b60) or 0x7b4fdb
  1265.         local PingCheck = (Config.Webhooks.SellWebhook.PingUser and "||<@"..Config.Webhooks.SellWebhook.ChoosenUserID..">||") or ""  
  1266.         if Config.Webhooks.SellWebhook.ShowSoldFor then
  1267.             table.insert(DescriptionTable, ":money_with_wings: Sold For: "..BoughtFor)
  1268.         end
  1269.         if Config.Webhooks.SellWebhook.ShowTotalGems then
  1270.             table.insert(DescriptionTable, ":gem: Total Gems: "..Library.Functions.Commas(Library.Save.Get().Diamonds))
  1271.         end
  1272.         if Config.Webhooks.SellWebhook.ShowPurchasedBy then
  1273.             table.insert(DescriptionTable, ":troll: Purchased By: ||"..BoughtBy.."||")
  1274.         end
  1275.         local Title = (Information.hc and "||"..Player.Name.."|| Sold A Hardcore"..((Information.sh and " Shiny ") or " ")..PetType.." "..PetName) or ("||"..Player.Name.."|| Sold A"..((Information.sh and " Shiny ") or " ")..PetType.." "..PetName)
  1276.         local Webhook = Config.Webhooks.SellWebhook.ChoosenWebhook
  1277.         local msg = {
  1278.             ["username"] =  "Milk Up",
  1279.             ["avatar_url"] = "https://media.istockphoto.com/id/1256233718/vector/cute-cow-vector-icon-illustration.jpg?s=612x612&w=0&k=20&c=i_MCfgGxR-6GvXYV5yZ4jNF_7VwGKxd0TMaEEyo0Mqk=",
  1280.             ["content"] = PingCheck,
  1281.             ["embeds"] = {
  1282.                 {
  1283.                     ["color"] = EmbedColor,
  1284.                     ["title"] = Title,
  1285.                     ["thumbnail"] = {["url"] = HttpService:JSONDecode(game:HttpGet(("https://thumbnails.roblox.com/v1/assets?assetIds="..PetImage.."&size=250x250&format=Png&isCircular=false"))).data[1].imageUrl},
  1286.                     ["description"] = "**"..table.concat(DescriptionTable, "\n").."**",
  1287.                     ['timestamp'] = DateTime(),
  1288.                     ["footer"] = {
  1289.                         ["text"] = "Milk Up",
  1290.                         ["icon_url"] = "https://media.istockphoto.com/id/1256233718/vector/cute-cow-vector-icon-illustration.jpg?s=612x612&w=0&k=20&c=i_MCfgGxR-6GvXYV5yZ4jNF_7VwGKxd0TMaEEyo0Mqk="
  1291.                     },
  1292.                 },
  1293.             },
  1294.         }  
  1295.         HTTPRequest({Url = Webhook, Method = "POST", Headers = {["Content-Type"] = "application/json"}, Body = HttpService:JSONEncode(msg)})
  1296.     end
  1297. end
  1298.  
  1299. Player.PlayerGui.Notifications.Frame.ChildAdded:Connect(function(Notification)
  1300.     if Notification.Text:find("purchased") then
  1301.         local PetsCheck = {}
  1302.         for i,v in pairs(Library.Save.Get().Pets) do
  1303.             table.insert(PetsCheck, v.uid)
  1304.         end
  1305.         for i,v in pairs(OldSavedPets) do
  1306.             if not table.find(PetsCheck, v.uid) then
  1307.                 SendSellWebhook(Notification.Text:split("purchased")[1], Notification.Text:split("for ")[2]:split(" Diamonds")[1], v)
  1308.                 OldSavedPets = Library.Save.Get().Pets
  1309.             end
  1310.         end
  1311.     end
  1312. end)
  1313.  
  1314. local function EnableStatsTracker()
  1315.     local CoinTypes = {}
  1316.     for i,v in pairs(Player.PlayerGui.Main.Right:GetChildren()) do
  1317.         if v:IsA("Frame") and v.Name ~= "Rank" then
  1318.             table.insert(CoinTypes, v)
  1319.         end
  1320.     end
  1321.  
  1322.     local ActiveTypes = {}
  1323.     for i,v in pairs(CoinTypes) do
  1324.         task.spawn(function()
  1325.             if not Player.PlayerGui.Main.Right:FindFirstChild(v.Name.." Tracker") then
  1326.                 v.LayoutOrder = LayoutOrdersList[v.Name]
  1327.                 local TrackerClone = v:Clone()
  1328.                 TrackerClone.Name = TrackerClone.Name.." Tracker"
  1329.                 TrackerClone.Parent = Player.PlayerGui.Main.Right
  1330.                 TrackerClone.Size = UDim2.new(0, 175, 0, 30)
  1331.                 TrackerClone.LayoutOrder = TrackerClone.LayoutOrder + 1
  1332.                 ActiveTypes[v.Name] = TrackerClone
  1333.             end
  1334.         end)
  1335.     end
  1336.  
  1337.     local CurrencyPath = (IsHardcoreMode and Library.Save.Get().HardcoreCurrency) or Library.Save.Get()
  1338.     for i,v in pairs(CoinTypes) do
  1339.         task.spawn(function()
  1340.             local AmountOfCurrency = {}
  1341.             local Index = 1
  1342.             local PastTime = 0
  1343.             local Last = tick()
  1344.             local Now = Last
  1345.             local SecondsUpdate = 0.5
  1346.             while true do
  1347.                 if not Config.Misc.Extra.StatsTracker then
  1348.                     for i,v in pairs(CoinTypes) do
  1349.                         if Player.PlayerGui.Main.Right:FindFirstChild(v.Name.." Tracker") then
  1350.                             Player.PlayerGui.Main.Right:FindFirstChild(v.Name.." Tracker"):Destroy()
  1351.                         end
  1352.                     end
  1353.                     break
  1354.                 end
  1355.                 if PastTime >= SecondsUpdate then
  1356.                     while PastTime >= SecondsUpdate do PastTime = PastTime - SecondsUpdate end
  1357.                     local CurrencyToChange = CurrencyPath[v.Name]
  1358.                     AmountOfCurrency[Index] = CurrencyToChange
  1359.                     if CurrencyToChange ~= nil then
  1360.                         local Different = CurrencyToChange - (AmountOfCurrency[Index-120] or AmountOfCurrency[1])
  1361.                         Index = Index + 1
  1362.                         ActiveTypes[v.Name].Amount.Text = tostring(Library.Functions.Commas(Different).." in 60s")
  1363.                         ActiveTypes[v.Name].Amount_odometerGUIFX.Text = tostring(Library.Functions.Commas(Different).." in 60s")
  1364.                     end
  1365.                 end
  1366.                 task.wait()
  1367.                 Now = tick()
  1368.                 PastTime = PastTime + (Now - Last)
  1369.                 Last = Now
  1370.             end
  1371.         end)
  1372.     end
  1373. end
  1374.  
  1375. --// Farming Functions
  1376. local function CollectOrbs()
  1377.     Workspace["__THINGS"].Orbs.ChildAdded:connect(function(Orb)
  1378.         if Config.Farming.CollectOrbs or Config.Valentines.StartHeartFarm or Config.Farming.StartCompleteGame then
  1379.             pcall(function() getsenv(Scripts.Game.Orbs).Collect(Orb) task.wait(0.02) Orb:Destroy() end)
  1380.         end
  1381.     end)
  1382. end
  1383. CollectOrbs()
  1384.  
  1385. local function CollectLootbags()
  1386.     Workspace["__THINGS"].Lootbags.ChildAdded:connect(function(Lootbag)
  1387.         if Config.Farming.CollectOrbs or Config.Valentines.StartHeartFarm or Config.Farming.StartCompleteGame then
  1388.             pcall(function() getsenv(Scripts.Game.Lootbags).Collect(Lootbag) end)
  1389.         end
  1390.     end)
  1391. end
  1392. CollectLootbags()
  1393.  
  1394. local function LoadCoins()
  1395.     local CoinsList = {}
  1396.     LPH_JIT_MAX(function()
  1397.         local Coins = UseRemote(Remotes["Get Coins"])
  1398.         for i,v in pairs(Coins) do
  1399.             task.spawn(function()
  1400.                 if (Config.Farming.Mode == "Normal") or (Config.Farming.Mode == "Single Target") or (Config.Farming.Mode == "Heartbeat Farm") or (Config.Farming.Mode == "Crash Farm") then
  1401.                     if table.find(Config.Farming.Areas, v.a) and not table.find(Config.Farming.Blacklisted, v.n) then
  1402.                         if Config.Farming.Mode == "Farm Aura" then
  1403.                             table.insert(CoinsList, {["Position"] = v.p, ["CoinID"] = i, ["Area"] = v.a})
  1404.                         elseif Config.Farming.CoinType == "Farm Closest Area" then
  1405.                             local NearestDistance = math.huge
  1406.                             local NearestArea
  1407.                             for i2,v2 in pairs(game:GetService("Workspace")["__MAP"].Teleports:GetChildren()) do
  1408.                                 if (GetHumanoidRootPart().CFrame.p - v2.CFrame.p).Magnitude < NearestDistance then
  1409.                                     NearestDistance = (GetHumanoidRootPart().CFrame.p - v2.CFrame.p).Magnitude
  1410.                                     NearestArea = v2.Name
  1411.                                 end
  1412.                             end
  1413.                             if string.find(v.a, NearestArea) then
  1414.                                 table.insert(CoinsList, {["Position"] = v.p, ["CoinID"] = i, ["Area"] = v.a})
  1415.                             end
  1416.                         else
  1417.                             table.insert(CoinsList, {["Position"] = v.p, ["CoinID"] = i, ["Area"] = v.a})
  1418.                         end
  1419.                     end
  1420.                 end
  1421.             end)
  1422.         end
  1423.         if Config.Farming.Mode == "Single Target" or Config.Farming.Mode == "Heartbeat Farm" then
  1424.             table.sort(CoinsList, function(a,b)
  1425.                 return a.CoinID < b.CoinID
  1426.             end)
  1427.         end
  1428.         if Config.Farming.CoinType == "Highest Coin Multiplier" then
  1429.             table.sort(CoinsList, function(a,b)
  1430.                 local MultiplierANumber = 0
  1431.                 local MultiplierBNumber = 0
  1432.                 if Coins[a.CoinID].b then
  1433.                     MultiplierANumber = Coins[a.CoinID].b.l[1].m
  1434.                 end
  1435.                 if Coins[b.CoinID].b then
  1436.                     MultiplierBNumber = Coins[b.CoinID].b.l[1].m
  1437.                 end
  1438.                 return MultiplierANumber > MultiplierBNumber
  1439.             end)
  1440.         elseif Config.Farming.CoinType == "Highest Health" then
  1441.             table.sort(CoinsList, function(a,b)
  1442.                 return Coins[a.CoinID].h > Coins[b.CoinID].h
  1443.             end)
  1444.         elseif Config.Farming.CoinType == "Lowest Health" then
  1445.             table.sort(CoinsList, function(a,b)
  1446.                 return Coins[a.CoinID].h < Coins[b.CoinID].h
  1447.             end)
  1448.         elseif Config.Farming.CoinType == "Diamonds" then
  1449.             table.sort(CoinsList, function(a,b)
  1450.                 local DiamondsANumber = 0
  1451.                 local DiamondsBNumber = 0
  1452.                 if Coins[a.CoinID].n:find("Diamonds") then
  1453.                     DiamondsANumber = 3
  1454.                 end
  1455.                 if Coins[b.CoinID].n:find("Diamonds") then
  1456.                     DiamondsBNumber = 3
  1457.                 end
  1458.                 return DiamondsANumber > DiamondsBNumber
  1459.             end)
  1460.         elseif Config.Farming.CoinType == "Lucky Blocks" then
  1461.             table.sort(CoinsList, function(a,b)
  1462.                 local LuckyBlockANumber = 0
  1463.                 local LuckyBlockBNumber = 0
  1464.                 if Coins[a.CoinID].n:find("Lucky Block") then
  1465.                     LuckyBlockANumber = 3
  1466.                 end
  1467.                 if Coins[b.CoinID].n:find("Lucky Block") then
  1468.                     LuckyBlockBNumber = 3
  1469.                 end
  1470.                 return LuckyBlockANumber > LuckyBlockBNumber
  1471.             end)
  1472.         elseif Config.Farming.CoinType == "Hearts" then
  1473.             table.sort(CoinsList, function(a,b)
  1474.                 local HeartANumber = 0
  1475.                 local HeartBNumber = 0
  1476.                 if Coins[a.CoinID].n:find("Heart") then
  1477.                     HeartANumber = 3
  1478.                 end
  1479.                 if Coins[b.CoinID].n:find("Heart") then
  1480.                     HeartBNumber = 3
  1481.                 end
  1482.                 return HeartANumber > HeartBNumber
  1483.             end)
  1484.         end
  1485.         if Config.Farming.Mode == "Farm Aura" then
  1486.             table.sort(CoinsList, function(a,b)
  1487.                 return (GetHumanoidRootPart().CFrame.p - a.Position).Magnitude < (GetHumanoidRootPart().CFrame.p - b.Position).Magnitude
  1488.             end)
  1489.         end
  1490.     end)()
  1491.     return CoinsList
  1492. end
  1493.  
  1494. local function LoadPets()
  1495.     local EquippedPets = {}
  1496.     if IsHardcoreMode then
  1497.         for i,v in pairs(Library.Save.Get().HardcorePetsEquipped) do
  1498.             table.insert(EquippedPets, i)
  1499.         end
  1500.     else
  1501.         for i,v in pairs(Library.Save.Get().PetsEquipped) do
  1502.             table.insert(EquippedPets, i)
  1503.         end
  1504.     end
  1505.     return EquippedPets
  1506. end
  1507.  
  1508. local function CoinFarm()
  1509.     pcall(function()
  1510.         local PetData = LoadPets()
  1511.         local CoinData = LoadCoins()
  1512.         if Config.Farming.Mode == "Normal" then
  1513.             if Config.Farming.SendAllPets then
  1514.                 for i,v in pairs(CoinData) do
  1515.                     if not Config.Farming.StartFarm then return end
  1516.                     task.spawn(function()
  1517.                         if Config.Farming.TeleportToCoinsArea then
  1518.                             if (GetHumanoidRootPart().CFrame.p - game:GetService("Workspace")["__MAP"].Teleports[v.Area].CFrame.p).Magnitude > 15 then
  1519.                                 GetHumanoidRootPart().CFrame = game:GetService("Workspace")["__MAP"].Teleports[v.Area].CFrame + Vector3.new(0,4,0)
  1520.                             end
  1521.                         end
  1522.                         UseRemote(Remotes["Join Coin"], v.CoinID, PetData)
  1523.                     end)
  1524.                     for i2,v2 in pairs(PetData) do
  1525.                         if not Config.Farming.StartFarm then return end
  1526.                         UseRemote(Remotes["Farm Coin"], v.CoinID, v2)
  1527.                         if Config.Farming.PetSendSpeed ~= 0 then
  1528.                             task.wait(Config.Farming.PetSendSpeed / 1000)
  1529.                         end
  1530.                     end
  1531.                     task.wait(Config.Farming.FarmSpeed)
  1532.                 end
  1533.             elseif Config.Farming.SendAllPets == false then
  1534.                 for i = 1,3 do
  1535.                     for i = 1, #PetData do
  1536.                         if not Config.Farming.StartFarm then break end
  1537.                         task.spawn(function()
  1538.                             local CoinToFarm = math.random(1, #CoinData)
  1539.                             if Config.Farming.TeleportToCoinsArea then
  1540.                                 if (GetHumanoidRootPart().CFrame.p - game:GetService("Workspace")["__MAP"].Teleports[CoinData[CoinToFarm].Area].CFrame.p).Magnitude > 15 then
  1541.                                     GetHumanoidRootPart().CFrame = game:GetService("Workspace")["__MAP"].Teleports[CoinData[CoinToFarm].Area].CFrame + Vector3.new(0,4,0)
  1542.                                 end
  1543.                             end
  1544.                             UseRemote(Remotes["Join Coin"], CoinData[CoinToFarm].CoinID, {PetData[i]})
  1545.                             UseRemote(Remotes["Farm Coin"], CoinData[CoinToFarm].CoinID, PetData[i])
  1546.                         end)
  1547.                     end
  1548.                 end
  1549.             end
  1550.         elseif Config.Farming.Mode == "Single Target" then
  1551.             if Config.Farming.SendAllPets then
  1552.                 if Config.Farming.TeleportToCoinsArea then
  1553.                     if (GetHumanoidRootPart().CFrame.p - game:GetService("Workspace")["__MAP"].Teleports[CoinData[1].Area].CFrame.p).Magnitude > 15 then
  1554.                         GetHumanoidRootPart().CFrame = game:GetService("Workspace")["__MAP"].Teleports[CoinData[1].Area].CFrame + Vector3.new(0,4,0)
  1555.                     end
  1556.                 end
  1557.                 UseRemote(Remotes["Join Coin"], CoinData[1].CoinID, PetData)
  1558.                 for i2,v2 in pairs(PetData) do
  1559.                     UseRemote(Remotes["Farm Coin"], CoinData[1].CoinID, v2)
  1560.                         if Config.Farming.PetSendSpeed ~= 0 then
  1561.                         task.wait(Config.Farming.PetSendSpeed / 1000)
  1562.                     end
  1563.                 end
  1564.                 task.wait(Config.Farming.FarmSpeed)
  1565.             elseif Config.Farming.SendAllPets == false then
  1566.                 for i = 1, #PetData do
  1567.                     if not Config.Farming.StartFarm then break end
  1568.                     task.spawn(function()
  1569.                         if Config.Farming.TeleportToCoinsArea then
  1570.                             if (GetHumanoidRootPart().CFrame.p - game:GetService("Workspace")["__MAP"].Teleports[CoinData[i].Area].CFrame.p).Magnitude > 15 then
  1571.                                 GetHumanoidRootPart().CFrame = game:GetService("Workspace")["__MAP"].Teleports[CoinData[i].Area].CFrame + Vector3.new(0,4,0)
  1572.                             end
  1573.                         end
  1574.                         UseRemote(Remotes["Join Coin"], CoinData[i].CoinID, {PetData[i]})
  1575.                         UseRemote(Remotes["Farm Coin"], CoinData[i].CoinID, PetData[i])
  1576.                     end)
  1577.                     task.wait(Config.Farming.FarmSpeed)
  1578.                 end
  1579.             end
  1580.         elseif Config.Farming.Mode == "Farm Aura" then
  1581.             if Config.Farming.SendAllPets then
  1582.                 if Config.Farming.TeleportToCoinsArea then
  1583.                     if (GetHumanoidRootPart().CFrame.p - game:GetService("Workspace")["__MAP"].Teleports[CoinData[1].Area].CFrame.p).Magnitude > 15 then
  1584.                         GetHumanoidRootPart().CFrame = game:GetService("Workspace")["__MAP"].Teleports[CoinData[1].Area].CFrame + Vector3.new(0,4,0)
  1585.                     end
  1586.                 end
  1587.                 UseRemote(Remotes["Join Coin"], CoinData[1].CoinID, PetData)
  1588.                 for i2,v2 in pairs(PetData) do
  1589.                     UseRemote(Remotes["Farm Coin"], CoinData[1].CoinID, v2)
  1590.                     if Config.Farming.PetSendSpeed ~= 0 then
  1591.                         task.wait(Config.Farming.PetSendSpeed / 1000)
  1592.                     end
  1593.                 end
  1594.                 task.wait(Config.Farming.FarmSpeed)
  1595.             elseif Config.Farming.SendAllPets == false then
  1596.                 for i = 1, #PetData do
  1597.                     if not Config.Farming.StartFarm then break end
  1598.                     task.spawn(function()
  1599.                         if Config.Farming.TeleportToCoinsArea then
  1600.                             if (GetHumanoidRootPart().CFrame.p - game:GetService("Workspace")["__MAP"].Teleports[v.Area].CFrame.p).Magnitude > 15 then
  1601.                                 GetHumanoidRootPart().CFrame = game:GetService("Workspace")["__MAP"].Teleports[v.Area].CFrame + Vector3.new(0,4,0)
  1602.                             end
  1603.                         end
  1604.                         UseRemote(Remotes["Join Coin"], CoinData[i].CoinID, {PetData[i]})
  1605.                         UseRemote(Remotes["Farm Coin"], CoinData[i].CoinID, PetData[i])
  1606.                     end)
  1607.                     task.wait(Config.Farming.FarmSpeed)
  1608.                 end
  1609.             end
  1610.         elseif Config.Farming.Mode == "Heartbeat Farm" then
  1611.             if Config.Farming.SendAllPets then
  1612.                 task.spawn(function()
  1613.                     if Config.Farming.TeleportToCoinsArea then
  1614.                         if (GetHumanoidRootPart().CFrame.p - game:GetService("Workspace")["__MAP"].Teleports[CoinData[1].Area].CFrame.p).Magnitude > 15 then
  1615.                             GetHumanoidRootPart().CFrame = game:GetService("Workspace")["__MAP"].Teleports[CoinData[1].Area].CFrame + Vector3.new(0,4,0)
  1616.                         end
  1617.                     end
  1618.                     UseRemote(Remotes["Join Coin"], CoinData[1].CoinID, PetData)
  1619.                     for i2,v2 in pairs(PetData) do
  1620.                         task.spawn(function()
  1621.                             UseRemote(Remotes["Farm Coin"], CoinData[1].CoinID, v2)
  1622.                             if Config.Farming.PetSendSpeed ~= 0 then
  1623.                                 task.wait(Config.Farming.PetSendSpeed / 1000)
  1624.                             end
  1625.                         end)
  1626.                     end
  1627.                     UseRemote(Remotes["Leave Coin"], CoinData[1].CoinID, PetData)
  1628.                 end)
  1629.             elseif Config.Farming.SendAllPets == false then
  1630.                 for i = 1, #PetData do
  1631.                     if not Config.Farming.StartFarm then break end
  1632.                     task.spawn(function()
  1633.                         if Config.Farming.TeleportToCoinsArea then
  1634.                             if (GetHumanoidRootPart().CFrame.p - game:GetService("Workspace")["__MAP"].Teleports[CoinData[i].Area].CFrame.p).Magnitude > 15 then
  1635.                                 GetHumanoidRootPart().CFrame = game:GetService("Workspace")["__MAP"].Teleports[CoinData[i].Area].CFrame + Vector3.new(0,4,0)
  1636.                             end
  1637.                         end
  1638.                         UseRemote(Remotes["Join Coin"], CoinData[i].CoinID, {PetData[i]})
  1639.                         UseRemote(Remotes["Farm Coin"], CoinData[i].CoinID, PetData[i])
  1640.                     end)
  1641.                 end
  1642.                 task.wait(0.3)
  1643.                 for i = 1, #PetData do
  1644.                     if not Config.Farming.StartFarm then break end
  1645.                     task.spawn(function()
  1646.                         UseRemote(Remotes["Leave Coin"], CoinData[i].CoinID, {PetData[i]})
  1647.                     end)
  1648.                 end
  1649.                 task.wait(Config.Farming.FarmSpeed)
  1650.             end
  1651.         elseif Config.Farming.Mode == "Crash Farm" then
  1652.             RunService.RenderStepped:Connect(function()
  1653.                 task.spawn(function()
  1654.                     for i,v in pairs(CoinData) do
  1655.                         if not Config.Farming.StartFarm then return end
  1656.                         task.spawn(function()
  1657.                             if Config.Farming.TeleportToCoinsArea then
  1658.                                 if (GetHumanoidRootPart().CFrame.p - game:GetService("Workspace")["__MAP"].Teleports[v.Area].CFrame.p).Magnitude > 15 then
  1659.                                     GetHumanoidRootPart().CFrame = game:GetService("Workspace")["__MAP"].Teleports[v.Area].CFrame + Vector3.new(0,4,0)
  1660.                                 end
  1661.                             end
  1662.                             UseRemote(Remotes["Join Coin"], v.CoinID, PetData)
  1663.                             if Config.Farming.PetSendSpeed ~= 0 then
  1664.                                 task.wait(Config.Farming.PetSendSpeed / 1000)
  1665.                             end
  1666.                         end)
  1667.                         for i2,v2 in pairs(PetData) do
  1668.                             task.spawn(function()
  1669.                                 if not Config.Farming.StartFarm then return end
  1670.                                 UseRemote(Remotes["Farm Coin"], v.CoinID, v2)
  1671.                             end)
  1672.                         end
  1673.                     end
  1674.                 end)
  1675.             end)
  1676.         end
  1677.     end)
  1678. end
  1679.  
  1680. --//Valentines
  1681. local WorldIndex = 1
  1682. local CurrentWorld = "None"
  1683. local LuckyBlocksLeft = "0"
  1684. local WaitingForCoins = "0s Left"
  1685. local HasBeenToFirstWorld = false
  1686. function HeartFarm()
  1687.     LPH_NO_VIRTUALIZE(function()
  1688.         pcall(function()
  1689.             local ChoosenWorlds = {}
  1690.             for i,v in pairs(Config.Valentines.Worlds) do
  1691.                 if v == true then
  1692.                     table.insert(ChoosenWorlds, i)
  1693.                 end
  1694.             end
  1695.             local PetData = LoadPets()
  1696.             local Coins = UseRemote(Remotes["Get Coins"])
  1697.             function RetrieveBlocks()
  1698.                 local HeartList = {}
  1699.                 for i,v in pairs(Coins) do
  1700.                     task.spawn(function()
  1701.                         if string.find(v.n, "Heart") then
  1702.                             if v.a  ~= "VIP" then
  1703.                                 if Library.WorldCmds.HasArea(v.a) then
  1704.                                     table.insert(HeartList, {["CoinID"] = i, ["CoinWorld"] = v.w, ["CoinArea"] = v.a})
  1705.                                 end
  1706.                             end
  1707.                         end
  1708.                     end)
  1709.                 end
  1710.                 return HeartList
  1711.             end
  1712.             function WaitForCoins()
  1713.                 local TimeToWait = os.time() + 15
  1714.                 repeat task.wait()
  1715.                     WaitingForCoins = tostring(TimeToWait - os.time()).."s Left"
  1716.                 until os.time() == TimeToWait
  1717.             end
  1718.             function TeleportToWorld()
  1719.                 if Config.Valentines.StartWorldTeleport then
  1720.                     if ChoosenWorlds[WorldIndex] then
  1721.                         if ChoosenWorlds[WorldIndex] == "Spawn" then
  1722.                             Library.WorldCmds.Load("Spawn")
  1723.                             getsenv(Scripts.GUIs.Teleport).Teleport("Shop")
  1724.                             WaitForCoins()
  1725.                         elseif ChoosenWorlds[WorldIndex] == "Axolotl" then
  1726.                             Library.WorldCmds.Load("Axolotl Ocean")
  1727.                             WaitForCoins()
  1728.                         else
  1729.                             Library.WorldCmds.Load(ChoosenWorlds[WorldIndex])
  1730.                             WaitForCoins()
  1731.                         end
  1732.                     else
  1733.                         if Config.Valentines.StartServerTeleport then
  1734.                             LowServerTeleport(false)
  1735.                         end
  1736.                     end
  1737.                 else
  1738.                     if ChoosenWorlds[WorldIndex] then
  1739.                         UseRemote(Remotes["Request World"], ChoosenWorlds[WorldIndex])
  1740.                         WaitForCoins()
  1741.                     else
  1742.                         if Config.Valentines.StartServerTeleport then
  1743.                             LowServerTeleport(false)
  1744.                         end
  1745.                     end
  1746.                 end
  1747.             end
  1748.             if #RetrieveBlocks() == 0 then
  1749.             if HasBeenToFirstWorld then
  1750.                     WorldIndex = WorldIndex + 1
  1751.                     if not Config.Valentines.StartServerTeleport then
  1752.                         if not ChoosenWorlds[WorldIndex] then
  1753.                             WorldIndex = 1
  1754.                         end
  1755.                     end
  1756.                     TeleportToWorld()
  1757.                 else
  1758.                     CurrentWorld = ChoosenWorlds[WorldIndex]
  1759.                     TeleportToWorld()
  1760.                     HasBeenToFirstWorld = true
  1761.                 end
  1762.             end
  1763.             for i,v in pairs(RetrieveBlocks()) do
  1764.                 if not Config.Valentines.StartHeartFarm then break end
  1765.                 task.spawn(function()
  1766.                     GetHumanoidRootPart().CFrame = Workspace.__MAP.Boxes:FindFirstChild(v.CoinArea).CFrame + Vector3.new(0,10,0)
  1767.                     task.wait(0.1)
  1768.                     UseRemote(Remotes["Join Coin"], v.CoinID, PetData)
  1769.                 end)
  1770.                 for i2,v2 in pairs(PetData) do
  1771.                     UseRemote(Remotes["Farm Coin"], v.CoinID, v2)
  1772.                 end
  1773.                 LuckyBlocksLeft = #RetrieveBlocks()
  1774.                 CurrentWorld = v.CoinWorld
  1775.             end
  1776.         end)
  1777.     end)()
  1778. end
  1779.  
  1780. --// Egg Functions
  1781. local EggsHatched = "No Egg Selected"
  1782. local EggsRemaining = "No Egg Selected"
  1783. local function BuyEgg()
  1784.     local TripleHatch = false
  1785.     local OctupleHatch = false
  1786.     local CurrencyPath = (IsHardcoreMode and Library.Save.Get().HardcoreCurrency) or Library.Save.Get()
  1787.     if Config.Pets.Mode == "Single" then
  1788.         TripleHatch = false
  1789.         OctupleHatch = false
  1790.     elseif Config.Pets.Mode == "Triple" then
  1791.         TripleHatch = true
  1792.         OctupleHatch = false
  1793.     elseif Config.Pets.Mode == "Octuple" then
  1794.         TripleHatch = false
  1795.         OctupleHatch = true
  1796.     end
  1797.     for i,v in pairs(Library.Save.Get().EggsOpened) do
  1798.         if i == Config.Pets.ChoosenEgg then
  1799.             EggsHatched = Library.Functions.Commas(tonumber(v))
  1800.         end
  1801.     end
  1802.     for i,v in pairs(Library.Directory.Eggs) do
  1803.         if i == Config.Pets.ChoosenEgg then
  1804.             for i2,v2 in pairs(CurrencyPath) do
  1805.                 if i2 == v.currency then
  1806.                     EggsRemaining = Library.Functions.Commas(math.floor(v2 / v.cost) % 1000000000)
  1807.                 end
  1808.             end
  1809.         end
  1810.     end
  1811.     if Config.Pets.TeleportToEgg then
  1812.         for i,v in pairs(game:GetService("Workspace")["__MAP"].Eggs:GetDescendants()) do
  1813.             if v.Name == "Egg Capsule" then
  1814.                 if v:GetAttribute("ID") == Config.Pets.ChoosenEgg then
  1815.                     if (GetHumanoidRootPart().CFrame.p - v.Egg.CFrame.p).Magnitude > 15 then
  1816.                         GetHumanoidRootPart().CFrame = v.Egg.CFrame
  1817.                     end
  1818.                 end
  1819.             end
  1820.         end
  1821.     end
  1822.     UseRemote(Remotes["Buy Egg"], Config.Pets.ChoosenEgg, TripleHatch, OctupleHatch)
  1823. end
  1824.  
  1825. local function MasteryBuyEgg(EggName)
  1826.     local TripleHatch = false
  1827.     local OctupleHatch = false
  1828.     if Config.Pets.Mode == "Single" then
  1829.         TripleHatch = false
  1830.         OctupleHatch = false
  1831.     elseif Config.Pets.Mode == "Triple" then
  1832.         TripleHatch = true
  1833.         OctupleHatch = false
  1834.     elseif Config.Pets.Mode == "Octuple" then
  1835.         TripleHatch = false
  1836.         OctupleHatch = true
  1837.     end
  1838.     UseRemote(Remotes["Buy Egg"], EggName, TripleHatch, OctupleHatch)
  1839. end
  1840.  
  1841. --// Machines
  1842. local function MakePetsGolden()
  1843.     local PetsToInsert = {
  1844.         ["Regular"] = {},
  1845.         ["Hardcore"] = {},
  1846.         ["Shiny"] = {},
  1847.         ["ShinyHardcore"] = {}
  1848.     }
  1849.     for i,v in pairs(Library.Save.Get().Pets) do
  1850.         if Library.Directory.Pets[v.id].rarity ~= "Exclusive" and not HasPetEquipped(v.uid) and not v.hce and not v.l and not v.g and not v.r and not v.dm and v.id ~= "6969" then
  1851.             if (Config.Machines.Golden.GoldenHC and v.hc) then
  1852.                 if (Config.Machines.Golden.GoldenShiny and v.sh) then
  1853.                     if not PetsToInsert.ShinyHardcore[v.id] then
  1854.                         PetsToInsert.ShinyHardcore[v.id] = {}
  1855.                     end
  1856.                     if not PetsToInsert.ShinyHardcore[v.id][v.uid] then
  1857.                         PetsToInsert.ShinyHardcore[v.id][v.uid] = {["Hardcore"] = v.hc, ["Shiny"] = v.sh}
  1858.                     end
  1859.                 end
  1860.                 if not v.sh then
  1861.                     if not PetsToInsert.Hardcore[v.id] then
  1862.                         PetsToInsert.Hardcore[v.id] = {}
  1863.                     end
  1864.                     if not PetsToInsert.Hardcore[v.id][v.uid] then
  1865.                         PetsToInsert.Hardcore[v.id][v.uid] = {["Hardcore"] = v.hc, ["Shiny"] = v.sh, ["ID"] = Library.Directory.Pets[v.id].name}
  1866.                     end
  1867.                 end
  1868.             end
  1869.             if not v.hc then
  1870.                 if (Config.Machines.Golden.GoldenShiny and v.sh) then
  1871.                     if not PetsToInsert.Shiny[v.id] then
  1872.                         PetsToInsert.Shiny[v.id] = {}
  1873.                     end
  1874.                     if not PetsToInsert.Shiny[v.id][v.uid] then
  1875.                         PetsToInsert.Shiny[v.id][v.uid] = {["Hardcore"] = v.hc, ["Shiny"] = v.sh}
  1876.                     end
  1877.                 end
  1878.                 if not v.sh then
  1879.                     if not PetsToInsert.Regular[v.id] then
  1880.                         PetsToInsert.Regular[v.id] = {}
  1881.                     end
  1882.                     if not PetsToInsert.Regular[v.id][v.uid] then
  1883.                         PetsToInsert.Regular[v.id][v.uid] = {["Hardcore"] = v.hc, ["Shiny"] = v.sh}
  1884.                     end
  1885.                 end
  1886.             end
  1887.         end
  1888.     end
  1889.     local PetsToGold = {}
  1890.     local PetAmount
  1891.     for i,v in pairs(PetsToInsert) do
  1892.         for i2,v2 in pairs(v) do
  1893.             for i3,v3 in pairs(v2) do
  1894.                 if v3.Hardcore == true then
  1895.                     PetAmount = Config.Machines.Golden.GoldenHCAmount
  1896.                 else
  1897.                     PetAmount = Config.Machines.Golden.GoldenAmount
  1898.                 end
  1899.                 if CalculateItemsInTable(v2, 1) >= PetAmount then
  1900.                     if #PetsToGold < PetAmount then
  1901.                         table.insert(PetsToGold, i3)
  1902.                     else
  1903.                         break
  1904.                     end
  1905.                 else
  1906.                     break
  1907.                 end
  1908.             end
  1909.             if #PetsToGold >= PetAmount then
  1910.                 UseRemote(Remotes["Use Golden Machine"], PetsToGold)
  1911.             end
  1912.         end
  1913.     end
  1914. end
  1915.  
  1916. local function MakePetsRainbow()
  1917.     local PetsToInsert = {
  1918.         ["Regular"] = {},
  1919.         ["Hardcore"] = {},
  1920.         ["Shiny"] = {},
  1921.         ["ShinyHardcore"] = {}
  1922.     }
  1923.     for i,v in pairs(Library.Save.Get().Pets) do
  1924.         if Library.Directory.Pets[v.id].rarity ~= "Exclusive" and not HasPetEquipped(v.uid) and not v.hce and not v.l and v.g and v.id ~= "6969" then
  1925.             if (Config.Machines.Rainbow.RainbowHC and v.hc) then
  1926.                 if (Config.Machines.Rainbow.RainbowShiny and v.sh) then
  1927.                     if not PetsToInsert.ShinyHardcore[v.id] then
  1928.                         PetsToInsert.ShinyHardcore[v.id] = {}
  1929.                     end
  1930.                     if not PetsToInsert.ShinyHardcore[v.id][v.uid] then
  1931.                         PetsToInsert.ShinyHardcore[v.id][v.uid] = {["Hardcore"] = v.hc, ["Shiny"] = v.sh}
  1932.                     end
  1933.                 end
  1934.                 if not v.sh then
  1935.                     if not PetsToInsert.Hardcore[v.id] then
  1936.                         PetsToInsert.Hardcore[v.id] = {}
  1937.                     end
  1938.                     if not PetsToInsert.Hardcore[v.id][v.uid] then
  1939.                         PetsToInsert.Hardcore[v.id][v.uid] = {["Hardcore"] = v.hc, ["Shiny"] = v.sh, ["ID"] = Library.Directory.Pets[v.id].name}
  1940.                     end
  1941.                 end
  1942.             end
  1943.             if not v.hc then
  1944.                 if (Config.Machines.Rainbow.RainbowShiny and v.sh) then
  1945.                     if not PetsToInsert.Shiny[v.id] then
  1946.                         PetsToInsert.Shiny[v.id] = {}
  1947.                     end
  1948.                     if not PetsToInsert.Shiny[v.id][v.uid] then
  1949.                         PetsToInsert.Shiny[v.id][v.uid] = {["Hardcore"] = v.hc, ["Shiny"] = v.sh}
  1950.                     end
  1951.                 end
  1952.                 if not v.sh then
  1953.                     if not PetsToInsert.Regular[v.id] then
  1954.                         PetsToInsert.Regular[v.id] = {}
  1955.                     end
  1956.                     if not PetsToInsert.Regular[v.id][v.uid] then
  1957.                         PetsToInsert.Regular[v.id][v.uid] = {["Hardcore"] = v.hc, ["Shiny"] = v.sh}
  1958.                     end
  1959.                 end
  1960.             end
  1961.         end
  1962.     end
  1963.     local PetsToRainbow = {}
  1964.     local PetAmount
  1965.     for i,v in pairs(PetsToInsert) do
  1966.         for i2,v2 in pairs(v) do
  1967.             for i3,v3 in pairs(v2) do
  1968.                 if v3.Hardcore == true then
  1969.                     PetAmount = Config.Machines.Rainbow.RainbowHCAmount
  1970.                 else
  1971.                     PetAmount = Config.Machines.Rainbow.RainbowAmount
  1972.                 end
  1973.                 if CalculateItemsInTable(v2, 1) >= PetAmount then
  1974.                     if #PetsToRainbow < PetAmount then
  1975.                         table.insert(PetsToRainbow, i3)
  1976.                     else
  1977.                         break
  1978.                     end
  1979.                 else
  1980.                     break
  1981.                 end
  1982.             end
  1983.             if #PetsToRainbow >= PetAmount then
  1984.                 UseRemote(Remotes["Use Rainbow Machine"], PetsToRainbow)
  1985.             end
  1986.         end
  1987.     end
  1988. end
  1989.  
  1990. local function MakePetsDarkMatter()
  1991.     local PetsToInsert = {
  1992.         ["Regular"] = {},
  1993.         ["Hardcore"] = {},
  1994.         ["Shiny"] = {},
  1995.         ["ShinyHardcore"] = {}
  1996.     }
  1997.     for i,v in pairs(Library.Save.Get().Pets) do
  1998.         if Library.Directory.Pets[v.id].rarity ~= "Exclusive" and not HasPetEquipped(v.uid) and not v.hce and not v.l and v.r and v.id ~= "6969" then
  1999.             if (Config.Machines.DarkMatter.DarkMatterHC and v.hc) then
  2000.                 if (Config.Machines.DarkMatter.DarkMatterShiny and v.sh) then
  2001.                     if not PetsToInsert.ShinyHardcore[v.id] then
  2002.                         PetsToInsert.ShinyHardcore[v.id] = {}
  2003.                     end
  2004.                     if not PetsToInsert.ShinyHardcore[v.id][v.uid] then
  2005.                         PetsToInsert.ShinyHardcore[v.id][v.uid] = {["Hardcore"] = v.hc, ["Shiny"] = v.sh}
  2006.                     end
  2007.                 end
  2008.                 if not v.sh then
  2009.                     if not PetsToInsert.Hardcore[v.id] then
  2010.                         PetsToInsert.Hardcore[v.id] = {}
  2011.                     end
  2012.                     if not PetsToInsert.Hardcore[v.id][v.uid] then
  2013.                         PetsToInsert.Hardcore[v.id][v.uid] = {["Hardcore"] = v.hc, ["Shiny"] = v.sh, ["ID"] = Library.Directory.Pets[v.id].name}
  2014.                     end
  2015.                 end
  2016.             end
  2017.             if not v.hc then
  2018.                 if (Config.Machines.DarkMatter.DarkMatterShiny and v.sh) then
  2019.                     if not PetsToInsert.Shiny[v.id] then
  2020.                         PetsToInsert.Shiny[v.id] = {}
  2021.                     end
  2022.                     if not PetsToInsert.Shiny[v.id][v.uid] then
  2023.                         PetsToInsert.Shiny[v.id][v.uid] = {["Hardcore"] = v.hc, ["Shiny"] = v.sh}
  2024.                     end
  2025.                 end
  2026.                 if not v.sh then
  2027.                     if not PetsToInsert.Regular[v.id] then
  2028.                         PetsToInsert.Regular[v.id] = {}
  2029.                     end
  2030.                     if not PetsToInsert.Regular[v.id][v.uid] then
  2031.                         PetsToInsert.Regular[v.id][v.uid] = {["Hardcore"] = v.hc, ["Shiny"] = v.sh}
  2032.                     end
  2033.                 end
  2034.             end
  2035.         end
  2036.     end
  2037.     local PetsToDarkMatter = {}
  2038.     local PetAmount
  2039.     for i,v in pairs(PetsToInsert) do
  2040.         for i2,v2 in pairs(v) do
  2041.             for i3,v3 in pairs(v2) do
  2042.                 if v3.Hardcore == true then
  2043.                     PetAmount = Config.Machines.DarkMatter.DarkMatterHCAmount
  2044.                 else
  2045.                     PetAmount = Config.Machines.DarkMatter.DarkMatterAmount
  2046.                 end
  2047.                 if CalculateItemsInTable(v2, 1) >= PetAmount then
  2048.                     if #PetsToDarkMatter < PetAmount then
  2049.                         table.insert(PetsToDarkMatter, i3)
  2050.                     else
  2051.                         break
  2052.                     end
  2053.                 else
  2054.                     break
  2055.                 end
  2056.             end
  2057.             if #PetsToDarkMatter >= PetAmount then
  2058.                 UseRemote(Remotes["Convert To Dark Matter"], PetsToDarkMatter)
  2059.             end
  2060.         end
  2061.     end
  2062. end
  2063.  
  2064. local function ClaimDarkMatterPets()
  2065.     for i,v in pairs(Library.Save.Get(game.Players.LocalPlayer).DarkMatterQueue) do
  2066.         if os.time() >= v.readyTime then
  2067.             UseRemote(Remotes["Redeem Dark Matter Pet"], i)
  2068.         else
  2069.             break
  2070.         end
  2071.     end
  2072. end
  2073.  
  2074. local PetsToInsert1 = {}
  2075. local IdIndex1 = 1
  2076. local function FusePets()
  2077.     if Config.Machines.Fusing.Mode == "Normal" then
  2078.         local PetsToFuse1 = {}
  2079.         local IdsToFuse1 = {}
  2080.         for i,v in pairs(Library.Save.Get().Pets) do
  2081.             if (Library.Directory.Pets[v.id].rarity ~= "Exclusive") and (Library.Directory.Pets[v.id].rarity ~= "Mythical") and (not HasPetEquipped(v.uid)) and (not v.hce) and (not v.l) and v.id ~= "6969" then
  2082.                 if not table.find(IdsToFuse1, v.id) then
  2083.                     table.insert(IdsToFuse1, v.id)
  2084.                 end
  2085.             end
  2086.         end
  2087.         for i,v in pairs(Library.Save.Get().Pets) do
  2088.             if (Library.Directory.Pets[v.id].rarity ~= "Exclusive") and (Library.Directory.Pets[v.id].rarity ~= "Mythical") and (not HasPetEquipped(v.uid)) and (not v.hce) and (not v.l) and v.id ~= "6969" then
  2089.                 if v.id == IdsToFuse1[IdIndex1] then
  2090.                     if not table.find(PetsToInsert1, v.uid) then
  2091.                         table.insert(PetsToInsert1, v.uid)
  2092.                     end
  2093.                 end
  2094.             end
  2095.         end
  2096.         if #PetsToInsert1 >= Config.Machines.Fusing.Amount then
  2097.             for i,v in pairs(PetsToInsert1) do
  2098.                 if #PetsToFuse1 < Config.Machines.Fusing.Amount then
  2099.                     table.insert(PetsToFuse1, v)
  2100.                     table.remove(PetsToInsert1, i)
  2101.                 else
  2102.                     break
  2103.                 end
  2104.             end
  2105.         end
  2106.         if #PetsToFuse1 >= Config.Machines.Fusing.Amount then
  2107.             UseRemote(Remotes["Fuse Pets"], PetsToFuse1)
  2108.         end
  2109.         if not IdsToFuse1[IdIndex1] then
  2110.             IdIndex1 = 1
  2111.         else
  2112.             IdIndex1 = IdIndex1 + 1
  2113.         end
  2114.     elseif Config.Machines.Fusing.Mode == "Lowest Strength" then
  2115.         local PetsToInsert2 = {}
  2116.         local PetsToFuse2 = {}
  2117.         for i,v in pairs(Library.Save.Get().Pets) do
  2118.             if (Library.Directory.Pets[v.id].rarity ~= "Exclusive") and (Library.Directory.Pets[v.id].rarity ~= "Mythical") and (not HasPetEquipped(v.uid)) and (not v.hce) and (not v.l) and v.id ~= "6969" then
  2119.                 table.insert(PetsToInsert2, v)
  2120.             end
  2121.         end
  2122.         if #PetsToInsert2 >= tonumber(Config.Machines.Fusing.WhenToStop) then
  2123.             table.sort(PetsToInsert2, function(a,b)
  2124.                 return a.s < b.s
  2125.             end)
  2126.             for i,v in pairs(PetsToInsert2) do
  2127.                 if #PetsToFuse2 < Config.Machines.Fusing.Amount then
  2128.                     table.insert(PetsToFuse2, v.uid)
  2129.                 else
  2130.                     break
  2131.                 end
  2132.             end
  2133.         end
  2134.         UseRemote(Remotes["Fuse Pets"], PetsToFuse2)
  2135.     end
  2136. end
  2137.  
  2138. --// Booths
  2139. local function ClaimBooth()
  2140.     if not getsenv(Player.PlayerScripts.Scripts.Game["Trading Booths"]).GetBooth() then
  2141.         local UnclaimedBooths = {}
  2142.         for i,v in pairs(getgc(true)) do
  2143.             if type(v) == "table" and rawget(v, "Model") and rawget(v, "ID") then
  2144.                 if v.ID ~= 0 and v.Model and v.Model:FindFirstChild("Booth") then
  2145.                     table.insert(UnclaimedBooths, {["Booth"] = v.Model.Booth, ["ID"] = v.ID})
  2146.                 end
  2147.             end
  2148.         end
  2149.         table.sort(UnclaimedBooths, function(a,b)
  2150.             return (GetHumanoidRootPart().Position - a.Booth.Position).Magnitude < (GetHumanoidRootPart().Position - b.Booth.Position).Magnitude
  2151.         end)
  2152.         if Config.Booths.Extra.WalkToBooth then
  2153.             FindPath(UnclaimedBooths[1].Booth)
  2154.         end
  2155.         if not Config.Booths.Selling.StartSellingPet then return end
  2156.         UseRemote(Remotes["Claim Trading Booth"], UnclaimedBooths[1].ID)
  2157.         return true
  2158.     else
  2159.         return true
  2160.     end
  2161. end
  2162.  
  2163. local function SellPets()
  2164.     LPH_NO_VIRTUALIZE(function()
  2165.         pcall(function()
  2166.             ClaimBooth()
  2167.             for i,v in pairs(Config.Booths.Selling.SellingList) do
  2168.                 task.spawn(function()
  2169.                     local PetsToSell = {}
  2170.                     local Settings = {
  2171.                         ["Regular"] = (table.find(v.Type, "Regular") and true) or false,
  2172.                         ["Hardcore"] = (table.find(v.Type, "Hardcore") and true) or false,
  2173.                         ["Shiny"] = (table.find(v.Type, "Shiny") and true) or false,
  2174.                         ["Golden"] = (table.find(v.Type, "Golden") and true) or false,
  2175.                         ["Rainbow"] = (table.find(v.Type, "Rainbow") and true) or false,
  2176.                         ["Dark Matter"] = (table.find(v.Type, "Dark Matter") and true) or false,
  2177.                         ["Any"] = (table.find(v.Type, "Any") and true) or false,
  2178.                     }
  2179.                     local function CheckPets(PetTable)
  2180.                         if (Settings["Regular"] and (not PetTable.hc and not PetTable.sh and ((Settings["Golden"] and Settings["Regular"]) and (not PetTable.hc and not PetTable.sh and PetTable.g)) or ((Settings["Rainbow"] and Settings["Regular"]) and (not PetTable.hc and not PetTable.sh and PetTable.r)) or ((Settings["Dark Matter"] and Settings["Regular"]) and (not PetTable.hc and not PetTable.sh and PetTable.dm)))) then
  2181.                             return true
  2182.                         end
  2183.                         if ((Settings["Regular"] and not Settings["Hardcore"] and not Settings["Shiny"] and not Settings["Golden"] and not Settings["Rainbow"] and not Settings["Dark Matter"]) and (not PetTable.hc and not PetTable.sh and not PetTable.g and not PetTable.r and not PetTable.dm)) then
  2184.                             return true
  2185.                         end
  2186.                         if ((Settings["Golden"] and not Settings["Regular"] and not Settings["Hardcore"] and not Settings["Shiny"]) and PetTable.g) or ((Settings["Rainbow"] and not Settings["Regular"] and not Settings["Hardcore"] and not Settings["Shiny"]) and PetTable.r) or ((Settings["Dark Matter"] and not Settings["Regular"] and not Settings["Hardcore"] and not Settings["Shiny"]) and PetTable.dm) then
  2187.                             return true
  2188.                         end
  2189.                         if (Settings["Hardcore"] and (PetTable.hc and not PetTable.sh and ((Settings["Golden"] and Settings["Hardcore"]) and (PetTable.hc and not PetTable.sh and PetTable.g)) or ((Settings["Rainbow"] and Settings["Hardcore"]) and (PetTable.hc and not PetTable.sh and PetTable.r)) or ((Settings["Dark Matter"] and Settings["Hardcore"]) and (PetTable.hc and not PetTable.sh and PetTable.dm)))) then
  2190.                             return true
  2191.                         end
  2192.                         if ((Settings["Hardcore"] and not Settings["Regular"] and not Settings["Shiny"] and not Settings["Golden"] and not Settings["Rainbow"] and not Settings["Dark Matter"]) and (PetTable.hc and not PetTable.sh and not PetTable.g and not PetTable.r and not PetTable.dm)) then
  2193.                             return true
  2194.                         end
  2195.                         if ((Settings["Shiny"] and Settings["Regular"]) and (PetTable.sh and not PetTable.hc and ((Settings["Golden"] and Settings["Shiny"] and Settings["Regular"]) and (not PetTable.hc and PetTable.sh and PetTable.g)) or ((Settings["Rainbow"] and Settings["Shiny"] and Settings["Regular"]) and (not PetTable.hc and PetTable.sh and PetTable.r)) or ((Settings["Dark Matter"] and Settings["Shiny"] and Settings["Regular"]) and (not PetTable.hc and PetTable.sh and PetTable.dm)))) then
  2196.                             return true
  2197.                         end
  2198.                         if ((Settings["Shiny"] and Settings["Hardcore"]) and (PetTable.hc and PetTable.sh and ((Settings["Golden"] and Settings["Shiny"] and Settings["Hardcore"]) and (PetTable.hc and PetTable.sh and PetTable.g)) or ((Settings["Rainbow"] and Settings["Shiny"] and Settings["Hardcore"]) and (PetTable.hc and PetTable.sh and PetTable.r)) or ((Settings["Dark Matter"] and Settings["Shiny"] and Settings["Hardcore"]) and (PetTable.hc and PetTable.sh and PetTable.dm)))) then
  2199.                             return true
  2200.                         end
  2201.                         if ((Settings["Shiny"] and Settings["Regular"] and not Settings["Hardcore"] and not Settings["Golden"] and not Settings["Rainbow"] and not Settings["Dark Matter"]) and (not PetTable.hc and PetTable.sh and not PetTable.g and not PetTable.r and not PetTable.dm)) then
  2202.                             return true
  2203.                         end
  2204.                         if ((Settings["Shiny"] and Settings["Hardcore"] and not Settings["Regular"] and not Settings["Golden"] and not Settings["Rainbow"] and not Settings["Dark Matter"]) and (PetTable.hc and PetTable.sh and not PetTable.g and not PetTable.r and not PetTable.dm)) then
  2205.                             return true
  2206.                         end
  2207.                         if ((Settings["Golden"] and not Settings["Regular"] and not Settings["Hardcore"] and not Settings["Shiny"]) and PetTable.g) or ((Settings["Rainbow"] and not Settings["Regular"] and not Settings["Hardcore"] and not Settings["Shiny"]) and PetTable.r) or ((Settings["Dark Matter"] and not Settings["Regular"] and not Settings["Hardcore"] and not Settings["Shiny"]) and PetTable.dm) then
  2208.                             return true
  2209.                         end
  2210.                         if Settings["Any"] then
  2211.                             return true
  2212.                         end
  2213.                     end
  2214.                     local AmountCanSell = (getsenv(Player.PlayerScripts.Scripts.Game["Trading Booths"]).GetBooth() and getsenv(Player.PlayerScripts.Scripts.Game["Trading Booths"]).GetBooth().Listings)
  2215.                     for i2,v2 in pairs(Library.Save.Get().Pets) do
  2216.                         if not HasPetEquipped(v2.uid) and not v2.l and v2.id == v.Pet and v2.id ~= "6969" then
  2217.                             if CheckPets(v2) then
  2218.                                 if #PetsToSell < 12 - CalculateItemsInTable(AmountCanSell, 1) then
  2219.                                     table.insert(PetsToSell, {v2.uid, tonumber(v.Price)})
  2220.                                 end
  2221.                             end
  2222.                         end
  2223.                     end
  2224.                     if #PetsToSell >= 1 then
  2225.                         UseRemote(Remotes["Add Trading Booth Pet"], PetsToSell)
  2226.                     end
  2227.                 end)
  2228.             end
  2229.         end)
  2230.     end)()
  2231. end
  2232.  
  2233. local Buying = false
  2234. local function SnipePets()
  2235.     LPH_NO_VIRTUALIZE(function()
  2236.         for i,v in pairs(Config.Booths.Sniping.SnipingList) do
  2237.             local Settings = {
  2238.                 ["Regular"] = (table.find(v.Type, "Regular") and true) or false,
  2239.                 ["Hardcore"] = (table.find(v.Type, "Hardcore") and true) or false,
  2240.                 ["Shiny"] = (table.find(v.Type, "Shiny") and true) or false,
  2241.                 ["Golden"] = (table.find(v.Type, "Golden") and true) or false,
  2242.                 ["Rainbow"] = (table.find(v.Type, "Rainbow") and true) or false,
  2243.                 ["Dark Matter"] = (table.find(v.Type, "Dark Matter") and true) or false,
  2244.                 ["Any"] = (table.find(v.Type, "Any") and true) or false,
  2245.             }
  2246.             if v.SnipeRarity == true then
  2247.                 Settings["Rarities"] = {
  2248.                     ["Basic"] = (table.find(v.Rarity, "Basic") and true) or false,
  2249.                     ["Rare"] = (table.find(v.Rarity, "Rare") and true) or false,
  2250.                     ["Epic"] = (table.find(v.Rarity, "Epic") and true) or false,
  2251.                     ["Legendary"] = (table.find(v.Rarity, "Legendary") and true) or false,
  2252.                     ["Mythical"] = (table.find(v.Rarity, "Mythical") and true) or false,
  2253.                     [""] = (table.find(v.Rarity, "") and true) or false,
  2254.                     ["Event"] = (table.find(v.Rarity, "Event") and true) or false,
  2255.                     ["Exclusive"] = (table.find(v.Rarity, "Exclusive") and true) or false,
  2256.                     ["Huge"] = (table.find(v.Rarity, "Huge") and true) or false,
  2257.                     ["Titanic"] = (table.find(v.Rarity, "Titanic") and true) or false
  2258.                 }
  2259.             end
  2260.             local function CheckForSnipePet(PetUid)
  2261.                 local Found = false
  2262.                 for i2,v2 in pairs(game:GetService("Workspace")["__MAP"].Interactive.Booths:GetDescendants()) do
  2263.                     task.spawn(function()
  2264.                         if v2.Name == PetUid then
  2265.                             Found = true
  2266.                         end
  2267.                     end)
  2268.                 end
  2269.                 return Found
  2270.             end
  2271.             local function BuyPet(Username, PetUidToSnipe, PetPrice, BoothID, BoothModel)
  2272.                 if Buying == false then
  2273.                     Buying = true
  2274.                     if not Config.Booths.Sniping.StartSnipingPet then Buying = false GetHumanoidRootPart().Anchored = false return end
  2275.                     if Config.Booths.Extra.WalkToBooth then
  2276.                         FindPath(BoothModel.Booth)
  2277.                     elseif Config.Booths.Extra.TeleportToBooth then
  2278.                         GetHumanoidRootPart().CFrame = BoothModel.Booth.CFrame + Vector3.new(0,1,0)
  2279.                     end
  2280.                     repeat task.wait() UseRemote(Remotes["Purchase Trading Booth Pet"], BoothID, PetUidToSnipe) until CheckForSnipePet(PetUidToSnipe) == false
  2281.                     SendSnipeWebhook(Username, PetUidToSnipe, Library.Functions.Commas(tonumber(PetPrice)), Library.Functions.Commas(Library.Save.Get().Diamonds))
  2282.                     Buying = false
  2283.                 end
  2284.             end
  2285.             for i2,v2 in pairs(debug.getupvalues(getsenv(Player.PlayerScripts.Scripts.Game["Trading Booths"]).SetupClaimed)[1]) do
  2286.                 task.spawn(function()
  2287.                     if CalculateItemsInTable(v2.Listings, 1) >= 1 and v2.Owner ~= Player.UserId then
  2288.                         for i3,v3 in pairs(v2.Listings) do
  2289.                             if Library.PetCmds.Get(i3) then
  2290.                                 if v3.Price <= Library.Save.Get().Diamonds then
  2291.                                     if v.SnipeUnder == true and v3.Price <= tonumber(v.GemsUnder) then
  2292.                                         if v.SnipeRarity == true then
  2293.                                             if CheckTypeOrRarity("Rarity", Settings, Library.PetCmds.Get(i3)) then
  2294.                                                 if CheckTypeOrRarity("Type", Settings, Library.PetCmds.Get(i3)) then
  2295.                                                     BuyPet(v2.Owner, Library.PetCmds.Get(i3).uid, v3.Price, i2, v2.Model)
  2296.                                                 end
  2297.                                             end
  2298.                                         elseif v.SnipeRarity == false and Library.PetCmds.Get(i3).id == v.Pet then
  2299.                                             if CheckTypeOrRarity("Type", Settings, Library.PetCmds.Get(i3)) then
  2300.                                                 BuyPet(v2.Owner, Library.PetCmds.Get(i3).uid, v3.Price, i2, v2.Model)
  2301.                                             end
  2302.                                         end
  2303.                                     elseif v.SnipeUnder == false then
  2304.                                         if v.SnipeRarity == true then
  2305.                                             if CheckTypeOrRarity("Rarity", Settings, Library.PetCmds.Get(i3)) then
  2306.                                                 if CheckTypeOrRarity("Type", Settings, Library.PetCmds.Get(i3)) then
  2307.                                                     BuyPet(v2.Owner, Library.PetCmds.Get(i3).uid, v3.Price, i2, v2.Model)
  2308.                                                 end
  2309.                                             end
  2310.                                         elseif CheckTypeOrRarity("Type", Settings, Library.PetCmds.Get(i3)) and Library.PetCmds.Get(i3).id == v.Pet then
  2311.                                             BuyPet(v2.Owner, Library.PetCmds.Get(i3).uid, v3.Price, i2, v2.Model)
  2312.                                         end
  2313.                                     end
  2314.                                 end
  2315.                             end
  2316.                         end
  2317.                     end
  2318.                 end)
  2319.             end
  2320.         end
  2321.     end)()
  2322. end
  2323.  
  2324. --// Deleting
  2325. local function DeletePets()
  2326.     local PetsToDelete = {}
  2327.     local Settings = {
  2328.         ["Regular"] = (table.find(Config.Deleting.Options, "Regular") and true) or false,
  2329.         ["Hardcore"] = (table.find(Config.Deleting.Options, "Hardcore") and true) or false,
  2330.         ["Shiny"] = (table.find(Config.Deleting.Options, "Shiny") and true) or false,
  2331.         ["Golden"] = (table.find(Config.Deleting.Options, "Golden") and true) or false,
  2332.         ["Rainbow"] = (table.find(Config.Deleting.Options, "Rainbow") and true) or false,
  2333.         ["Dark Matter"] = (table.find(Config.Deleting.Options, "Dark Matter") and true) or false,
  2334.         ["Any"] = (table.find(Config.Deleting.Options, "Any") and true) or false,
  2335.         ["Rarities"] = {
  2336.             ["Basic"] = (table.find(Config.Deleting.Rarities, "Basic") and true) or false,
  2337.             ["Rare"] = (table.find(Config.Deleting.Rarities, "Rare") and true) or false,
  2338.             ["Epic"] = (table.find(Config.Deleting.Rarities, "Epic") and true) or false,
  2339.             ["Legendary"] = (table.find(Config.Deleting.Rarities, "Legendary") and true) or false,
  2340.             ["Mythical"] = (table.find(Config.Deleting.Rarities, "Mythical") and true) or false,
  2341.         }
  2342.     }
  2343.     if not Config.Deleting.DeleteByRarity then
  2344.         for i,v in pairs(Library.Save.Get().Pets) do
  2345.             if Library.Directory.Pets[v.id].rarity ~= "Exclusive" and not HasPetEquipped(v.uid) and not v.hce and not v.l and v.id == Config.Deleting.ChoosenPetToDelete and not table.find(PetsToDelete, v.uid) and v.id ~= "6969" then
  2346.                 if CheckTypeOrRarity("Type", Settings, v) then
  2347.                     table.insert(PetsToDelete, v.uid)
  2348.                 end
  2349.             end
  2350.         end
  2351.     else
  2352.         for i,v in pairs(Library.Save.Get().Pets) do
  2353.             if Library.Directory.Pets[v.id].rarity ~= "Exclusive" and not HasPetEquipped(v.uid) and not v.hce and not v.l and v.id ~= "6969" then
  2354.                 if CheckTypeOrRarity("Rarity", Settings, v) then
  2355.                     if CheckTypeOrRarity("Type", Settings, v) then
  2356.                         table.insert(PetsToDelete, v.uid)
  2357.                     end
  2358.                 end
  2359.             end
  2360.         end
  2361.     end
  2362.     if #PetsToDelete >= 1 then
  2363.         UseRemote(Remotes["Delete Several Pets"], PetsToDelete)
  2364.     end
  2365. end
  2366.  
  2367. local function CollectPets()
  2368.     local TripleHatch = false
  2369.     local OctupleHatch = false
  2370.     if Config.PetCollection.Mode == "Single" then
  2371.         TripleHatch = false
  2372.         OctupleHatch = false
  2373.     elseif Config.PetCollection.Mode == "Triple" then
  2374.         TripleHatch = true
  2375.         OctupleHatch = false
  2376.     elseif Config.PetCollection.Mode == "Octuple" then
  2377.         TripleHatch = false
  2378.         OctupleHatch = true
  2379.     end
  2380.     local PetCollectSettings = {
  2381.         ["Regular"] = table.find(Config.PetCollection.Options, "Regular") ,
  2382.         ["Golden"] = table.find(Config.PetCollection.Options, "Golden"),
  2383.         ["Rainbow"] = table.find(Config.PetCollection.Options, "Rainbow"),
  2384.         ["Dark Matter"] = table.find(Config.PetCollection.Options, "Dark Matter"),
  2385.         ["Any"] = table.find(Config.PetCollection.Options, "Any"),
  2386.         ["Rarities"] = {
  2387.             ["Basic"] = table.find(Config.PetCollection.Rarities, "Basic"),
  2388.             ["Rare"] = table.find(Config.PetCollection.Rarities, "Rare"),
  2389.             ["Epic"] = table.find(Config.PetCollection.Rarities, "Epic"),
  2390.             ["Legendary"] = table.find(Config.PetCollection.Rarities, "Legendary"),
  2391.             ["Mythical"] = table.find(Config.PetCollection.Rarities, "Mythical"),
  2392.         }
  2393.     }
  2394.     for i,v in pairs(Library.Shared.GetAllCollectablePets()) do
  2395.         if (PetCollectSettings["Regular"] and (not table.find(Library.Save.Get().Collection, v.petId.."-1") and not v.isGolden and not v.isRainbow and not v.isDarkMatter)) or (PetCollectSettings["Golden"] and (not table.find(Library.Save.Get().Collection, v.petId.."-2") and v.isGolden)) or (PetCollectSettings["Rainbow"] and (not table.find(Library.Save.Get().Collection, v.petId.."-3") and v.isRainbow)) or (PetCollectSettings["Dark Matter"] and (not table.find(Library.Save.Get().Collection, v.petId.."-4") and v.isDarkMatter)) or (PetCollectSettings["Any"] and (not table.find(Library.Save.Get().Collection, v.petId.."-1") or not table.find(Library.Save.Get().Collection, v.petId.."-2") or not table.find(Library.Save.Get().Collection, v.petId.."-3") or not table.find(Library.Save.Get().Collection, v.petId.."-4"))) then
  2396.             if (PetCollectSettings.Rarities["Basic"] and Library.Directory.Pets[v.petId].rarity == "Basic") or (PetCollectSettings.Rarities["Rare"] and Library.Directory.Pets[v.petId].rarity == "Rare") or (PetCollectSettings.Rarities["Epic"] and Library.Directory.Pets[v.petId].rarity == "Epic") or (PetCollectSettings.Rarities["Legendary"] and Library.Directory.Pets[v.petId].rarity == "Legendary") or (PetCollectSettings.Rarities["Mythical"] and Library.Directory.Pets[v.petId].rarity == "Mythical") then
  2397.                 for i2,v2 in pairs(Library.Directory.Eggs) do
  2398.                     if v2.hatchable then
  2399.                         for i3,v3 in pairs(v2) do
  2400.                             if i3 == "drops" and type(v3) == "table" then
  2401.                                 for i4,v4 in pairs(v3) do
  2402.                                     if v4[1] == v.petId then
  2403.                                         if not Config.PetCollection.StartCollecting then break end
  2404.                                         UseRemote(Remotes["Buy Egg"], ((v.isGolden or v.isRainbow or v.isDarkMatter) and "Golden "..i2) or i2, TripleHatch, OctupleHatch)
  2405.                                     end
  2406.                                 end
  2407.                             end
  2408.                         end
  2409.                     end
  2410.                 end
  2411.             end
  2412.         end
  2413.     end
  2414. end
  2415.  
  2416. local function ActivateBoosts()
  2417.     if Config.Misc.Boosting.UseBoosts then
  2418.         local BoostsToCheck = {}
  2419.         for i,v in pairs(Library.Save.Get().Boosts) do
  2420.             table.insert(BoostsToCheck, i)
  2421.         end
  2422.         for i,v in pairs(Config.Misc.Boosting.BoostsToActivate) do
  2423.             if not table.find(BoostsToCheck, v) then
  2424.                 UseRemote(Remotes["Activate Boost"], v)
  2425.                 task.wait(1)
  2426.             end
  2427.         end
  2428.     end
  2429.     if Config.Misc.Boosting.UseAllBoosts then
  2430.         for i,v in pairs(Library.Save.Get().Boosts) do
  2431.             for i2,v2 in pairs(Config.Misc.Boosting.BoostsToActivate) do
  2432.                 UseRemote(Remotes["Activate Boost"], v2)
  2433.             end
  2434.         end
  2435.     end
  2436. end
  2437.  
  2438. local function ActivateServerBoosts()
  2439.     for i,v in pairs(Config.Misc.Boosting.ServerBoostsToActivate) do
  2440.         if not Library.ServerBoosts.GetActiveBoosts()[v] then
  2441.             UseRemote(Remotes["Activate Server Boost"], v)
  2442.             task.wait(1)
  2443.         end
  2444.     end
  2445. end
  2446.  
  2447. local function FarmMastery(MasteryTable)
  2448.     local PetData = LoadPets()
  2449.     local CoinData = {}
  2450.     for i,v in pairs(UseRemote(Remotes["Get Coins"])) do
  2451.         for i2,v2 in pairs(MasteryTable) do
  2452.             if (v2 == "Coin Piles" and v.n:find("Coins")) or (v2 == "Crates" and v.n:find("Crate")) or (v2 == "VaultsAndSafes" and (v.n:find("Vault") or v.n:find("Safe"))) or (v2 == "Presents" and v.n:find("Present")) or (v2 == "Diamond Piles" and v.n:find("Diamonds")) then
  2453.                 if not table.find(CoinData, i) then
  2454.                     table.insert(CoinData, i)
  2455.                 end
  2456.             end
  2457.         end
  2458.     end
  2459.     task.spawn(function()
  2460.         for i,v in pairs(CoinData) do
  2461.             if not Config.Mastery.StartCompletingMasterys then break end
  2462.             task.spawn(function()
  2463.                 UseRemote(Remotes["Join Coin"], v, PetData)
  2464.             end)
  2465.             for i2,v2 in pairs(PetData) do
  2466.                 task.spawn(function()
  2467.                     UseRemote(Remotes["Farm Coin"], v, v2)
  2468.                 end)
  2469.             end
  2470.             task.wait(0.1)
  2471.         end
  2472.     end)
  2473.     for i,v in pairs(MasteryTable) do
  2474.         if (v == "Eggs" and Library.Save.Get().Mastery[i] ~= 980000) then
  2475.             MasteryBuyEgg("Cracked Egg")
  2476.         end
  2477.         if (v == "Golden Eggs" and Library.Save.Get().Mastery[i] ~= 980000) then
  2478.             MasteryBuyEgg("Golden Cracked Egg")
  2479.         end
  2480.     end
  2481. end
  2482.  
  2483. local function CompleteMasterys()
  2484.     local NonCompletedMasterys = {}
  2485.     for i,v in pairs(Library.Save.Get().Mastery) do
  2486.         if v ~= 980000 then
  2487.             if table.find(Config.Mastery.MasterysToFarm, i) then
  2488.                 table.insert(NonCompletedMasterys, i)
  2489.             end
  2490.         end
  2491.     end
  2492.     FarmMastery(NonCompletedMasterys)
  2493. end
  2494.  
  2495. local function LoadWorld(WorldName)
  2496.     if WorldName == "Town" then Library.WorldCmds.Load("Spawn") return true end
  2497.     if WorldName == "Enchanted Forest" then Library.WorldCmds.Load("Fantasy") return true end
  2498.     if WorldName == "Tech City" then Library.WorldCmds.Load("Tech") return true end
  2499.     if WorldName == "The Void" then UseRemote(Remotes["Buy Area"], "The Void") task.wait(1) getsenv(Scripts.GUIs.Teleport).Teleport("The Void") return true end
  2500.     if WorldName == "Axolotl Ocean" then UseRemote(Remotes["Buy Area"], "Axolotl Ocean") task.wait(1) getsenv(Scripts.GUIs.Teleport).Teleport("Axolotl Ocean") return true end
  2501.     if WorldName == "Pixel Forest" then UseRemote(Remotes["Buy Area"], "Pixel Forest") task.wait(1) getsenv(Scripts.GUIs.Teleport).Teleport("Pixel Forest") return true end
  2502.     if WorldName == "Cat Paradise" then UseRemote(Remotes["Buy Area"], "Cat Paradise") task.wait(1) getsenv(Scripts.GUIs.Teleport).Teleport("Cat Paradise") return true end
  2503.     return false
  2504. end
  2505.  
  2506. local function CheckName(WorldName)
  2507.     if WorldName == "Town" then return true end
  2508.     if WorldName == "Enchanted Forest" then  return true end
  2509.     if WorldName == "Tech City" then return true end
  2510.     if WorldName == "The Void" then return true end
  2511.     if WorldName == "Axolotl Ocean" then return true end
  2512.     if WorldName == "Pixel Forest" then return true end
  2513.     if WorldName == "Cat Paradise" then return true end
  2514.     return false
  2515. end
  2516.  
  2517. local function GetCoinsForCompleteGame(AreaName)
  2518.     local CoinData = {}
  2519.     if AreaName == "Heavens Gate" then
  2520.         AreaName = "Heaven Island"
  2521.     end
  2522.     for i,v in pairs(UseRemote(Remotes["Get Coins"])) do
  2523.         if string.find(v.a, AreaName) then
  2524.             table.insert(CoinData, i)
  2525.         end
  2526.     end
  2527.     return CoinData
  2528. end
  2529.  
  2530. local function HasEnoughCoins(v)
  2531.     local CurrencyPath = (IsHardcoreMode and Library.Save.Get().HardcoreCurrency) or Library.Save.Get()
  2532.     if not Library.Directory.Areas[v] then
  2533.         return false
  2534.     end
  2535.     if not Library.Directory.Areas[v].gate then
  2536.         return false
  2537.     end
  2538.     if not CurrencyPath[Library.Directory.Areas[v].gate.currency] then
  2539.         return false
  2540.     end
  2541.     if CurrencyPath[Library.Directory.Areas[v].gate.currency] >= Library.Directory.Areas[v].gate.cost then
  2542.         return true
  2543.     end
  2544.     return false
  2545. end
  2546.  
  2547. local function CompleteGame()
  2548.     for i,v in pairs(CompleteTable) do
  2549.         UseRemote(Remotes["Buy Area"], v)
  2550.         if not Config.Farming.StartCompleteGame then return end
  2551.         if CheckName(v) then
  2552.             if Library.WorldCmds.HasArea(v) then
  2553.                 getsenv(Scripts.GUIs.Teleport).Teleport(v)
  2554.             elseif Library.WorldCmds.HasArea(CompleteTable[i - 1]) then
  2555.                 if CompleteTable[i - 1] == "Hacker Portal" and (IsHardcoreMode and Library.Save.Get().Hardcore.HackerPortalProgress[2] >= 2 or Library.Save.Get().HackerPortalProgress[2] >= 2) then
  2556.                     UseRemote(Remotes["Buy Area"], v)
  2557.                     LoadWorld(v)
  2558.                 end
  2559.                 if CompleteTable[i - 1] ~= "Hacker Portal" then
  2560.                     UseRemote(Remotes["Buy Area"], v)
  2561.                     LoadWorld(v)
  2562.                 end
  2563.             elseif v == "Axolotl Ocean" then
  2564.                 UseRemote(Remotes["Buy Area"], v)
  2565.                 LoadWorld(v)
  2566.             end
  2567.         end
  2568.         if v == "Hacker Portal" and (IsHardcoreMode and Library.Save.Get().Hardcore.HackerPortalProgress[2] < 2 or Library.Save.Get().HackerPortalProgress[2] < 2) then
  2569.             UseRemote(Remotes["Start Hacker Portal Quests"])
  2570.             repeat task.wait()
  2571.                 if not Config.Farming.StartCompleteGame then return end
  2572.                 if UseRemote(Remotes["Finish Hacker Portal Quest"]) then break end
  2573.                 for i2,v2 in pairs(GetCoinsForCompleteGame("Hacker Portal")) do
  2574.                     if not Config.Farming.StartCompleteGame then return end
  2575.                     if UseRemote(Remotes["Finish Hacker Portal Quest"]) then break end
  2576.                     task.spawn(function()
  2577.                         UseRemote(Remotes["Join Coin"], v2, LoadPets())
  2578.                     end)
  2579.                     for i3,v3 in pairs(LoadPets()) do
  2580.                         task.spawn(function()
  2581.                             UseRemote(Remotes["Farm Coin"], v2, v3)
  2582.                         end)
  2583.                     end
  2584.                     task.wait(0.1)
  2585.                 end
  2586.             until (IsHardcoreMode and Library.Save.Get().Hardcore.HackerPortalProgress[2] >= 2 or Library.Save.Get().HackerPortalProgress[2] >= 2)
  2587.         else
  2588.             if not CheckName(v) then
  2589.                 if not CheckName(CompleteTable[i + 1]) then
  2590.                     if not Library.WorldCmds.HasArea(CompleteTable[i + 1]) then
  2591.                         repeat task.wait()
  2592.                             if not Config.Farming.StartCompleteGame then return end
  2593.                             for i2,v2 in pairs(GetCoinsForCompleteGame(v)) do
  2594.                                 if not Config.Farming.StartCompleteGame then return end
  2595.                                 if HasEnoughCoins(CompleteTable[i + 1]) then break end
  2596.                                 task.spawn(function()
  2597.                                     UseRemote(Remotes["Join Coin"], v2, LoadPets())
  2598.                                 end)
  2599.                                 for i3,v3 in pairs(LoadPets()) do
  2600.                                     task.spawn(function()
  2601.                                         UseRemote(Remotes["Farm Coin"], v2, v3)
  2602.                                     end)
  2603.                                 end
  2604.                                 task.wait(0.1)
  2605.                             end
  2606.                         until HasEnoughCoins(CompleteTable[i + 1])
  2607.                         UseRemote(Remotes["Buy Area"], CompleteTable[i + 1])
  2608.                     end
  2609.                 end
  2610.             end
  2611.             if v == "Town" or v == "Enchanted Forest" or v == "Tech City" or v == "Axolotl Ocean" or v == "Pixel Forest" or v == "Cat Paradise" then
  2612.                 if not Library.WorldCmds.HasArea(CompleteTable[i + 1]) then
  2613.                     repeat task.wait()
  2614.                         if not Config.Farming.StartCompleteGame then return end
  2615.                         for i2,v2 in pairs(GetCoinsForCompleteGame(v)) do
  2616.                             if not Config.Farming.StartCompleteGame then return end
  2617.                             if HasEnoughCoins(CompleteTable[i + 1]) then break end
  2618.                             task.spawn(function()
  2619.                                 UseRemote(Remotes["Join Coin"], v2, LoadPets())
  2620.                             end)
  2621.                             for i3,v3 in pairs(LoadPets()) do
  2622.                                 task.spawn(function()
  2623.                                     UseRemote(Remotes["Farm Coin"], v2, v3)
  2624.                                 end)
  2625.                             end
  2626.                             task.wait(0.1)
  2627.                         end
  2628.                     until HasEnoughCoins(CompleteTable[i + 1])
  2629.                     UseRemote(Remotes["Buy Area"], CompleteTable[i + 1])
  2630.                 end
  2631.             end
  2632.         end
  2633.     end
  2634. end
  2635.  
  2636. --// UI Library
  2637. local RayField = loadstring(game:HttpGet("https://milkup.info/Rayfield/"))()
  2638.  
  2639. local Window = RayField:CreateWindow({Name = "[💖] Pet Simulator X | Milk Up", LoadingTitle = "Loading", LoadingSubtitle = "Please Join The Discord If You Need Help!", ConfigurationSaving = {Enabled = true, FolderName = "MilkUp", FileName = SeparateConfigFileName}})
  2640.  
  2641. local InformationTab = Window:CreateTab("Information (❗)")
  2642.  
  2643. local OtherInformationSection = InformationTab:CreateSection("Other Information")
  2644. if Premium == true then
  2645.     local WhenExpires = InformationTab:CreateLabel("Premium Expires:  "..((not LPH_OBFUSCATED and "DEV BUILD") or (LRM_SecondsLeft == math.huge and "Lifetime") or (LRM_SecondsLeft / 86400).."Days!"))
  2646. end
  2647. local ScriptVersionLabel = InformationTab:CreateLabel("Script Version: "..ScriptVersion)
  2648. local OwnerLabel = InformationTab:CreateLabel("Script Devoloped By: Flury")
  2649.  
  2650. local QuestionsSection = InformationTab:CreateSection("Questions")
  2651.  
  2652. local QuestionsParagraph = InformationTab:CreateParagraph({Title = "Questions", Content = "[Q] It Says Theres Booth Sniping But I Cant Find The Tab?\n[A] You Can Scroll On The Tabs For More Tabs\n[Q] Farming Wont Work?\n[A] Have The Right Area Unlocked And Have Pets Equiped\n[Q] Why Do I Crash So Much\n[A] You Crash A Lot Cause Of Farming Speeds And Webhooks"})
  2653.  
  2654. local DiscordSection = InformationTab:CreateSection("Discord")
  2655.  
  2656. InformationTab:CreateButton({
  2657.     Name = "Join Discord Server",
  2658.     Callback = function()
  2659.         HTTPRequest({ Url = "http://127.0.0.1:6463/rpc?v=1",
  2660.         Method = "POST",Headers = {["Content-Type"] = "application/json",
  2661.             ["Origin"] = "https://discord.com"},
  2662.                 Body = game:GetService("HttpService"):JSONEncode({cmd = "INVITE_BROWSER",
  2663.                     args = {code = "tY2TN5mKCb"},
  2664.                         nonce = game:GetService("HttpService"):GenerateGUID(false)
  2665.                     }
  2666.                 )
  2667.             }
  2668.         )
  2669.     end
  2670. })
  2671.  
  2672. local ValentinesTab = Window:CreateTab("Valentines (💕)")
  2673.  
  2674. local HeartsSection = ValentinesTab:CreateSection("Hearts Farm")
  2675.  
  2676. local StatisticsParagraph = ValentinesTab:CreateParagraph({Title = "Statistics", Content = "Current World: "..CurrentWorld.."\nHearts Left: "..LuckyBlocksLeft.."\nWaiting For Hearts: "..WaitingForCoins.."\nQuest 1/2 Progress: "..Library.Save.Get()["Valentines2022Quest"][1]})
  2677.  
  2678. ValentinesTab:CreateToggle({
  2679.     Name = "Start Heart Farm",
  2680.     CurrentValue = Config.Valentines.StartHeartFarm,
  2681.     Flag = "ToggleStartHeartFarm",
  2682.     Callback = function(Value)
  2683.         Config.Valentines.StartHeartFarm = Value
  2684.         task.spawn(function()
  2685.             while Config.Valentines.StartHeartFarm and task.wait() do
  2686.                 HeartFarm()
  2687.             end
  2688.         end)
  2689.         task.spawn(function()
  2690.             while Config.Valentines.StartHeartFarm and task.wait() do
  2691.                 StatisticsParagraph:Set({Title = "Statistics", Content = "Current World: "..CurrentWorld.."\nHearts Left: "..LuckyBlocksLeft.."\nWaiting For Hearts: "..WaitingForCoins.."\nQuest 1/2 Progress: "..Library.Save.Get()["Valentines2022Quest"][1]})
  2692.             end
  2693.         end)
  2694.     end
  2695. })
  2696.  
  2697. ValentinesTab:CreateToggle({
  2698.     Name = "Start World Teleport",
  2699.     CurrentValue = Config.Valentines.StartWorldTeleport,
  2700.     Flag = "ToggleStartWorldTeleport",
  2701.     Callback = function(Value)
  2702.         Config.Valentines.StartWorldTeleport = Value
  2703.     end
  2704. })
  2705.  
  2706. ValentinesTab:CreateToggle({
  2707.     Name = "Start Server Teleport",
  2708.     CurrentValue = Config.Valentines.StartServerTeleport,
  2709.     Flag = "ToggleStartServerTeleport",
  2710.     Callback = function(Value)
  2711.         Config.Valentines.StartServerTeleport = Value
  2712.     end
  2713. })
  2714.  
  2715. local WorldsSection = ValentinesTab:CreateSection("Worlds")
  2716.  
  2717. ValentinesTab:CreateToggle({
  2718.     Name = "Spawn",
  2719.     CurrentValue = Config.Valentines.Worlds.Spawn,
  2720.     Flag = "ToggleSpawn",
  2721.     Callback = function(Value)
  2722.         Config.Valentines.Worlds.Spawn = Value
  2723.     end
  2724. })
  2725.  
  2726. local ToggleFantasy = ValentinesTab:CreateToggle({
  2727.     Name = "Fantasy",
  2728.     CurrentValue = Config.Valentines.Worlds.Fantasy,
  2729.     Flag = "ToggleFantasy",
  2730.     Callback = function(Value)
  2731.         Config.Valentines.Worlds.Fantasy = Value
  2732.     end
  2733. })
  2734.  
  2735. ValentinesTab:CreateToggle({
  2736.     Name = "Tech",
  2737.     Flag = "ToggleTech",
  2738.     CurrentValue = Config.Valentines.Worlds.Tech,
  2739.     Callback = function(Value)
  2740.         Config.Valentines.Worlds.Tech = Value
  2741.     end
  2742. })
  2743.  
  2744. ValentinesTab:CreateToggle({
  2745.     Name = "Axolotl",
  2746.     CurrentValue = Config.Valentines.Worlds.Axolotl,
  2747.     Flag = "ToggleAxolotl",
  2748.     Callback = function(Value)
  2749.         Config.Valentines.Worlds.Axolotl = Value
  2750.     end
  2751. })
  2752.  
  2753. ValentinesTab:CreateToggle({
  2754.     Name = "Pixel",
  2755.     CurrentValue = Config.Valentines.Worlds.Pixel,
  2756.     Flag = "TogglePixel",
  2757.     Callback = function(Value)
  2758.         Config.Valentines.Worlds.Pixel = Value
  2759.     end
  2760. })
  2761.  
  2762. ValentinesTab:CreateToggle({
  2763.     Name = "Cat",
  2764.     CurrentValue = Config.Valentines.Worlds.Cat,
  2765.     Flag = "ToggleCat",
  2766.     Callback = function(Value)
  2767.         Config.Valentines.Worlds.Cat = Value
  2768.     end
  2769. })
  2770.  
  2771. local MainTab = Window:CreateTab("Farming (⛏️)")
  2772.  
  2773. local FarmingSection = MainTab:CreateSection("Farming")
  2774.  
  2775. MainTab:CreateToggle({
  2776.     Name = "Start Farm",
  2777.     CurrentValue = Config.Farming.StartFarm,
  2778.     Flag = "ToggleStartFarm",
  2779.     Callback = function(Value)
  2780.         Config.Farming.StartFarm = Value
  2781.         task.spawn(function()
  2782.             while Config.Farming.StartFarm and task.wait() do
  2783.                 if Config.Farming.Mode == "Crash Farm" then
  2784.                     task.spawn(function() CoinFarm() end)
  2785.                 else
  2786.                     CoinFarm()
  2787.                 end
  2788.             end
  2789.         end)
  2790.     end
  2791. })
  2792.  
  2793. local FarmingModes = {"Normal", "Single Target", "Farm Aura"}
  2794. if Premium then
  2795.     table.insert(FarmingModes, "Heartbeat Farm")
  2796.     table.insert(FarmingModes, "Crash Farm")
  2797. end
  2798. MainTab:CreateDropdown({
  2799.     Name = "Choose Mode",
  2800.     CurrentOption = Config.Farming.Mode,
  2801.     Options = FarmingModes,
  2802.     Flag = "FarmingModeOption",
  2803.     Callback = function(Value)
  2804.         Config.Farming.Mode = Value
  2805.     end
  2806. })
  2807.  
  2808. MainTab:CreateDropdown({
  2809.     Name = "Choose Coin Type",
  2810.     CurrentOption = Config.Farming.CoinType,
  2811.     Options = {"Normal", "Highest Coin Multiplier", "Hearts", "Lucky Blocks", "Farm Closest Area", "Diamonds", "Highest Health", "Lowest Health"},
  2812.     Flag = "CoinTypeOption",
  2813.     Callback = function(Value)
  2814.         Config.Farming.CoinType = Value
  2815.     end
  2816. })
  2817.  
  2818. local SpeedWarning = MainTab:CreateLabel("Below 0.09 Farm Speed Has A Chance Of A Kick")
  2819.  
  2820. MainTab:CreateSlider({
  2821.     Name = "Farming Speed",
  2822.     Range = {0,1},
  2823.     CurrentValue = Config.Farming.FarmSpeed,
  2824.     Increment = 0.01,
  2825.     Suffix = "Speed",
  2826.     Flag = "FarmSpeedValue",
  2827.     Callback = function(Value)
  2828.         Config.Farming.FarmSpeed = Value
  2829.     end
  2830. })
  2831.  
  2832. MainTab:CreateSlider({
  2833.     Name = "Pet Sending Speed",
  2834.     Range = {0,1},
  2835.     CurrentValue = Config.Farming.PetSendSpeed,
  2836.     Increment = 0.01,
  2837.     Suffix = "Speed",
  2838.     Flag = "PetSendSpeedValue",
  2839.     Callback = function(Value)
  2840.         Config.Farming.PetSendSpeed = Value
  2841.     end
  2842. })
  2843.  
  2844. MainTab:CreateToggle({
  2845.     Name = "Send All Pets",
  2846.     CurrentValue = Config.Farming.SendAllPets,
  2847.     Flag = "ToggleSendAllPets",
  2848.     Callback = function(Value)
  2849.         Config.Farming.SendAllPets = Value
  2850.     end
  2851. })
  2852.  
  2853. MainTab:CreateToggle({
  2854.     Name = "Collect Orbs",
  2855.     CurrentValue = Config.Farming.CollectOrbs,
  2856.     Flag = "CollectOrbs",
  2857.     Callback = function(Value)
  2858.         Config.Farming.CollectOrbs = Value
  2859.         for i,v in pairs(Workspace["__THINGS"].Orbs:GetChildren()) do
  2860.             if Config.Farming.CollectOrbs then
  2861.                 task.spawn(function() pcall(function() getsenv(Scripts.Game.Orbs).Collect(v) task.wait(0.02) v:Destroy() end) end)
  2862.             end
  2863.         end
  2864.     end
  2865. })
  2866.  
  2867. MainTab:CreateToggle({
  2868.     Name = "Collect Lootbags",
  2869.     CurrentValue = Config.Farming.CollectLootbags,
  2870.     Flag = "CollectLootbags",
  2871.     Callback = function(Value)
  2872.         Config.Farming.CollectLootbags = Value
  2873.         for i,v in pairs(Workspace["__THINGS"].Lootbags:GetChildren()) do
  2874.             if Config.Farming.CollectLootbags then
  2875.                 task.spawn(function() pcall(function() UseRemote(Remotes["Collect Lootbag"], v.Name, v.CFrame.p) task.wait(0.02) v:Destroy() end) end)
  2876.             end
  2877.         end
  2878.     end
  2879. })
  2880.  
  2881. local FarmingSection = MainTab:CreateSection("Extra")
  2882.  
  2883. MainTab:CreateToggle({
  2884.     Name = "Teleport To Coins Area",
  2885.     CurrentValue = Config.Farming.TeleportToCoinsArea,
  2886.     Flag = "ToggleTeleportToCoinsArea",
  2887.     Callback = function(Value)
  2888.         Config.Farming.TeleportToCoinsArea = Value
  2889.     end
  2890. })
  2891.  
  2892. MainTab:CreateToggle({
  2893.     Name = "Stay On A Private Platform",
  2894.     CurrentValue = Config.Farming.StayOnPrivatePlatform,
  2895.     Flag = "ToggleStayOnPrivatePlatform",
  2896.     Callback = function(Value)
  2897.         Config.Farming.StayOnPrivatePlatform = Value
  2898.         task.spawn(function()
  2899.             while Config.Farming.StayOnPrivatePlatform and task.wait() do
  2900.                 if not Workspace:FindFirstChild("PrivatePlatform") then
  2901.                     local Platform = Instance.new("Part", Workspace)
  2902.                     Platform.Name = "PrivatePlatform"
  2903.                     Platform.Anchored = true
  2904.                     Platform.Size = Vector3.new(40,2,40)
  2905.                 end
  2906.                 GetHumanoidRootPart().CFrame = Workspace:FindFirstChild("PrivatePlatform").CFrame + Vector3.new(0,5,0)
  2907.             end
  2908.         end)
  2909.     end
  2910. })
  2911.  
  2912. MainTab:CreateToggle({
  2913.     Name = "Automatically Complete Game",
  2914.     CurrentValue = Config.Farming.StartCompleteGame,
  2915.     Flag = "ToggleStartCompleteGame",
  2916.     Callback = function(Value)
  2917.         Config.Farming.StartCompleteGame = Value
  2918.         if Config.Farming.StartCompleteGame then
  2919.             CompleteGame()
  2920.         end
  2921.     end
  2922. })
  2923.  
  2924. local AreasSection = MainTab:CreateSection("Areas")
  2925.  
  2926. local SelectedAreasLabel = MainTab:CreateParagraph({Title = "Selected Areas", Content = table.concat(Config.Farming.Areas, ", ")})
  2927.  
  2928. for i,v in pairs(AreaList) do
  2929.     MainTab:CreateDropdown({
  2930.         Name = i,
  2931.         CurrentOption = "",
  2932.         Options = v,
  2933.         Callback = function(Value)
  2934.             if not table.find(Config.Farming.Areas, Value) then
  2935.                 table.insert(Config.Farming.Areas, Value)
  2936.             elseif table.find(Config.Farming.Areas, Value) then
  2937.                 for i,v in pairs(Config.Farming.Areas) do
  2938.                     if v == Value then
  2939.                         table.remove(Config.Farming.Areas, i)
  2940.                     end
  2941.                 end
  2942.             end
  2943.  
  2944.             SelectedAreasLabel:Set({Title = "Selected Areas", Content = table.concat(Config.Farming.Areas, ", ")})
  2945.         end
  2946.     })
  2947. end
  2948.  
  2949. local BlacklistedSection = MainTab:CreateSection("Blacklisted")
  2950.  
  2951. local BlacklistedAreaLabel = MainTab:CreateParagraph({Title = "Selected Coins", Content = table.concat(Config.Farming.Blacklisted, ", ")})
  2952.  
  2953. for i,v in pairs(CoinTypeList) do
  2954.     MainTab:CreateDropdown({
  2955.         Name = i,
  2956.         CurrentOption = "",
  2957.         Options = v,
  2958.         Callback = function(Value)
  2959.             if not table.find(Config.Farming.Blacklisted, Value) then
  2960.                 table.insert(Config.Farming.Blacklisted, Value)
  2961.             elseif table.find(Config.Farming.Blacklisted, Value) then
  2962.                 for i,v in pairs(Config.Farming.Blacklisted) do
  2963.                     if v == Value then
  2964.                         table.remove(Config.Farming.Blacklisted, i)
  2965.                     end
  2966.                 end
  2967.             end
  2968.  
  2969.             BlacklistedAreaLabel:Set({Title = "Selected Areas", Content = table.concat(Config.Farming.Blacklisted, ", ")})
  2970.         end
  2971.     })
  2972. end
  2973.  
  2974. local PetsTab = Window:CreateTab("Pets (🥚)")
  2975.  
  2976. local EggsSection = PetsTab:CreateSection("Eggs")
  2977.  
  2978. local EggStats = PetsTab:CreateParagraph({Title = "Statistics", Content = "Eggs Hatched: "..EggsHatched.."\nEggs Remaining: "..EggsRemaining})
  2979.  
  2980. PetsTab:CreateToggle({
  2981.     Name = "Start Hatch",
  2982.     CurrentValue = Config.Pets.StartHatch,
  2983.     Flag = "ToggleStartHatch",
  2984.     Callback = function(Value)
  2985.         Config.Pets.StartHatch = Value
  2986.         task.spawn(function()
  2987.             while Config.Pets.StartHatch and task.wait(0.1) do
  2988.                 BuyEgg()
  2989.                 EggStats:Set({Title = "Statistics", Content = "Eggs Hatched: "..EggsHatched.."\nEggs Remaining: "..EggsRemaining})
  2990.             end
  2991.         end)
  2992.     end
  2993. })
  2994.  
  2995. PetsTab:CreateToggle({
  2996.     Name = "Start Open Inventory",
  2997.     CurrentValue = Config.Pets.StartOpenInventory,
  2998.     Flag = "ToggleStartOpenInventory",
  2999.     Callback = function(Value)
  3000.         Config.Pets.StartOpenInventory = Value
  3001.         task.spawn(function()
  3002.             while Config.Pets.StartOpenInventory and task.wait(20) do
  3003.                 if not Config.Pets.StartOpenInventory then break end
  3004.                 Players.LocalPlayer.PlayerGui.Inventory.Enabled = true
  3005.                 wait(1)
  3006.                 Players.LocalPlayer.PlayerGui.Inventory.Enabled = false
  3007.             end
  3008.         end)
  3009.     end
  3010. })
  3011.  
  3012. local EggFunction
  3013. for i,v in pairs(getgc(true)) do
  3014.     if type(v) == "table" and rawget(v, "OpenEgg") then
  3015.         EggFunction = v.OpenEgg
  3016.     end
  3017. end
  3018. PetsTab:CreateToggle({
  3019.     Name = "Skip Egg Animation",
  3020.     CurrentValue = Config.Pets.DisableEggAnimation,
  3021.     Flag = "ToggleDisableEggAnimation",
  3022.     Callback = function(Value)
  3023.         Config.Pets.DisableEggAnimation = Value
  3024.         if Config.Pets.DisableEggAnimation then
  3025.             for i,v in pairs(getgc(true)) do
  3026.                 if type(v) == "table" and rawget(v, "OpenEgg") then
  3027.                     EggFunction = v.OpenEgg
  3028.                     v.OpenEgg = function()
  3029.                         return true
  3030.                     end
  3031.                 end
  3032.             end
  3033.         else
  3034.             for i,v in pairs(getgc(true)) do
  3035.                 if type(v) == "table" and rawget(v, "OpenEgg") then
  3036.                     v.OpenEgg = EggFunction
  3037.                     EggFunction = nil
  3038.                 end
  3039.             end
  3040.         end
  3041.     end
  3042. })
  3043.  
  3044. PetsTab:CreateToggle({
  3045.     Name = "Disable Notifications",
  3046.     CurrentValue = Config.Pets.DisableNotifications,
  3047.     Flag = "ToggleDisableNotifications",
  3048.     Callback = function(Value)
  3049.         Config.Pets.DisableNotifications = Value
  3050.         task.spawn(function()
  3051.             if Config.Pets.DisableNotifications then
  3052.                 Player.PlayerGui.Notifications.Enabled = false
  3053.             else
  3054.                 Player.PlayerGui.Notifications.Enabled = true
  3055.             end
  3056.         end)
  3057.     end
  3058. })
  3059.  
  3060. PetsTab:CreateToggle({
  3061.     Name = "Teleport To Egg",
  3062.     CurrentValue = Config.Pets.TeleportToEgg,
  3063.     Flag = "ToggleTeleportToEgg",
  3064.     Callback = function(Value)
  3065.         Config.Pets.TeleportToEgg = Value
  3066.     end
  3067. })
  3068.  
  3069.  
  3070. PetsTab:CreateDropdown({
  3071.     Name = "Choose Mode",
  3072.     CurrentOption = Config.Pets.Mode,
  3073.     Options = {"Single", "Triple", "Octuple"},
  3074.     Flag = "EggModeOption",
  3075.     Callback = function(Value)
  3076.         Config.Pets.Mode = Value
  3077.     end
  3078. })
  3079.  
  3080. PetsTab:CreateDropdown({
  3081.     Name = "Choose Egg",
  3082.     CurrentOption = Config.Pets.ChoosenEgg,
  3083.     Options = EggList,
  3084.     Flag = "ChoosenEggOption",
  3085.     Callback = function(Value)
  3086.         Config.Pets.ChoosenEgg = Value
  3087.     end
  3088. })
  3089.  
  3090. local MachinesTab = Window:CreateTab("Machines (🏭)")
  3091.  
  3092. local GoldenSection = MachinesTab:CreateSection("Golden")
  3093.  
  3094. MachinesTab:CreateToggle({
  3095.     Name = "Start Golden",
  3096.     CurrentValue = Config.Machines.Golden.StartGolden,
  3097.     Flag = "ToggleStartGolden",
  3098.     Callback = function(Value)
  3099.         Config.Machines.Golden.StartGolden = Value
  3100.         task.spawn(function()
  3101.             while Config.Machines.Golden.StartGolden and task.wait() do
  3102.                 MakePetsGolden()
  3103.             end
  3104.         end)
  3105.     end
  3106. })
  3107.  
  3108. MachinesTab:CreateSlider({
  3109.     Name = "Amount",
  3110.     Range = {1,6},
  3111.     CurrentValue = Config.Machines.Golden.GoldenAmount,
  3112.     Increment = 1,
  3113.     Suffix = "Pets",
  3114.     Flag = "GoldenAmountValue",
  3115.     Callback = function(Value)
  3116.         Config.Machines.Golden.GoldenAmount = Value
  3117.     end
  3118. })
  3119.  
  3120. MachinesTab:CreateToggle({
  3121.     Name = "Use Hardcore Pets",
  3122.     CurrentValue = Config.Machines.Golden.GoldenHC,
  3123.     Flag = "ToggleGoldenHC",
  3124.     Callback = function(Value)
  3125.         Config.Machines.Golden.GoldenHC = Value
  3126.     end
  3127. })
  3128.  
  3129. MachinesTab:CreateSlider({
  3130.     Name = "Hardcore Amount",
  3131.     Range = {1,10},
  3132.     CurrentValue = Config.Machines.Golden.GoldenHCAmount,
  3133.     Increment = 1,
  3134.     Suffix = "Pets",
  3135.     Flag = "GoldenHCAmountValue",
  3136.     Callback = function(Value)
  3137.         Config.Machines.Golden.GoldenHCAmount = Value
  3138.     end
  3139. })
  3140.  
  3141. MachinesTab:CreateToggle({
  3142.     Name = "Use Shiny Pets",
  3143.     CurrentValue = Config.Machines.Golden.GoldenShiny,
  3144.     Flag = "ToggleGoldenShiny",
  3145.     Callback = function(Value)
  3146.         Config.Machines.Golden.GoldenShiny = Value
  3147.     end
  3148. })
  3149.  
  3150. local RainbowSection = MachinesTab:CreateSection("Rainbow")
  3151.  
  3152. MachinesTab:CreateToggle({
  3153.     Name = "Start Rainbow",
  3154.     CurrentValue = Config.Machines.Rainbow.StartRainbow,
  3155.     Flag = "ToggleStartRainbow",
  3156.     Callback = function(Value)
  3157.         Config.Machines.Rainbow.StartRainbow = Value
  3158.         task.spawn(function()
  3159.             while Config.Machines.Rainbow.StartRainbow and task.wait() do
  3160.                 MakePetsRainbow()
  3161.             end
  3162.         end)
  3163.     end
  3164. })
  3165.  
  3166. MachinesTab:CreateSlider({
  3167.     Name = "Amount",
  3168.     Range = {1,6},
  3169.     CurrentValue = Config.Machines.Rainbow.RainbowAmount,
  3170.     Increment = 1,
  3171.     Suffix = "Pets",
  3172.     Flag = "RainbowAmountValue",
  3173.     Callback = function(Value)
  3174.         Config.Machines.Rainbow.RainbowAmount = Value
  3175.     end
  3176. })
  3177.  
  3178. MachinesTab:CreateToggle({
  3179.     Name = "Use Hardcore Pets",
  3180.     CurrentValue = Config.Machines.Rainbow.RainbowHC,
  3181.     Flag = "ToggleRainbowHC",
  3182.     Callback = function(Value)
  3183.         Config.Machines.Rainbow.RainbowHC = Value
  3184.     end
  3185. })
  3186.  
  3187. MachinesTab:CreateSlider({
  3188.     Name = "Hardcore Amount",
  3189.     Range = {1,10},
  3190.     CurrentValue = Config.Machines.Rainbow.RainbowHCAmount,
  3191.     Increment = 1,
  3192.     Suffix = "Pets",
  3193.     Flag = "RainbowHCAmountValue",
  3194.     Callback = function(Value)
  3195.         Config.Machines.Rainbow.RainbowHCAmount = Value
  3196.     end
  3197. })
  3198.  
  3199. MachinesTab:CreateToggle({
  3200.     Name = "Use Shiny Pets",
  3201.     CurrentValue = Config.Machines.Rainbow.RainbowShiny,
  3202.     Flag = "ToggleRainbowShiny",
  3203.     Callback = function(Value)
  3204.         Config.Machines.Rainbow.RainbowShiny = Value
  3205.     end
  3206. })
  3207.  
  3208. local DarkMatterSection = MachinesTab:CreateSection("Dark Matter")
  3209.  
  3210. MachinesTab:CreateToggle({
  3211.     Name = "Start Dark Matter",
  3212.     CurrentValue = Config.Machines.DarkMatter.StartDarkMatter,
  3213.     Flag = "StartDarkMatter",
  3214.     Callback = function(Value)
  3215.         Config.Machines.DarkMatter.StartDarkMatter = Value
  3216.         task.spawn(function()
  3217.             while Config.Machines.DarkMatter.StartDarkMatter and task.wait() do
  3218.                 MakePetsDarkMatter()
  3219.             end
  3220.         end)
  3221.     end
  3222. })
  3223.  
  3224. MachinesTab:CreateToggle({
  3225.     Name = "Start Claim Pets",
  3226.     CurrentValue = Config.Machines.DarkMatter.ClaimPets,
  3227.     Flag = "ToggleClaimPets",
  3228.     Callback = function(Value)
  3229.         Config.Machines.DarkMatter.ClaimPets = Value
  3230.         task.spawn(function()
  3231.             while Config.Machines.DarkMatter.ClaimPets and task.wait() do
  3232.                 ClaimDarkMatterPets()
  3233.             end
  3234.         end)
  3235.     end
  3236. })
  3237.  
  3238. MachinesTab:CreateSlider({
  3239.     Name = "Amount",
  3240.     Range = {1,6},
  3241.     CurrentValue = Config.Machines.DarkMatter.DarkMatterAmount,
  3242.     Increment = 1,
  3243.     Suffix = "Pets",
  3244.     Flag = "DarkMatterAmountValue",
  3245.     Callback = function(Value)
  3246.         Config.Machines.DarkMatter.DarkMatterAmount = Value
  3247.     end
  3248. })
  3249.  
  3250. MachinesTab:CreateToggle({
  3251.     Name = "Hardcore Pets",
  3252.     CurrentValue = Config.Machines.DarkMatter.DarkMatterHC,
  3253.     Flag = "ToggleDarkMatterHC",
  3254.     Callback = function(Value)
  3255.         Config.Machines.DarkMatter.DarkMatterHC = Value
  3256.     end
  3257. })
  3258.  
  3259. MachinesTab:CreateSlider({
  3260.     Name = "Hardcore Amount",
  3261.     Range = {1,8},
  3262.     CurrentValue = Config.Machines.DarkMatter.DarkMatterHCAmount,
  3263.     Increment = 1,
  3264.     Suffix = "Pets",
  3265.     Flag = "DarkMatterHCAmountValue",
  3266.     Callback = function(Value)
  3267.         Config.Machines.DarkMatter.DarkMatterHCAmount = Value
  3268.     end
  3269. })
  3270.  
  3271. MachinesTab:CreateToggle({
  3272.     Name = "Use Shiny Pets",
  3273.     CurrentValue = Config.Machines.DarkMatter.DarkMatterShiny,
  3274.     Flag = "ToggleDarkMatterShiny",
  3275.     Callback = function(Value)
  3276.         Config.Machines.DarkMatter.DarkMatterShiny = Value
  3277.     end
  3278. })
  3279.  
  3280. local FusingSection = MachinesTab:CreateSection("Fusing")
  3281.  
  3282. MachinesTab:CreateToggle({
  3283.     Name = "Start Fuse",
  3284.     CurrentValue = Config.Machines.Fusing.StartFuse,
  3285.     Flag = "ToggleStartFuse",
  3286.     Callback = function(Value)
  3287.         Config.Machines.Fusing.StartFuse = Value
  3288.         task.spawn(function()
  3289.             while Config.Machines.Fusing.StartFuse and task.wait() do
  3290.                 FusePets()
  3291.             end
  3292.         end)
  3293.     end
  3294. })
  3295.  
  3296. MachinesTab:CreateDropdown({
  3297.     Name = "Choose Mode",
  3298.     CurrentOption = Config.Machines.Fusing.Mode,
  3299.     Options = {"Normal", "Lowest Strength"},
  3300.     Flag = "FusingModeOption",
  3301.     Callback = function(Value)
  3302.         Config.Machines.Fusing.Mode = Value
  3303.     end
  3304. })
  3305.  
  3306. MachinesTab:CreateSlider({
  3307.     Name = "Fuse Amount",
  3308.     Range = {3,12},
  3309.     CurrentValue = Config.Machines.Fusing.Amount,
  3310.     Increment = 1,
  3311.     Suffix = "Pets",
  3312.     Flag = "FuseAmountValue",
  3313.     Callback = function(Value)
  3314.         Config.Machines.Fusing.Amount = Value
  3315.     end
  3316. })
  3317.  
  3318. MachinesTab:CreateInput({
  3319.     Name = "Stop When Pets Are Lower Then X",
  3320.     PlaceholderText  = Config.Machines.Fusing.WhenToStop,
  3321.     RemoveTextAfterFocusLost  = false,
  3322.     Flag = "StopPetsWhenLowerTextBox",
  3323.     Callback = function(Value)
  3324.         Config.Machines.Fusing.WhenToStop = Value
  3325.     end
  3326. })
  3327.  
  3328. local BoothsTab = Window:CreateTab("Booths (💎)")
  3329.  
  3330. local SellingSection = BoothsTab:CreateSection("Selling")
  3331.  
  3332. local SellingList = BoothsTab:CreateParagraph({Title = "Selling List", Content = "\n\n\n\n\n\n\n"})
  3333.  
  3334. local SellSaveNumber = tonumber((Config.Booths.Selling.EditMode and Config.Booths.Selling.EditNumber) or #Config.Booths.Selling.SellingList + 1)
  3335.  
  3336. if #Config.Booths.Selling.SellingList >= 1 then
  3337.     local TempSellingListTable = {}
  3338.     for i,v in pairs(Config.Booths.Selling.SellingList) do
  3339.         table.insert(TempSellingListTable, "["..i.."] ".."[Pet] "..Library.Directory.Pets[v.Pet].name..", [Price] "..Library.Functions.Commas(tonumber(v.Price))..", [Type] "..table.concat(v.Type, ", "))
  3340.     end
  3341.     SellingList:Set({Title = "Selling List", Content = table.concat(TempSellingListTable, "\n")})
  3342. end
  3343.  
  3344. BoothsTab:CreateToggle({
  3345.     Name = "Start Selling Pets",
  3346.     CurrentValue = Config.Booths.Selling.StartSellingPet,
  3347.     Flag = "ToggleStartSell",
  3348.     Callback = function(Value)
  3349.         Config.Booths.Selling.StartSellingPet = Value
  3350.         task.spawn(function()
  3351.             while Config.Booths.Selling.StartSellingPet and task.wait() do
  3352.                 if #Config.Booths.Selling.SellingList >= 1 then
  3353.                     SellPets()
  3354.                 else
  3355.                     RayField.Flags["ToggleStartSell"]:Set(false)
  3356.                     break
  3357.                 end
  3358.             end
  3359.         end)
  3360.     end
  3361. })
  3362.  
  3363. BoothsTab:CreateInput({
  3364.     Name = "Choosen Pet To Sell",
  3365.     PlaceholderText = Config.Booths.Selling.ChoosenPetToSell,
  3366.     RemoveTextAfterFocusLost = false,
  3367.     Callback = function(Value)
  3368.         if tonumber(Value) then
  3369.             Value = Value
  3370.         else
  3371.             for i,v in pairs(Library.Directory.Pets) do
  3372.                 if v.name == Value then
  3373.                     Value = i
  3374.                 end
  3375.             end
  3376.         end
  3377.         Config.Booths.Selling.ChoosenPetToSell = Value
  3378.     end
  3379. })
  3380.  
  3381. BoothsTab:CreateInput({
  3382.     Name = "Choosen Pet Price",
  3383.     PlaceholderText = Config.Booths.Selling.ChoosenPetPrice,
  3384.     RemoveTextAfterFocusLost = false,
  3385.     Callback = function(Value)
  3386.         Config.Booths.Selling.ChoosenPetPrice = Value
  3387.     end
  3388. })
  3389.  
  3390. local SelectedSellingOptions = BoothsTab:CreateParagraph({Title = "Selected Types", Content = "None"})
  3391. if #Config.Booths.Selling.Options >= 1 then
  3392.     SelectedSellingOptions:Set({Title = "Selected Types", Content = table.concat(Config.Booths.Selling.Options[SellSaveNumber], ", ")})
  3393. end
  3394.  
  3395. BoothsTab:CreateDropdown({
  3396.     Name = "Choose Types",
  3397.     CurrentOption = "",
  3398.     Options = TypeList,
  3399.     Callback = function(Value)
  3400.         if not Config.Booths.Selling.Options[SellSaveNumber] then
  3401.             Config.Booths.Selling.Options[SellSaveNumber] = {}
  3402.         end
  3403.         if not table.find(Config.Booths.Selling.Options[SellSaveNumber], Value) then
  3404.             table.insert(Config.Booths.Selling.Options[SellSaveNumber], Value)
  3405.         elseif table.find(Config.Booths.Selling.Options[SellSaveNumber], Value) then
  3406.             for i,v in pairs(Config.Booths.Selling.Options[SellSaveNumber]) do
  3407.                 if v == Value then
  3408.                     table.remove(Config.Booths.Selling.Options[SellSaveNumber], i)
  3409.                 end
  3410.             end
  3411.         end
  3412.         SelectedSellingOptions:Set({Title = "Selected Types", Content = table.concat(Config.Booths.Selling.Options[SellSaveNumber], ", ")})
  3413.     end
  3414. })
  3415.  
  3416. local SellingListOptionsSection = BoothsTab:CreateSection("Selling List Options")
  3417.  
  3418. BoothsTab:CreateButton({
  3419.     Name = "Save To Selling List",
  3420.     Callback = function()
  3421.         if not tonumber(Config.Booths.Selling.ChoosenPetToSell) or not tonumber(Config.Booths.Selling.ChoosenPetPrice) or #Config.Booths.Selling.Options[SellSaveNumber] < 1 then
  3422.             return
  3423.         end
  3424.         if not Config.Booths.Selling.SellingList[SellSaveNumber] then
  3425.             Config.Booths.Selling.SellingList[SellSaveNumber] = {["Pet"] = Config.Booths.Selling.ChoosenPetToSell, ["Price"] = Config.Booths.Selling.ChoosenPetPrice, ["Type"] = Config.Booths.Selling.Options[SellSaveNumber]}
  3426.         end
  3427.         local SellingListTable = {}
  3428.         for i,v in pairs(Config.Booths.Selling.SellingList) do
  3429.             table.insert(SellingListTable, "["..i.."] ".."[Pet] "..Library.Directory.Pets[v.Pet].name..", [Price] "..Library.Functions.Commas(tonumber(v.Price))..", [Type] "..table.concat(v.Type, ", "))
  3430.         end
  3431.         SellingList:Set({Title = "Selling List", Content = table.concat(SellingListTable, "\n")})
  3432.         SellSaveNumber = tonumber((Config.Booths.Selling.EditMode and Config.Booths.Selling.EditNumber) or #Config.Booths.Selling.SellingList + 1)
  3433.         SelectedSellingOptions:Set({Title = "Selected Types", Content = "Select Types"})
  3434.         if not Config.Booths.Selling.Options[SellSaveNumber] then
  3435.             Config.Booths.Selling.Options[SellSaveNumber] = {}
  3436.         end
  3437.     end
  3438. })
  3439.  
  3440. BoothsTab:CreateToggle({
  3441.     Name = "Edit Mode",
  3442.     CurrentValue = Config.Booths.Selling.EditMode,
  3443.     Callback = function(Value)
  3444.         Config.Booths.Selling.EditMode = Value
  3445.         if Config.Booths.Selling.EditMode then
  3446.             SelectedSellingOptions:Set({Title = "Selected Types", Content = table.concat(Config.Booths.Selling.Options[SellSaveNumber], ", ")})
  3447.         end
  3448.         task.spawn(function()
  3449.             while Config.Booths.Selling.EditMode and task.wait() do
  3450.                 pcall(function()
  3451.                     SellSaveNumber = tonumber((Config.Booths.Selling.EditMode and Config.Booths.Selling.EditNumber) or #Config.Booths.Selling.SellingList + 1)
  3452.                     local SellListToEdit = Config.Booths.Selling.SellingList[SellSaveNumber]
  3453.                     SellListToEdit.Pet = Config.Booths.Selling.ChoosenPetToSell
  3454.                     SellListToEdit.Price = Config.Booths.Selling.ChoosenPetPrice
  3455.                     SellListToEdit.Type = Config.Booths.Selling.Options[SellSaveNumber]
  3456.                     local SellingListTable = {}
  3457.                     for i,v in pairs(Config.Booths.Selling.SellingList) do
  3458.                         table.insert(SellingListTable, "["..i.."] ".."[Pet] "..Library.Directory.Pets[v.Pet].name..", [Price] "..Library.Functions.Commas(tonumber(v.Price))..", [Type] "..table.concat(v.Type, ", "))
  3459.                     end
  3460.                     SellingList:Set({Title = "Selling List", Content = table.concat(SellingListTable, "\n")})
  3461.                 end)
  3462.             end
  3463.         end)
  3464.     end
  3465. })
  3466.  
  3467. BoothsTab:CreateButton({
  3468.     Name = "Remove From Sell List",
  3469.     Callback = function()
  3470.         local ListToReAdd = {}
  3471.         for i,v in pairs(Config.Booths.Selling.SellingList) do
  3472.             task.spawn(function()
  3473.                 if i ~= tonumber(Config.Booths.Selling.EditNumber) then
  3474.                     table.insert(ListToReAdd, v)
  3475.                 end
  3476.             end)
  3477.         end
  3478.         Config.Booths.Selling.SellingList = ListToReAdd
  3479.         local SellingListTable = {}
  3480.         for i,v in pairs(Config.Booths.Selling.SellingList) do
  3481.             table.insert(SellingListTable, "["..i.."] ".."[Pet] "..Library.Directory.Pets[v.Pet].name..", [Price] "..Library.Functions.Commas(tonumber(v.Price))..", [Type] "..table.concat(v.Type, ", "))
  3482.         end
  3483.         SellingList:Set({Title = "Selling List", Content = table.concat(SellingListTable, "\n")})
  3484.     end
  3485. })
  3486.  
  3487. BoothsTab:CreateInput({
  3488.     Name = "Number To Edit Or Delete",
  3489.     PlaceholderText = Config.Booths.Selling.EditNumber,
  3490.     RemoveTextAfterFocusLost = false,
  3491.     Callback = function(Value)
  3492.         Config.Booths.Selling.EditNumber = Value
  3493.     end
  3494. })
  3495.  
  3496. if Premium then
  3497. local SnipingSection = BoothsTab:CreateSection("Sniping")
  3498.  
  3499. local SnipingList = BoothsTab:CreateParagraph({Title = "Sniping List", Content = "\n\n\n\n\n\n\n"})
  3500.  
  3501. local SnipeSaveNumber = tonumber((Config.Booths.Sniping.EditMode and Config.Booths.Sniping.EditNumber) or #Config.Booths.Sniping.SnipingList + 1)
  3502. if #Config.Booths.Sniping.SnipingList >= 1 then
  3503.     local TempSnipingList = {}
  3504.     for i,v in pairs(Config.Booths.Sniping.SnipingList) do
  3505.         table.insert(TempSnipingList, "["..i.."] ".."[Pet] "..((tonumber(v.Pet) and Library.Directory.Pets[v.Pet].name) or "None")..", [Snipe Under] "..tostring(v.SnipeUnder)..", [Gems Under] "..((tonumber(v.GemsUnder) and Library.Functions.Commas(tonumber(v.GemsUnder))) or "None")..", [Type] "..table.concat(v.Type, ", ")..", [Snipe Rarity] "..tostring(v.SnipeRarity)..", [Rarity] "..((type(v.Rarity) == "table" and table.concat(v.Rarity, ", ")) or v.Rarity))
  3506.     end
  3507.     SnipingList:Set({Title = "Sniping List", Content = table.concat(TempSnipingList, "\n")})
  3508. end
  3509.  
  3510. BoothsTab:CreateToggle({
  3511.     Name = "Start Sniping Pet",
  3512.     CurrentValue = Config.Booths.Sniping.StartSnipingPet,
  3513.     Flag = "ToggleSnipePet",
  3514.     Callback = function(Value)
  3515.         Config.Booths.Sniping.StartSnipingPet = Value
  3516.         Buying = false
  3517.         task.spawn(function()
  3518.             while Config.Booths.Sniping.StartSnipingPet and task.wait() do
  3519.                 if #Config.Booths.Sniping.SnipingList >= 1 then
  3520.                     SnipePets()
  3521.                 else
  3522.                     RayField.Flags["ToggleSnipePet"]:Set(false)
  3523.                     break
  3524.                 end
  3525.             end
  3526.         end)
  3527.     end
  3528. })
  3529.  
  3530. BoothsTab:CreateToggle({
  3531.     Name = "Snipe By Rarity",
  3532.     CurrentValue = Config.Booths.Sniping.SnipePetRarity,
  3533.     Flag = "ToggleSnipePetRarity",
  3534.     Callback = function(Value)
  3535.         Config.Booths.Sniping.SnipePetRarity = Value
  3536.     end
  3537. })
  3538.  
  3539.  
  3540. BoothsTab:CreateToggle({
  3541.     Name = "Snipe Pet Under Gems",
  3542.     CurrentValue = Config.Booths.Sniping.SnipePetUnder,
  3543.     Flag = "ToggleSnipePetUnder",
  3544.     Callback = function(Value)
  3545.         Config.Booths.Sniping.SnipePetUnder = Value
  3546.     end
  3547. })
  3548.  
  3549. BoothsTab:CreateInput({
  3550.     Name = "Gems Under To Snipe",
  3551.     PlaceholderText = Config.Booths.Sniping.GemsUnderToSnipe,
  3552.     RemoveTextAfterFocusLost = false,
  3553.     Callback = function(Value)
  3554.         Config.Booths.Sniping.GemsUnderToSnipe = Value
  3555.     end
  3556. })
  3557.  
  3558. BoothsTab:CreateInput({
  3559.     Name = "Choosen Pet To Snipe",
  3560.     PlaceholderText = Config.Booths.Sniping.ChoosenPetToSnipe,
  3561.     RemoveTextAfterFocusLost = false,
  3562.     Callback = function(Value)
  3563.         if tonumber(Value) then
  3564.             Value = Value
  3565.         else
  3566.             for i,v in pairs(Library.Directory.Pets) do
  3567.                 if v.name == Value then
  3568.                     Value = i
  3569.                 end
  3570.             end
  3571.         end
  3572.         Config.Booths.Sniping.ChoosenPetToSnipe = Value
  3573.     end
  3574. })
  3575.  
  3576. local SelectedSnipingOptions = BoothsTab:CreateParagraph({Title = "Selected Types", Content = "None"})
  3577. if #Config.Booths.Sniping.Options >= 1 then
  3578.     SelectedSnipingOptions:Set({Title = "Selected Types", Content = table.concat(Config.Booths.Sniping.Options[SnipeSaveNumber], ", ")})
  3579. else
  3580.     SelectedSnipingOptions:Set({Title = "Selected Types", Content = "None"})
  3581. end
  3582.  
  3583. BoothsTab:CreateDropdown({
  3584.     Name = "Choose Types",
  3585.     CurrentOption = "",
  3586.     Options = TypeList,
  3587.     Callback = function(Value)
  3588.         if not Config.Booths.Sniping.Options[SnipeSaveNumber] then
  3589.             Config.Booths.Sniping.Options[SnipeSaveNumber] = {}
  3590.         end
  3591.         if not table.find(Config.Booths.Sniping.Options[SnipeSaveNumber], Value) then
  3592.             table.insert(Config.Booths.Sniping.Options[SnipeSaveNumber], Value)
  3593.         elseif table.find(Config.Booths.Sniping.Options[SnipeSaveNumber], Value) then
  3594.             for i,v in pairs(Config.Booths.Sniping.Options[SnipeSaveNumber]) do
  3595.                 if v == Value then
  3596.                     table.remove(Config.Booths.Sniping.Options[SnipeSaveNumber], i)
  3597.                 end
  3598.             end
  3599.         end
  3600.         SelectedSnipingOptions:Set({Title = "Selected Types", Content = table.concat(Config.Booths.Sniping.Options[SnipeSaveNumber], ", ")})
  3601.     end
  3602. })
  3603.  
  3604. local SelectedSnipingRarities = BoothsTab:CreateParagraph({Title = "Selected Rarities", Content = "None"})
  3605. if #Config.Booths.Sniping.Rarities >= 1 then
  3606.     SelectedSnipingRarities:Set({Title = "Selected Rarities", Content = table.concat(Config.Booths.Sniping.Rarities[SnipeSaveNumber], ", ")})
  3607. else
  3608.     SelectedSnipingRarities:Set({Title = "Selected Rarities", Content = "None"})
  3609. end
  3610.  
  3611. BoothsTab:CreateDropdown({
  3612.     Name = "Choose Rarities",
  3613.     CurrentOption = "",
  3614.     Options = {"Basic", "Rare", "Epic", "Legendary", "Mythical", "", "Event", "Exclusive", "Huge", "Titanic"},
  3615.     Callback = function(Value)
  3616.         if not Config.Booths.Sniping.Rarities[SnipeSaveNumber] then
  3617.             Config.Booths.Sniping.Rarities[SnipeSaveNumber] = {}
  3618.         end
  3619.         if not table.find(Config.Booths.Sniping.Rarities[SnipeSaveNumber], Value) then
  3620.             table.insert(Config.Booths.Sniping.Rarities[SnipeSaveNumber], Value)
  3621.         elseif table.find(Config.Booths.Sniping.Rarities[SnipeSaveNumber], Value) then
  3622.             for i,v in pairs(Config.Booths.Sniping.Rarities[SnipeSaveNumber]) do
  3623.                 if v == Value then
  3624.                     table.remove(Config.Booths.Sniping.Rarities[SnipeSaveNumber], i)
  3625.                 end
  3626.             end
  3627.         end
  3628.         SelectedSnipingRarities:Set({Title = "Selected Rarities", Content = table.concat(Config.Booths.Sniping.Rarities[SnipeSaveNumber], ", ")})
  3629.     end
  3630. })
  3631.  
  3632. local SnipingListOptions = BoothsTab:CreateSection("Sniping List Options")
  3633.  
  3634. BoothsTab:CreateButton({
  3635.     Name = "Save To Sniping List",
  3636.     Callback = function()
  3637.         if #Config.Booths.Sniping.Options[SnipeSaveNumber] < 1 then
  3638.             return
  3639.         end
  3640.         if not Config.Booths.Sniping.SnipingList[SnipeSaveNumber] then
  3641.             Config.Booths.Sniping.SnipingList[SnipeSaveNumber] = {["Pet"] = Config.Booths.Sniping.ChoosenPetToSnipe, ["SnipeUnder"] = Config.Booths.Sniping.SnipePetUnder, ["GemsUnder"] = Config.Booths.Sniping.GemsUnderToSnipe, ["Type"] = Config.Booths.Sniping.Options[SnipeSaveNumber], ["SnipeRarity"] = Config.Booths.Sniping.SnipePetRarity, ["Rarity"] = (tonumber(Config.Booths.Sniping.ChoosenPetToSnipe) and "None") or Config.Booths.Sniping.Rarities[SnipeSaveNumber]}
  3642.         end
  3643.         local SnipingListTable = {}
  3644.         for i,v in pairs(Config.Booths.Sniping.SnipingList) do
  3645.             table.insert(SnipingListTable, "["..i.."] ".."[Pet] "..((tonumber(v.Pet) and Library.Directory.Pets[v.Pet].name) or "None")..", [Snipe Under] "..tostring(v.SnipeUnder)..", [Gems Under] "..((tonumber(v.GemsUnder) and Library.Functions.Commas(tonumber(v.GemsUnder))) or "None")..", [Type] "..table.concat(v.Type, ", ")..", [Snipe Rarity] "..tostring(v.SnipeRarity)..", [Rarity] "..((type(v.Rarity) == "table" and table.concat(v.Rarity, ", ")) or v.Rarity))
  3646.         end
  3647.         SnipingList:Set({Title = "Sniping List", Content = table.concat(SnipingListTable, "\n")})
  3648.  
  3649.         SnipeSaveNumber = tonumber((Config.Booths.Sniping.EditMode and Config.Booths.Sniping.EditNumber) or #Config.Booths.Sniping.SnipingList + 1)
  3650.         SelectedSnipingOptions:Set({Title = "Selected Types", Content = "None"})
  3651.         SelectedSnipingRarities:Set({Title = "Selected Rarities", Content = "None"})
  3652.         if not Config.Booths.Sniping.Options[SnipeSaveNumber] then
  3653.             Config.Booths.Sniping.Options[SnipeSaveNumber] = {}
  3654.         end
  3655.         if not Config.Booths.Sniping.Rarities[SnipeSaveNumber] then
  3656.             Config.Booths.Sniping.Rarities[SnipeSaveNumber] = {}
  3657.         end
  3658.     end
  3659. })
  3660.  
  3661. BoothsTab:CreateToggle({
  3662.     Name = "Edit Mode",
  3663.     CurrentValue = Config.Booths.Sniping.EditMode,
  3664.     Callback = function(Value)
  3665.         Config.Booths.Sniping.EditMode = Value
  3666.         if Config.Booths.Sniping.EditMode then
  3667.             SnipeSaveNumber = tonumber((Config.Booths.Sniping.EditMode and Config.Booths.Sniping.EditNumber) or #Config.Booths.Sniping.SnipingList + 1)
  3668.             SelectedSellingOptions:Set({Title = "Selected Types", Content = table.concat(Config.Booths.Sniping.Options[SnipeSaveNumber], ", ")})
  3669.             SelectedSnipingRarities:Set({Title = "Selected Rarities", Content = table.concat(Config.Booths.Sniping.Rarities[SnipeSaveNumber], ", ")})
  3670.         end
  3671.         task.spawn(function()
  3672.             while Config.Booths.Sniping.EditMode and task.wait() do
  3673.                 pcall(function()
  3674.                     SnipeSaveNumber = tonumber((Config.Booths.Sniping.EditMode and Config.Booths.Sniping.EditNumber) or #Config.Booths.Sniping.SnipingList + 1)
  3675.                     local SnipeListToEdit = Config.Booths.Sniping.SnipingList[SnipeSaveNumber]
  3676.                     SnipeListToEdit.Pet = Config.Booths.Sniping.ChoosenPetToSnipe
  3677.                     SnipeListToEdit.SnipeUnder = Config.Booths.Sniping.SnipePetUnder
  3678.                     SnipeListToEdit.GemsUnder = Config.Booths.Sniping.GemsUnderToSnipe
  3679.                     SnipeListToEdit.Type = Config.Booths.Sniping.Options[SnipeSaveNumber]
  3680.                     SnipeListToEdit.SnipeRarity = Config.Booths.Sniping.SnipePetRarity
  3681.                     SnipeListToEdit.Rarity = (tonumber(Config.Booths.Sniping.ChoosenPetToSnipe) and "None") or Config.Booths.Sniping.Rarities[SnipeSaveNumber]
  3682.                     local SnipingListTable = {}
  3683.                     for i,v in pairs(Config.Booths.Sniping.SnipingList) do
  3684.                         table.insert(SnipingListTable, "["..i.."] ".."[Pet] "..((tonumber(v.Pet) and Library.Directory.Pets[v.Pet].name) or "None")..", [Snipe Under] "..tostring(v.SnipeUnder)..", [Gems Under] "..((tonumber(v.GemsUnder) and Library.Functions.Commas(tonumber(v.GemsUnder))) or "None")..", [Type] "..table.concat(v.Type, ", ")..", [Snipe Rarity] "..tostring(v.SnipeRarity)..", [Rarity] "..((type(v.Rarity) == "table" and table.concat(v.Rarity, ", ")) or v.Rarity))
  3685.                     end
  3686.                     SnipingList:Set({Title = "Sniping List", Content = table.concat(SnipingListTable, "\n")})
  3687.        
  3688.                 end)
  3689.             end
  3690.         end)
  3691.     end
  3692. })
  3693.  
  3694. BoothsTab:CreateButton({
  3695.     Name = "Remove From Snipe List",
  3696.     Callback = function()
  3697.         local ListToReAdd = {}
  3698.         for i,v in pairs(Config.Booths.Sniping.SnipingList) do
  3699.             task.spawn(function()
  3700.                 if i ~= tonumber(Config.Booths.Sniping.EditNumber) then
  3701.                     table.insert(ListToReAdd, v)
  3702.                 end
  3703.             end)
  3704.         end
  3705.         Config.Booths.Sniping.SnipingList = ListToReAdd
  3706.         local SnipingListTable = {}
  3707.         for i,v in pairs(Config.Booths.Sniping.SnipingList) do
  3708.             table.insert(SnipingListTable, "["..i.."] ".."[Pet] "..((tonumber(v.Pet) and Library.Directory.Pets[v.Pet].name) or "None")..", [Snipe Under] "..tostring(v.SnipeUnder)..", [Gems Under] "..((tonumber(v.GemsUnder) and LiLibrary.Functions.Commas(tonumber(v.GemsUnder))) or "None")..", [Type] "..table.concat(v.Type, ", ")..", [Snipe Rarity] "..tostring(v.SnipeRarity)..", [Rarity] "..((type(v.Rarity) == "table" and table.concat(v.Rarity, ", ")) or v.Rarity))
  3709.         end
  3710.         SnipingList:Set({Title = "Sniping List", Content = table.concat(SnipingListTable, "\n")})
  3711.     end
  3712. })
  3713.  
  3714. BoothsTab:CreateInput({
  3715.     Name = "Number To Edit Or Delete",
  3716.     PlaceholderText = Config.Booths.Sniping.EditNumber,
  3717.     RemoveTextAfterFocusLost = false,
  3718.     Callback = function(Value)
  3719.         Config.Booths.Sniping.EditNumber = Value
  3720.     end
  3721. })
  3722. end
  3723.  
  3724. local ExtraSection = BoothsTab:CreateSection("Extra")
  3725.  
  3726. BoothsTab:CreateToggle({
  3727.     Name = "Teleport To Booth [Experimental]",
  3728.     CurrentValue = Config.Booths.Extra.TeleportToBooth,
  3729.     Flag = "ToggleTeleportToBooth",
  3730.     Callback = function(Value)
  3731.         Config.Booths.Extra.TeleportToBooth = Value
  3732.     end
  3733. })
  3734.  
  3735. BoothsTab:CreateToggle({
  3736.     Name = "Go Invisible",
  3737.     CurrentValue = Config.Booths.Extra.GoInvisible,
  3738.     Flag = "ToggleGoInvisible",
  3739.     Callback = function(Value)
  3740.         Config.Booths.Extra.GoInvisible = Value
  3741.         if Config.Booths.Extra.GoInvisible then
  3742.             local SavedPos = game.Players.LocalPlayer.Character.HumanoidRootPart.CFrame
  3743.             wait()
  3744.             game.Players.LocalPlayer.Character.HumanoidRootPart.CFrame = CFrame.new(0, -200, 0)
  3745.             wait(.15)
  3746.             local Seat = Instance.new('Seat', game.Workspace)
  3747.             Seat.Anchored = false
  3748.             Seat.CanCollide = false
  3749.             Seat.Name = 'InvisibleSeat'
  3750.             Seat.Transparency = 1
  3751.             Seat.Position = Vector3.new(0, -200, 0)
  3752.             local Weld = Instance.new("Weld", Seat)
  3753.             Weld.Part0 = Seat
  3754.             Weld.Part1 = game.Players.LocalPlayer.Character:FindFirstChild("Torso") or game.Players.LocalPlayer.Character.UpperTorso
  3755.             wait()
  3756.             Seat.CFrame = SavedPos
  3757.             game.StarterGui:SetCore("SendNotification", {
  3758.                 Title = "Invis On";
  3759.                 Duration = 1;
  3760.                 Text = "";
  3761.             })
  3762.         else
  3763.             workspace:FindFirstChild('InvisibleSeat'):Remove()
  3764.             game.StarterGui:SetCore("SendNotification", {
  3765.                 Title = "Invis Off";
  3766.                 Duration = 1;
  3767.                 Text = "";
  3768.             })
  3769.         end
  3770.     end
  3771. })
  3772.  
  3773. BoothsTab:CreateToggle({
  3774.     Name = "Walk To Booth [Experimental]",
  3775.     CurrentValue = Config.Booths.Extra.WalkToBooth,
  3776.     Flag = "ToggleWalkToBooth",
  3777.     Callback = function(Value)
  3778.         Config.Booths.Extra.WalkToBooth = Value
  3779.     end
  3780. })
  3781.  
  3782. BoothsTab:CreateToggle({
  3783.     Name = "Booth Server Hop",
  3784.     CurrentValue = Config.Booths.Extra.BoothServerHop,
  3785.     Flag = "ToggleBoothServerHop",
  3786.     Callback = function(Value)
  3787.         Config.Booths.Extra.BoothServerHop = Value
  3788.         SaveConfig()
  3789.         task.spawn(function()
  3790.             while Config.Booths.Extra.BoothServerHop and task.wait() do
  3791.                 if not Config.Booths.Extra.BoothServerHop then break end
  3792.                 if #Players:GetChildren() <= 10 then
  3793.                     ServerTeleport("Trading Plaza")
  3794.                 end
  3795.             end
  3796.         end)
  3797.         task.spawn(function()
  3798.             while Config.Booths.Extra.BoothServerHop and task.wait(Config.Booths.Extra.BoothServerHopSeconds) do
  3799.                 if not Config.Booths.Extra.BoothServerHop then break end
  3800.                 ServerTeleport("Trading Plaza")
  3801.             end
  3802.         end)
  3803.     end
  3804. })
  3805.  
  3806. BoothsTab:CreateToggle({
  3807.     Name = "Booth Voice Chat Server Hop (Voice Chat Required)",
  3808.     CurrentValue = Config.Booths.Extra.BoothServerHopVoice,
  3809.     Flag = "ToggleBoothServerHopVoice",
  3810.     Callback = function(Value)
  3811.         Config.Booths.Extra.BoothServerHopVoice = Value
  3812.         SaveConfig()
  3813.         task.spawn(function()
  3814.             while Config.Booths.Extra.BoothServerHopVoice and task.wait() do
  3815.                 if not Config.Booths.Extra.BoothServerHopVoice then break end
  3816.                 if #Players:GetChildren() <= 10 then
  3817.                     ServerTeleport("Trading Plaza Voice Chat")
  3818.                 end
  3819.             end
  3820.         end)
  3821.         task.spawn(function()
  3822.             task.wait(2)
  3823.             while Config.Booths.Extra.BoothServerHopVoice and task.wait(Config.Booths.Extra.BoothServerHopSeconds) do
  3824.                 if not Config.Booths.Extra.BoothServerHopVoice then break end
  3825.                 ServerTeleport("Trading Plaza Voice Chat")
  3826.             end
  3827.         end)
  3828.     end
  3829. })
  3830.  
  3831. local BoothSniperLabel = BoothsTab:CreateLabel((Config.Booths.Extra.BoothServerHopSeconds / 60).." Minutes")
  3832.  
  3833. BoothsTab:CreateInput({
  3834.     Name = "Amount Of SECONDS",
  3835.     PlaceholderText = Config.Booths.Extra.BoothServerHopSeconds,
  3836.     RemoveTextAfterFocusLost = false,
  3837.     Callback = function(Value)
  3838.         Config.Booths.Extra.BoothServerHopSeconds = Value
  3839.         BoothSniperLabel:Set((Config.Booths.Extra.BoothServerHopSeconds / 60).." Minutes")
  3840.     end
  3841. })
  3842.  
  3843.  
  3844. local DeletingTab = Window:CreateTab("Delete Pets (🚫)")
  3845.  
  3846. local PetDeletingSection = DeletingTab:CreateSection("Pet Deleting")
  3847.  
  3848. DeletingTab:CreateToggle({
  3849.     Name = "Start Deleting",
  3850.     CurrentValue = Config.Deleting.StartDelete,
  3851.     Flag = "ToggleStartDelete",
  3852.     Callback = function(Value)
  3853.         Config.Deleting.StartDelete = Value
  3854.         task.spawn(function()
  3855.             while Config.Deleting.StartDelete and task.wait() do
  3856.                 DeletePets()
  3857.             end
  3858.         end)
  3859.     end
  3860. })
  3861.  
  3862. DeletingTab:CreateToggle({
  3863.     Name = "Delete By Rarity",
  3864.     CurrentValue = Config.Deleting.DeleteByRarity,
  3865.     Flag = "ToggleDeleteByRarity",
  3866.     Callback = function(Value)
  3867.         Config.Deleting.DeleteByRarity = Value
  3868.     end
  3869. })
  3870.  
  3871. local PetsToDeleteSection = DeletingTab:CreateSection("Pets")
  3872.  
  3873. DeletingTab:CreateInput({
  3874.     Name = "Choosen Pet",
  3875.     PlaceholderText = Config.Deleting.ChoosenPetToDelete,
  3876.     RemoveTextAfterFocusLost = false,
  3877.     Callback = function(Value)
  3878.         if tonumber(Value) then
  3879.             Value = Value
  3880.         else
  3881.             for i,v in pairs(Library.Directory.Pets) do
  3882.                 if v.name == Value then
  3883.                     Value = i
  3884.                 end
  3885.             end
  3886.         end
  3887.         Config.Deleting.ChoosenPetToDelete = Value
  3888.     end
  3889. })
  3890.  
  3891. local SellingOptionsSection = DeletingTab:CreateSection("Options")
  3892.  
  3893. local SelectedDeleteOptions = DeletingTab:CreateParagraph({Title = "Selected Types", Content = table.concat(Config.Deleting.Options, ", ")})
  3894.  
  3895. DeletingTab:CreateDropdown({
  3896.     Name = "Choose Types",
  3897.     CurrentOption = "",
  3898.     Options = TypeList,
  3899.     Callback = function(Value)
  3900.         if not table.find(Config.Deleting.Options, Value) then
  3901.             table.insert(Config.Deleting.Options, Value)
  3902.         elseif table.find(Config.Deleting.Options, Value) then
  3903.             for i,v in pairs(Config.Deleting.Options) do
  3904.                 if v == Value then
  3905.                     table.remove(Config.Deleting.Options, i)
  3906.                 end
  3907.             end
  3908.         end
  3909.         SelectedDeleteOptions:Set({Title = "Selected Types", Content = table.concat(Config.Deleting.Options, ", ")})
  3910.     end
  3911. })
  3912.  
  3913. local PetsToDeleteRaritiesSection = DeletingTab:CreateSection("Rarities")
  3914.  
  3915. local SelectedDeleteRarities = DeletingTab:CreateParagraph({Title = "Selected Rarities", Content = table.concat(Config.Deleting.Rarities, ", ")})
  3916.  
  3917. DeletingTab:CreateDropdown({
  3918.     Name = "Choose Rarities",
  3919.     CurrentOption = "",
  3920.     Options = RaritiesWithoutExclusiveList,
  3921.     Callback = function(Value)
  3922.         if not table.find(Config.Deleting.Rarities, Value) then
  3923.             table.insert(Config.Deleting.Rarities, Value)
  3924.         elseif table.find(Config.Deleting.Rarities, Value) then
  3925.             for i,v in pairs(Config.Deleting.Rarities) do
  3926.                 if v == Value then
  3927.                     table.remove(Config.Deleting.Rarities, i)
  3928.                 end
  3929.             end
  3930.         end
  3931.         SelectedDeleteRarities:Set({Title = "Selected Rarities", Content = table.concat(Config.Deleting.Rarities, ", ")})
  3932.     end
  3933. })
  3934.  
  3935. local MiscTab = Window:CreateTab("Misc (💡)")
  3936.  
  3937. local RedeemingSection = MiscTab:CreateSection("Redeeming")
  3938.  
  3939. MiscTab:CreateToggle({
  3940.     Name = "Redeem Rank Rewards",
  3941.     CurrentValue = Config.Misc.Redeeming.RedeemRankRewards,
  3942.     Flag = "ToggleRedeemRankRewards",
  3943.     Callback = function(Value)
  3944.         Config.Misc.Redeeming.RedeemRankRewards = Value
  3945.         task.spawn(function()
  3946.             while Config.Misc.Redeeming.RedeemRankRewards and task.wait() do
  3947.                 pcall(function()
  3948.                     if Workspace["__MAP"].Interactive["Rank Rewards"].Pad.BillboardGui.Timer.Text == "Redeem!" then
  3949.                         UseRemote(Remotes["Redeem Rank Rewards"])
  3950.                     end
  3951.                 end)
  3952.             end
  3953.         end)
  3954.     end
  3955. })
  3956.  
  3957. MiscTab:CreateToggle({
  3958.     Name = "Redeem VIP Rewards",
  3959.     CurrentValue = Config.Misc.Redeeming.RedeemVIPRewards,
  3960.     Flag = "ToggleRedeemVIPRewards",
  3961.     Callback = function(Value)
  3962.         Config.Misc.Redeeming.RedeemVIPRewards = Value
  3963.         task.spawn(function()
  3964.             while Config.Misc.Redeeming.RedeemVIPRewards and task.wait() do
  3965.                 pcall(function()
  3966.                     if Workspace["__MAP"].Interactive["VIP Rewards"].Pad.BillboardGui.Timer.Text == "Redeem!" then
  3967.                         UseRemote(Remotes["Redeem VIP Rewards"])
  3968.                     end
  3969.                 end)
  3970.             end
  3971.         end)
  3972.     end
  3973. })
  3974.  
  3975. MiscTab:CreateToggle({
  3976.     Name = "Redeem Free Gift",
  3977.     CurrentValue = Config.Misc.Redeeming.RedeemFreeGifts,
  3978.     Flag = "ToggleRedeemFreeGifts",
  3979.     Callback = function(Value)
  3980.         Config.Misc.Redeeming.RedeemFreeGifts = Value
  3981.         task.spawn(function()
  3982.             while Config.Misc.Redeeming.RedeemFreeGifts and task.wait() do
  3983.                 for i,v in pairs(Player.PlayerGui.FreeGifts.Frame.Container.Gifts:GetDescendants()) do
  3984.                     if v.Name == "Timer" and v.Text == "Redeem!" then
  3985.                         UseRemote(Remotes["Redeem Free Gift"], tonumber(v.Parent.Name:split("Gift")[2]))
  3986.                     end
  3987.                 end
  3988.             end
  3989.         end)
  3990.     end
  3991. })
  3992.  
  3993. local TeleportsSection = MiscTab:CreateSection("Teleports")
  3994.  
  3995. MiscTab:CreateButton({
  3996.     Name = "Teleport To Normal Experience",
  3997.     Callback = function()
  3998.         LowServerTeleport(true, 6284583030)
  3999.     end
  4000. })
  4001.  
  4002. MiscTab:CreateButton({
  4003.     Name = "Teleport To Hardcore Experience",
  4004.     Callback = function()
  4005.         LowServerTeleport(true, 10321372166)
  4006.     end
  4007. })
  4008.  
  4009. MiscTab:CreateButton({
  4010.     Name = "Teleport To Trading Plaza",
  4011.     Callback = function()
  4012.         ServerTeleport("Trading Plaza")
  4013.     end
  4014. })
  4015.  
  4016. MiscTab:CreateButton({
  4017.     Name = "Teleport To Voice Chat Plaza (VOICE CHAT REQUIRED)",
  4018.     Callback = function()
  4019.         ServerTeleport("Trading Plaza Voice Chat")
  4020.     end
  4021. })
  4022.  
  4023. MiscTab:CreateToggle({
  4024.     Name = "Auto Join Normal Experience",
  4025.     CurrentValue = Config.Misc.Teleports.LoadNormalExperience,
  4026.     Flag = "ToggleLoadNormalExperience",
  4027.     Callback = function(Value)
  4028.         Config.Misc.Teleports.LoadNormalExperience = Value
  4029.         task.spawn(function()
  4030.             SaveConfig()
  4031.             if Value then
  4032.                 RayField.Flags["ToggleLoadHardcoreExperience"]:Set(false)
  4033.                 RayField.Flags["ToggleLoadTradingExperience"]:Set(false)
  4034.                 RayField.Flags["ToggleLoadTradingVoiceExperience"]:Set(false)
  4035.             end
  4036.             task.wait(2)
  4037.             while Config.Misc.Teleports.LoadNormalExperience and task.wait(1) do
  4038.                 if game.PlaceId ~= 6284583030 then
  4039.                     LowServerTeleport(true, 6284583030)
  4040.                 end
  4041.             end
  4042.         end)
  4043.     end
  4044. })
  4045.  
  4046. MiscTab:CreateToggle({
  4047.     Name = "Auto Join Hardcore Experience",
  4048.     CurrentValue = Config.Misc.Teleports.LoadHardcoreExperience,
  4049.     Flag = "ToggleLoadHardcoreExperience",
  4050.     Callback = function(Value)
  4051.         Config.Misc.Teleports.LoadHardcoreExperience = Value
  4052.         task.spawn(function()
  4053.             SaveConfig()
  4054.             if Value then
  4055.                 RayField.Flags["ToggleLoadNormalExperience"]:Set(false)
  4056.                 RayField.Flags["ToggleLoadTradingExperience"]:Set(false)
  4057.                 RayField.Flags["ToggleLoadTradingVoiceExperience"]:Set(false)
  4058.             end
  4059.             task.wait(2)
  4060.             while Config.Misc.Teleports.LoadHardcoreExperience and task.wait(1) do
  4061.                 if game.PlaceId ~= 10321372166 then
  4062.                     LowServerTeleport(true, 10321372166)
  4063.                 end
  4064.             end
  4065.         end)
  4066.     end
  4067. })
  4068.  
  4069. MiscTab:CreateToggle({
  4070.     Name = "Auto Join Trading Plaza",
  4071.     CurrentValue = Config.Misc.Teleports.LoadTradingExperience,
  4072.     Flag = "ToggleLoadTradingExperience",
  4073.     Callback = function(Value)
  4074.         Config.Misc.Teleports.LoadTradingExperience = Value
  4075.         task.spawn(function()
  4076.             SaveConfig()
  4077.             if Value then
  4078.                 RayField.Flags["ToggleLoadNormalExperience"]:Set(false)
  4079.                 RayField.Flags["ToggleLoadHardcoreExperience"]:Set(false)
  4080.                 RayField.Flags["ToggleLoadTradingVoiceExperience"]:Set(false)
  4081.             end
  4082.             task.wait(2)
  4083.             while Config.Misc.Teleports.LoadTradingExperience and task.wait(1) do
  4084.                 if game.PlaceId ~= 7722306047 then
  4085.                     ServerTeleport("Trading Plaza")
  4086.                 end
  4087.             end
  4088.         end)
  4089.     end
  4090. })
  4091.  
  4092. MiscTab:CreateToggle({
  4093.     Name = "Auto Join Voice Chat Trading Plaza",
  4094.     CurrentValue = Config.Misc.Teleports.LoadTradingVoiceExperience,
  4095.     Flag = "ToggleLoadTradingVoiceExperience",
  4096.     Callback = function(Value)
  4097.         Config.Misc.Teleports.LoadTradingVoiceExperience = Value
  4098.         task.spawn(function()
  4099.             SaveConfig()
  4100.             if Value then
  4101.                 RayField.Flags["ToggleLoadNormalExperience"]:Set(false)
  4102.                 RayField.Flags["ToggleLoadHardcoreExperience"]:Set(false)
  4103.                 RayField.Flags["ToggleLoadTradingExperience"]:Set(false)
  4104.             end
  4105.             task.wait(2)
  4106.             while Config.Misc.Teleports.LoadTradingVoiceExperience and task.wait(1) do
  4107.                 if game.PlaceId ~= 11725212117 then
  4108.                     ServerTeleport("Trading Plaza Voice Chat")
  4109.                 end
  4110.             end
  4111.         end)
  4112.     end
  4113. })
  4114.  
  4115. local HoverboardsSection = MiscTab:CreateSection("Hoverboards")
  4116.  
  4117. MiscTab:CreateDropdown({
  4118.     Name = "Hoverboards",
  4119.     CurrentOption = Config.Misc.Hoverboards.CurrentHoverboard,
  4120.     Options = HoverboardList,
  4121.     Callback = function(Value)
  4122.         Config.Misc.Hoverboards.CurrentHoverboard = Value
  4123.     end
  4124. })
  4125.  
  4126. MiscTab:CreateButton({
  4127.     Name = "Set Hoverboard",
  4128.     Callback = function()
  4129.         Library.Save.Get().EquippedHoverboard = Config.Misc.Hoverboards.CurrentHoverboard
  4130.     end
  4131. })
  4132.  
  4133. MiscTab:CreateSlider({
  4134.     Name = "Hoverboard Speed",
  4135.     Range = {1,300},
  4136.     CurrentValue = Config.Misc.Hoverboards.HoverboardSpeed,
  4137.     Increment = 1,
  4138.     Suffix = "Speed",
  4139.     Flag = "HoverboardSpeedValue",
  4140.     Callback = function(Value)
  4141.         Config.Misc.Hoverboards.HoverboardSpeed = Value
  4142.     end
  4143. })
  4144.  
  4145. MiscTab:CreateButton({
  4146.     Name = "Set Hoverboard Speed",
  4147.     Callback = function()
  4148.         Library.Directory.Hoverboards[Config.Misc.Hoverboards.CurrentHoverboard].speed = 3
  4149.         getupvalue(getsenv(Scripts.Game.Hoverboard).Create, 3)[3] = Config.Misc.Hoverboards.HoverboardSpeed
  4150.     end
  4151. })
  4152.  
  4153. local BoostsSection = MiscTab:CreateSection("Boosts")
  4154.  
  4155. MiscTab:CreateToggle({
  4156.     Name = "Use Boosts",
  4157.     CurrentValue = Config.Misc.Boosting.UseBoosts,
  4158.     Flag = "ToggleUseBoosts",
  4159.     Callback = function(Value)
  4160.         Config.Misc.Boosting.UseBoosts = Value
  4161.         task.spawn(function()
  4162.             while Config.Misc.Boosting.UseBoosts and task.wait(1) do
  4163.                 ActivateBoosts()
  4164.             end
  4165.         end)
  4166.     end
  4167. })
  4168.  
  4169. MiscTab:CreateToggle({
  4170.     Name = "Use All Boosts",
  4171.     CurrentValue = Config.Misc.Boosting.UseAllBoosts,
  4172.     Flag = "ToggleUseAllBoosts",
  4173.     Callback = function(Value)
  4174.         Config.Misc.Boosting.UseAllBoosts = Value
  4175.         task.spawn(function()
  4176.             while Config.Misc.Boosting.UseAllBoosts and task.wait() do
  4177.                 ActivateBoosts()
  4178.             end
  4179.         end)
  4180.     end
  4181. })
  4182.  
  4183. local SelectedBoosts = MiscTab:CreateParagraph({Title = "Selected Boosts", Content = table.concat(Config.Misc.Boosting.BoostsToActivate, ", ")})
  4184.  
  4185. MiscTab:CreateDropdown({
  4186.     Name = "Choose Boosts",
  4187.     CurrentOption = "",
  4188.     Options = {"Triple Coins", "Triple Damage", "Super Lucky", "Ultra Lucky"},
  4189.     Callback = function(Value)
  4190.         if not table.find(Config.Misc.Boosting.BoostsToActivate, Value) then
  4191.             table.insert(Config.Misc.Boosting.BoostsToActivate, Value)
  4192.         elseif table.find(Config.Misc.Boosting.BoostsToActivate, Value) then
  4193.             for i,v in pairs(Config.Misc.Boosting.BoostsToActivate) do
  4194.                 if v == Value then
  4195.                     table.remove(Config.Misc.Boosting.BoostsToActivate, i)
  4196.                 end
  4197.             end
  4198.         end
  4199.         SelectedBoosts:Set({Title = "Selected Boosts", Content = table.concat(Config.Misc.Boosting.BoostsToActivate, ", ")})
  4200.     end
  4201. })
  4202.  
  4203. local ServerBoostsSection = MiscTab:CreateSection("Server Boosts")
  4204.  
  4205. MiscTab:CreateToggle({
  4206.     Name = "Use Server Boosts",
  4207.     CurrentValue = Config.Misc.Boosting.UseServerBoosts,
  4208.     Flag = "ToggleUseServerBoosts",
  4209.     Callback = function(Value)
  4210.         Config.Misc.Boosting.UseServerBoosts = Value
  4211.         task.spawn(function()
  4212.             while Config.Misc.Boosting.UseServerBoosts and task.wait(1) do
  4213.                 ActivateServerBoosts()
  4214.             end
  4215.         end)
  4216.     end
  4217. })
  4218.  
  4219. local SelectedServerBoosts = MiscTab:CreateParagraph({Title = "Selected Server Boosts", Content = table.concat(Config.Misc.Boosting.ServerBoostsToActivate, ", ")})
  4220.  
  4221. MiscTab:CreateDropdown({
  4222.     Name = "Choose Server Boosts",
  4223.     CurrentOption = "",
  4224.     Options = {"Triple Coins", "Triple Damage", "Super Lucky"},
  4225.     Callback = function(Value)
  4226.         if not table.find(Config.Misc.Boosting.ServerBoostsToActivate, Value) then
  4227.             table.insert(Config.Misc.Boosting.ServerBoostsToActivate, Value)
  4228.         elseif table.find(Config.Misc.Boosting.ServerBoostsToActivate, Value) then
  4229.             for i,v in pairs(Config.Misc.Boosting.ServerBoostsToActivate) do
  4230.                 if v == Value then
  4231.                     table.remove(Config.Misc.Boosting.ServerBoostsToActivate, i)
  4232.                 end
  4233.             end
  4234.         end
  4235.         SelectedServerBoosts:Set({Title = "Selected Server Boosts", Content = table.concat(Config.Misc.Boosting.ServerBoostsToActivate, ", ")})
  4236.     end
  4237. })
  4238.  
  4239. local MiscExtraSection = MiscTab:CreateSection("Extra")
  4240.  
  4241. MiscTab:CreateToggle({
  4242.     Name = "Stats Tracker",
  4243.     CurrentValue = Config.Misc.Extra.StatsTracker,
  4244.     Flag = "ToggleStatsTracker",
  4245.     Callback = function(Value)
  4246.         Config.Misc.Extra.StatsTracker = Value
  4247.         EnableStatsTracker()
  4248.     end
  4249. })
  4250.  
  4251. MiscTab:CreateToggle({
  4252.     Name = "Reduce Lag",
  4253.     CurrentValue = Config.Misc.Extra.ReduceLag,
  4254.     Flag = "ToggleReduceLag",
  4255.     Callback = function(Value)
  4256.         Config.Misc.Extra.ReduceLag = Value
  4257.         if Config.Misc.Extra.ReduceLag then
  4258.             local a = game
  4259.             local b = a.Workspace
  4260.             local c = a.Lighting
  4261.             local d = b.Terrain
  4262.             d.WaterWaveSize = 0
  4263.             d.WaterWaveSpeed = 0
  4264.             d.WaterReflectance = 0
  4265.             d.WaterTransparency = 0
  4266.             c.GlobalShadows = false
  4267.             c.FogEnd = 9e9
  4268.             c.Brightness = 0
  4269.             settings().Rendering.QualityLevel = "Level01"
  4270.             for e, f in pairs(a:GetDescendants()) do
  4271.                if f:IsA("Part") or f:IsA("Union") or f:IsA("CornerWedgePart") or f:IsA("TrussPart") then
  4272.                    f.Material = "Plastic"
  4273.                    f.Reflectance = 0
  4274.                elseif f:IsA("Decal") or f:IsA("Texture") then
  4275.                    f.Transparency = 0
  4276.                elseif f:IsA("ParticleEmitter") or f:IsA("Trail") then
  4277.                    f.Lifetime = NumberRange.new(0)
  4278.                elseif f:IsA("Explosion") then
  4279.                    f.BlastPressure = 0
  4280.                    f.BlastRadius = 0
  4281.                elseif f:IsA("Fire") or f:IsA("SpotLight") or f:IsA("Smoke") or f:IsA("Sparkles") then
  4282.                    f.Enabled = false
  4283.                elseif f:IsA("MeshPart") then
  4284.                    f.Material = "Plastic"
  4285.                    f.Reflectance = 0
  4286.                    f.TextureID = 10385902758728957
  4287.                end
  4288.             end
  4289.             for e, g in pairs(c:GetChildren()) do
  4290.                if
  4291.                    g:IsA("BlurEffect") or g:IsA("SunRaysEffect") or g:IsA("ColorCorrectionEffect") or g:IsA("BloomEffect") or
  4292.                        g:IsA("DepthOfFieldEffect")
  4293.                 then
  4294.                    g.Enabled = false
  4295.                end
  4296.             end
  4297.             sethiddenproperty(game.Lighting, "Technology", "Compatibility")
  4298.         end
  4299.     end
  4300. })
  4301.  
  4302. local PetCollectionTab = Window:CreateTab("Pet Collection (🖥️)")
  4303.  
  4304. local CollectionSettingsSection = PetCollectionTab:CreateSection("Settings For Pet Collection")
  4305.  
  4306. local CollectionStats = PetCollectionTab:CreateParagraph({Title = "Statistics", Content = "Pets Collected: "..#Library.Save.Get().Collection.."/"..#Library.Shared.GetAllCollectablePets()})
  4307.  
  4308. PetCollectionTab:CreateToggle({
  4309.     Name = "Start Collecting Pets",
  4310.     CurrentValue = Config.PetCollection.StartCollecting,
  4311.     Flag = "ToggleCollectingPets",
  4312.     Callback = function(Value)
  4313.         Config.PetCollection.StartCollecting = Value
  4314.         task.spawn(function()
  4315.             while Config.PetCollection.StartCollecting and task.wait() do
  4316.                 CollectPets()
  4317.                 CollectionStats:Set({Title = "Statistics", Content = "Pets Collected: "..#Library.Save.Get().Collection.."/"..#Library.Shared.GetAllCollectablePets()})
  4318.             end
  4319.         end)
  4320.     end
  4321. })
  4322.  
  4323. PetCollectionTab:CreateDropdown({
  4324.     Name = "Choose Mode",
  4325.     CurrentOption = Config.PetCollection.Mode,
  4326.     Options = {"Single", "Triple", "Octuple"},
  4327.     Flag = "CollectionModeOption",
  4328.     Callback = function(Value)
  4329.         Config.PetCollection.Mode = Value
  4330.     end
  4331. })
  4332.  
  4333. local SelectedCollectingOptions = PetCollectionTab:CreateParagraph({Title = "Selected Types", Content = table.concat(Config.PetCollection.Options, ", ")})
  4334.  
  4335. PetCollectionTab:CreateDropdown({
  4336.     Name = "Choose Types",
  4337.     CurrentOption = "",
  4338.     Options = TypesForCollectionList,
  4339.     Callback = function(Value)
  4340.         if not table.find(Config.PetCollection.Options, Value) then
  4341.             table.insert(Config.PetCollection.Options, Value)
  4342.         elseif table.find(Config.PetCollection.Options, Value) then
  4343.             for i,v in pairs(Config.PetCollection.Options) do
  4344.                 if v == Value then
  4345.                     table.remove(Config.PetCollection.Options, i)
  4346.                 end
  4347.             end
  4348.         end
  4349.         SelectedCollectingOptions:Set({Title = "Selected Types", Content = table.concat(Config.PetCollection.Options, ", ")})
  4350.     end
  4351. })
  4352.  
  4353. local SelectedCollectionRarities = PetCollectionTab:CreateParagraph({Title = "Selected Rarities", Content = table.concat(Config.PetCollection.Rarities, ", ")})
  4354.  
  4355. PetCollectionTab:CreateDropdown({
  4356.     Name = "Choose Rarities",
  4357.     CurrentOption = "",
  4358.     Options = RaritiesWithoutExclusiveList,
  4359.     Callback = function(Value)
  4360.         if not table.find(Config.PetCollection.Rarities, Value) then
  4361.             table.insert(Config.PetCollection.Rarities, Value)
  4362.         elseif table.find(Config.PetCollection.Rarities, Value) then
  4363.             for i,v in pairs(Config.PetCollection.Rarities) do
  4364.                 if v == Value then
  4365.                     table.remove(Config.PetCollection.Rarities, i)
  4366.                 end
  4367.             end
  4368.         end
  4369.         SelectedCollectionRarities:Set({Title = "Selected Rarities", Content = table.concat(Config.PetCollection.Rarities, ", ")})
  4370.     end
  4371. })
  4372.  
  4373. local MasteryTab = Window:CreateTab("Mastery (✨)")
  4374.  
  4375. local MasterySettingsSection = MasteryTab:CreateSection("Settings For Mastery")
  4376.  
  4377. MasteryTab:CreateToggle({
  4378.     Name = "Start Completing Mastery",
  4379.     CurrentValue = Config.Mastery.StartCompletingMasterys,
  4380.     Flag = "ToggleCompleteMasterys",
  4381.     Callback = function(Value)
  4382.         Config.Mastery.StartCompletingMasterys = Value
  4383.         task.spawn(function()
  4384.             while Config.Mastery.StartCompletingMasterys and task.wait() do
  4385.                 CompleteMasterys()
  4386.             end
  4387.         end)
  4388.     end
  4389. })
  4390.  
  4391. local SelectedMasterys = MasteryTab:CreateParagraph({Title = "Selected Masteries", Content = table.concat(Config.Mastery.MasterysToFarm, ", ")})
  4392.  
  4393. MasteryTab:CreateDropdown({
  4394.     Name = "Choose Masteries",
  4395.     CurrentOption = "",
  4396.     Options = MasteryList,
  4397.     Callback = function(Value)
  4398.         if not table.find(Config.Mastery.MasterysToFarm, Value) then
  4399.             table.insert(Config.Mastery.MasterysToFarm, Value)
  4400.         elseif table.find(Config.Mastery.MasterysToFarm, Value) then
  4401.             for i,v in pairs(Config.Mastery.MasterysToFarm) do
  4402.                 if v == Value then
  4403.                     table.remove(Config.Mastery.MasterysToFarm, i)
  4404.                 end
  4405.             end
  4406.         end
  4407.         SelectedMasterys:Set({Title = "Selected Masteries", Content = table.concat(Config.Mastery.MasterysToFarm, ", ")})
  4408.     end
  4409. })
  4410.  
  4411.  
  4412. local GuisTab = Window:CreateTab("GUIs (🔖)")
  4413.  
  4414. local GuiSettings = GuisTab:CreateSection("Settings For Guis")
  4415.  
  4416. GuisTab:CreateToggle({
  4417.     Name = "Walk To Gui Location",
  4418.     CurrentValue = Config.Guis.WalkToGui,
  4419.     Flag = "ToggleWalkToGui",
  4420.     Callback = function(Value)
  4421.         Config.Guis.WalkToGui = Value
  4422.     end
  4423. })
  4424.  
  4425. local GuisMachinesSection = GuisTab:CreateSection("Machines")
  4426.  
  4427. GuisTab:CreateKeybind({
  4428.     Name = "Golden Machine",
  4429.     CurrentKeybind = Config.Guis.GuiMachines.GoldenMachine,
  4430.     HoldToInteract = false,
  4431.     Flag = "GoldenMachineKeybind",
  4432.     Callback = function(Keybind)
  4433.         Config.Guis.GuiMachines.GoldenMachine = Keybind
  4434.         pcall(function()
  4435.             getsenv(Scripts.GUIs.Teleport).Teleport("Shop")
  4436.             if Config.Guis.WalkToGui then
  4437.                 task.wait(5)
  4438.                 FindPath(Workspace["__MAP"].Interactive["Gold Machine"].Pad)
  4439.             else
  4440.                 GetHumanoidRootPart().CFrame = Workspace["__MAP"].Interactive["Gold Machine"].Pad.CFrame
  4441.             end
  4442.         end)
  4443.     end
  4444. })
  4445.  
  4446. GuisTab:CreateKeybind({
  4447.     Name = "Rainbow Machine",
  4448.     CurrentKeybind = Config.Guis.GuiMachines.RainbowMachine,
  4449.     HoldToInteract = false,
  4450.     Flag = "RainbowMachineKeybind",
  4451.     Callback = function(Keybind)
  4452.         Config.Guis.GuiMachines.GoldenMachine = Keybind
  4453.         pcall(function()
  4454.             getsenv(Scripts.GUIs.Teleport).Teleport("Mine")
  4455.             if Config.Guis.WalkToGui then
  4456.                 task.wait(5)
  4457.                 FindPath(Workspace["__MAP"].Interactive["Rainbow Machine"].Pad)
  4458.             else
  4459.                 GetHumanoidRootPart().CFrame = Workspace["__MAP"].Interactive["Rainbow Machine"].Pad.CFrame
  4460.             end
  4461.         end)
  4462.     end
  4463. })
  4464.  
  4465. GuisTab:CreateKeybind({
  4466.     Name = "Dark Matter Machine",
  4467.     CurrentKeybind = Config.Guis.GuiMachines.DarkMatterMachine,
  4468.     HoldToInteract = false,
  4469.     Flag = "DarkMatterKeybind",
  4470.     Callback = function(Keybind)
  4471.         Config.Guis.GuiMachines.DarkMatterMachine = Keybind
  4472.         pcall(function()
  4473.             getsenv(Scripts.GUIs.Teleport).Teleport("Dark Tech")
  4474.             if Config.Guis.WalkToGui then
  4475.                 task.wait(5)
  4476.                 FindPath(Workspace["__MAP"].Interactive["Dark Matter Machine"].Pad)
  4477.             else
  4478.                 GetHumanoidRootPart().CFrame = Workspace["__MAP"].Interactive["Dark Matter Machine"].Pad.CFrame
  4479.             end
  4480.         end)
  4481.     end
  4482. })
  4483.  
  4484. GuisTab:CreateKeybind({
  4485.     Name = "Fuse Machine",
  4486.     CurrentKeybind = Config.Guis.GuiMachines.FuseMachine,
  4487.     HoldToInteract = false,
  4488.     Flag = "FuseMachineKeybind",
  4489.     Callback = function(Keybind)
  4490.         Config.Guis.GuiMachines.FuseMachine = Keybind
  4491.         pcall(function()
  4492.             getsenv(Scripts.GUIs.Teleport).Teleport("Beach")
  4493.             if Config.Guis.WalkToGui then
  4494.                 task.wait(5)
  4495.                 FindPath(Workspace["__MAP"].Interactive["Fuse Pets"].Pad)
  4496.             else
  4497.                 GetHumanoidRootPart().CFrame = Workspace["__MAP"].Interactive["Fuse Pets"].Pad.CFrame
  4498.             end
  4499.         end)
  4500.     end
  4501. })
  4502.  
  4503. GuisTab:CreateKeybind({
  4504.     Name = "Enchant Machine",
  4505.     CurrentKeybind = Config.Guis.GuiMachines.EnchantMachine,
  4506.     HoldToInteract = false,
  4507.     Flag = "EnchantMachineKeybind",
  4508.     Callback = function(Keybind)
  4509.         Config.Guis.GuiMachines.EnchantMachine = Keybind
  4510.         pcall(function()
  4511.             getsenv(Scripts.GUIs.Teleport).Teleport("Enchanted Forest")
  4512.             if Config.Guis.WalkToGui then
  4513.                 task.wait(5)
  4514.                 FindPath(Workspace["__MAP"].Interactive["Enchanting"].Pad)
  4515.             else
  4516.                 GetHumanoidRootPart().CFrame = Workspace["__MAP"].Interactive["Enchanting"].Pad.CFrame
  4517.             end
  4518.         end)
  4519.     end
  4520. })
  4521.  
  4522. GuisTab:CreateKeybind({
  4523.     Name = "Bank Machine",
  4524.     CurrentKeybind = Config.Guis.GuiMachines.BankMachine,
  4525.     HoldToInteract = false,
  4526.     Flag = "BankMachineKeybind",
  4527.     Callback = function(Keybind)
  4528.         Config.Guis.GuiMachines.BankMachine = Keybind
  4529.         pcall(function()
  4530.             getsenv(Scripts.GUIs.Teleport).Teleport("Shop")
  4531.             if Config.Guis.WalkToGui then
  4532.                 task.wait(5)
  4533.                 FindPath(Workspace["__MAP"].Interactive["Bank"].Pad)
  4534.             else
  4535.                 GetHumanoidRootPart().CFrame = Workspace["__MAP"].Interactive["Bank"].Pad.CFrame
  4536.             end
  4537.         end)
  4538.     end
  4539. })
  4540.  
  4541. GuisTab:CreateKeybind({
  4542.     Name = "Server Boost Machine",
  4543.     CurrentKeybind = "V",
  4544.     HoldToInteract = false,
  4545.     Flag = "ServerBoostMachineKeybind",
  4546.     Callback = function(Keybind)
  4547.         Config.Guis.GuiMachines.ServerBoostMachine = Keybind
  4548.         pcall(function()
  4549.             getsenv(Scripts.GUIs.Teleport).Teleport("The Void")
  4550.             if Config.Guis.WalkToGui then
  4551.                 task.wait(5)
  4552.                 FindPath(Workspace["__MAP"].Interactive["Boost Machine"].Pad)
  4553.             else
  4554.                 GetHumanoidRootPart().CFrame = Workspace["__MAP"].Interactive["Boost Machine"].Pad.CFrame
  4555.             end
  4556.         end)
  4557.     end
  4558. })
  4559.  
  4560. local WebhooksTab = Window:CreateTab("Webhooks (📬)")
  4561.  
  4562. local WebhookHatchingSection = WebhooksTab:CreateSection("Hatching")
  4563.  
  4564. local OldSavedHatchedPets = Library.Save.Get().Pets
  4565. WebhooksTab:CreateToggle({
  4566.     Name = "Start Hatch Webhook",
  4567.     CurrentValue = Config.Webhooks.HatchWebhook.StartWebhook,
  4568.     Flag = "ToggleStartHatchWebhook",
  4569.     Callback = function(Value)
  4570.         Config.Webhooks.HatchWebhook.StartWebhook = Value
  4571.         if getgenv().OpenEggConnection then getgenv().OpenEggConnection:Disconnect() end
  4572.         task.spawn(function()
  4573.             repeat task.wait() until RemotesLoaded
  4574.             LPH_NO_VIRTUALIZE(function()
  4575.                 getgenv().OpenEggConnection = Library.Network.Fired("Open Egg"):Connect(function(EggName, PetsTable)
  4576.                     for i,v in pairs(PetsTable) do
  4577.                         repeat task.wait() until CheckForPet(v.uid)
  4578.                         local ReadyToSendHatchWebhook = false
  4579.                         if (table.find(Config.Webhooks.HatchWebhook.Rarities, "Basic") and Library.Directory.Pets[v.id].rarity == "Basic") or (table.find(Config.Webhooks.HatchWebhook.Rarities, "Rare") and Library.Directory.Pets[v.id].rarity == "Rare") or (table.find(Config.Webhooks.HatchWebhook.Rarities, "Epic") and Library.Directory.Pets[v.id].rarity == "Epic") or (table.find(Config.Webhooks.HatchWebhook.Rarities, "Legendary") and Library.Directory.Pets[v.id].rarity == "Legendary") or (table.find(Config.Webhooks.HatchWebhook.Rarities, "Mythical") and Library.Directory.Pets[v.id].rarity == "Mythical") or (table.find(Config.Webhooks.HatchWebhook.Rarities, "Secret") and Library.Directory.Pets[v.id].rarity == "Secret") or (table.find(Config.Webhooks.HatchWebhook.Rarities, "Exclusive") and Library.Directory.Pets[v.id].rarity == "Exclusive")  then
  4580.                             ReadyToSendHatchWebhook = true
  4581.                         end
  4582.                         if ReadyToSendHatchWebhook and Config.Webhooks.HatchWebhook.StartWebhook then
  4583.                             SendHatchWebhook(v, EggName)
  4584.                         end
  4585.                         if v.powers then
  4586.                             SendMiscHatchWebhook(v, EggName)
  4587.                         end
  4588.                     end
  4589.                 end)
  4590.             end)()
  4591.         end)
  4592.     end
  4593. })
  4594.  
  4595.  
  4596. WebhooksTab:CreateInput({
  4597.     Name = "Discord Webhook",
  4598.     PlaceholderText  = Config.Webhooks.HatchWebhook.ChoosenWebhook,
  4599.     RemoveTextAfterFocusLost  = false,
  4600.     Callback = function(Value)
  4601.         Config.Webhooks.HatchWebhook.ChoosenWebhook = Value
  4602.     end
  4603. })
  4604.  
  4605. WebhooksTab:CreateToggle({
  4606.     Name = "Ping User",
  4607.     CurrentValue = Config.Webhooks.HatchWebhook.PingUser,
  4608.     Flag = "ToggleHatchPingUser",
  4609.     Callback = function(Value)
  4610.         Config.Webhooks.HatchWebhook.PingUser = Value
  4611.     end
  4612. })
  4613.  
  4614. WebhooksTab:CreateInput({
  4615.     Name = "ID To Ping",
  4616.     PlaceholderText  = Config.Webhooks.HatchWebhook.ChoosenUserID,
  4617.     RemoveTextAfterFocusLost  = false,
  4618.     Callback = function(Value)
  4619.         Config.Webhooks.HatchWebhook.ChoosenUserID = Value
  4620.     end
  4621. })
  4622.  
  4623. WebhooksTab:CreateToggle({
  4624.     Name = "Show Chances",
  4625.     CurrentValue = Config.Webhooks.HatchWebhook.ShowChances,
  4626.     Flag = "ToggleHatchShowChances",
  4627.     Callback = function(Value)
  4628.         Config.Webhooks.HatchWebhook.ShowChances = Value
  4629.     end
  4630. })
  4631.  
  4632. WebhooksTab:CreateToggle({
  4633.     Name = "Show Eggs Hatched",
  4634.     CurrentValue = Config.Webhooks.HatchWebhook.ShowEggsHatched,
  4635.     Flag = "ToggleHatchShowEggsHatched",
  4636.     Callback = function(Value)
  4637.         Config.Webhooks.HatchWebhook.ShowEggsHatched = Value
  4638.     end
  4639. })
  4640.  
  4641. WebhooksTab:CreateToggle({
  4642.     Name = "Show Eggs Remaining",
  4643.     CurrentValue = Config.Webhooks.HatchWebhook.ShowEggsRemaining,
  4644.     Flag = "ToggleHatchShowEggsRemaining",
  4645.     Callback = function(Value)
  4646.         Config.Webhooks.HatchWebhook.ShowEggsRemaining = Value
  4647.     end
  4648. })
  4649.  
  4650. WebhooksTab:CreateToggle({
  4651.     Name = "Show Currency Remaining",
  4652.     CurrentValue = Config.Webhooks.HatchWebhook.ShowCurrencyRemaining,
  4653.     Flag = "ToggleHatchShowCurrencyRemaining",
  4654.     Callback = function(Value)
  4655.         Config.Webhooks.HatchWebhook.ShowCurrencyRemaining = Value
  4656.     end
  4657. })
  4658.  
  4659. WebhooksTab:CreateToggle({
  4660.     Name = "Show Strength",
  4661.     CurrentValue = Config.Webhooks.HatchWebhook.ShowStrength,
  4662.     Flag = "ToggleHatchShowStrength",
  4663.     Callback = function(Value)
  4664.         Config.Webhooks.HatchWebhook.ShowStrength = Value
  4665.     end
  4666. })
  4667.  
  4668. WebhooksTab:CreateToggle({
  4669.     Name = "Show Enchants",
  4670.     CurrentValue = Config.Webhooks.HatchWebhook.ShowEnchants,
  4671.     Flag = "ToggleHatchShowEnchants",
  4672.     Callback = function(Value)
  4673.         Config.Webhooks.HatchWebhook.ShowEnchants = Value
  4674.     end
  4675. })
  4676.  
  4677. local WebhookPetRarities = WebhooksTab:CreateSection("Rarities")
  4678.  
  4679. local SelectedHatchRarities = WebhooksTab:CreateParagraph({Title = "Selected Rarities", Content = table.concat(Config.Webhooks.HatchWebhook.Rarities, ", ")})
  4680.  
  4681. WebhooksTab:CreateDropdown({
  4682.     Name = "Choose Rarities",
  4683.     CurrentOption = "",
  4684.     Options = RaritiesList,
  4685.     Callback = function(Value)
  4686.         if not table.find(Config.Webhooks.HatchWebhook.Rarities, Value) then
  4687.             table.insert(Config.Webhooks.HatchWebhook.Rarities, Value)
  4688.         elseif table.find(Config.Webhooks.HatchWebhook.Rarities, Value) then
  4689.             for i,v in pairs(Config.Webhooks.HatchWebhook.Rarities) do
  4690.                 if v == Value then
  4691.                     table.remove(Config.Webhooks.HatchWebhook.Rarities, i)
  4692.                 end
  4693.             end
  4694.         end
  4695.         SelectedHatchRarities:Set({Title = "Selected Rarities", Content = table.concat(Config.Webhooks.HatchWebhook.Rarities, ", ")})
  4696.     end
  4697. })
  4698.  
  4699. local WebhookSellingSection = WebhooksTab:CreateSection("Selling")
  4700.  
  4701. WebhooksTab:CreateToggle({
  4702.     Name = "Start Sell Webhook",
  4703.     CurrentValue = Config.Webhooks.SellWebhook.StartWebhook,
  4704.     Flag = "ToggleStartSellWebhook",
  4705.     Callback = function(Value)
  4706.         Config.Webhooks.SellWebhook.StartWebhook = Value
  4707.     end
  4708. })
  4709.  
  4710. WebhooksTab:CreateInput({
  4711.     Name = "Discord Webhook",
  4712.     PlaceholderText  = Config.Webhooks.SellWebhook.ChoosenWebhook,
  4713.     RemoveTextAfterFocusLost  = false,
  4714.     Callback = function(Value)
  4715.         Config.Webhooks.SellWebhook.ChoosenWebhook = Value
  4716.     end
  4717. })
  4718.  
  4719. WebhooksTab:CreateToggle({
  4720.     Name = "Ping User",
  4721.     CurrentValue = Config.Webhooks.SellWebhook.PingUser,
  4722.     Flag = "ToggleSellPingUser",
  4723.     Callback = function(Value)
  4724.         Config.Webhooks.SellWebhook.PingUser = Value
  4725.     end
  4726. })
  4727.  
  4728. WebhooksTab:CreateInput({
  4729.     Name = "ID To Ping",
  4730.     PlaceholderText  = Config.Webhooks.SellWebhook.ChoosenUserID,
  4731.     RemoveTextAfterFocusLost  = false,
  4732.     Callback = function(Value)
  4733.         Config.Webhooks.SellWebhook.ChoosenUserID = Value
  4734.     end
  4735. })
  4736.  
  4737. WebhooksTab:CreateToggle({
  4738.     Name = "Show Bought For",
  4739.     CurrentValue = Config.Webhooks.SellWebhook.ShowSoldFor,
  4740.     Flag = "ToggleSellShowBoughtFor",
  4741.     Callback = function(Value)
  4742.         Config.Webhooks.SellWebhook.ShowSoldFor = Value
  4743.     end
  4744. })
  4745.  
  4746. WebhooksTab:CreateToggle({
  4747.     Name = "Show Total Gems",
  4748.     CurrentValue = Config.Webhooks.SellWebhook.ShowTotalGems,
  4749.     Flag = "ToggleSellShowTotalGems",
  4750.     Callback = function(Value)
  4751.         Config.Webhooks.SellWebhook.ShowTotalGems = Value
  4752.     end
  4753. })
  4754.  
  4755. WebhooksTab:CreateToggle({
  4756.     Name = "Show Bought By",
  4757.     CurrentValue = Config.Webhooks.SellWebhook.ShowPurchasedBy,
  4758.     Flag = "ToggleSellShowBoughtBy",
  4759.     Callback = function(Value)
  4760.         Config.Webhooks.SellWebhook.ShowPurchasedBy = Value
  4761.     end
  4762. })
  4763.  
  4764. if Premium then
  4765. local WebhookSnipingSection = WebhooksTab:CreateSection("Sniping")
  4766.  
  4767. WebhooksTab:CreateToggle({
  4768.     Name = "Start Snipe Webhook",
  4769.     CurrentValue = Config.Webhooks.SnipeWebhook.StartWebhook,
  4770.     Flag = "ToggleStartSnipeWebhook",
  4771.     Callback = function(Value)
  4772.         Config.Webhooks.SnipeWebhook.StartWebhook = Value
  4773.     end
  4774. })
  4775.  
  4776. WebhooksTab:CreateInput({
  4777.     Name = "Discord Webhook",
  4778.     PlaceholderText  = Config.Webhooks.SnipeWebhook.ChoosenWebhook,
  4779.     RemoveTextAfterFocusLost  = false,
  4780.     Callback = function(Value)
  4781.         Config.Webhooks.SnipeWebhook.ChoosenWebhook = Value
  4782.     end
  4783. })
  4784.  
  4785. WebhooksTab:CreateToggle({
  4786.     Name = "Ping User",
  4787.     CurrentValue = Config.Webhooks.SnipeWebhook.PingUser,
  4788.     Flag = "ToggleSnipePingUser",
  4789.     Callback = function(Value)
  4790.         Config.Webhooks.SnipeWebhook.PingUser = Value
  4791.     end
  4792. })
  4793.  
  4794. WebhooksTab:CreateInput({
  4795.     Name = "ID To Ping",
  4796.     PlaceholderText  = Config.Webhooks.SnipeWebhook.ChoosenUserID,
  4797.     RemoveTextAfterFocusLost  = false,
  4798.     Callback = function(Value)
  4799.         Config.Webhooks.SnipeWebhook.ChoosenUserID = Value
  4800.     end
  4801. })
  4802.  
  4803. WebhooksTab:CreateToggle({
  4804.     Name = "Show Gems Sniped For",
  4805.     CurrentValue = Config.Webhooks.SnipeWebhook.ShowGemsSnipedFor,
  4806.     Flag = "ToggleSnipeShowGemsSnipedFor",
  4807.     Callback = function(Value)
  4808.         Config.Webhooks.SnipeWebhook.ShowGemsSnipedFor = Value
  4809.     end
  4810. })
  4811.  
  4812. WebhooksTab:CreateToggle({
  4813.     Name = "Show Gems Remaining",
  4814.     CurrentValue = Config.Webhooks.SnipeWebhook.ShowGemsRemaining,
  4815.     Flag = "ToggleSnipeShowGemsRemaining",
  4816.     Callback = function(Value)
  4817.         Config.Webhooks.SnipeWebhook.ShowGemsRemaining = Value
  4818.     end
  4819. })
  4820.  
  4821. WebhooksTab:CreateToggle({
  4822.     Name = "Show Owner",
  4823.     CurrentValue = Config.Webhooks.SnipeWebhook.ShowOwner,
  4824.     Flag = "ToggleSnipeShowOwner",
  4825.     Callback = function(Value)
  4826.         Config.Webhooks.SnipeWebhook.ShowOwner = Value
  4827.     end
  4828. })
  4829.  
  4830. WebhooksTab:CreateToggle({
  4831.     Name = "Show Strength",
  4832.     CurrentValue = Config.Webhooks.SnipeWebhook.ShowStrength,
  4833.     Flag = "ToggleSnipeShowStrength",
  4834.     Callback = function(Value)
  4835.         Config.Webhooks.SnipeWebhook.ShowStrength = Value
  4836.     end
  4837. })
  4838.  
  4839. WebhooksTab:CreateToggle({
  4840.     Name = "Show Enchants",
  4841.     CurrentValue = Config.Webhooks.SnipeWebhook.ShowEnchants,
  4842.     Flag = "ToggleSnipeShowEnchants",
  4843.     Callback = function(Value)
  4844.         Config.Webhooks.SnipeWebhook.ShowEnchants = Value
  4845.     end
  4846. })
  4847. end
  4848.  
  4849. local ConfigTab = Window:CreateTab("Config (💾)")
  4850.  
  4851. local LoadDeleteSection = ConfigTab:CreateSection("Load/Delete Config")
  4852.  
  4853. ConfigTab:CreateToggle({
  4854.     Name = "Auto Load Config",
  4855.     CurrentValue = IsLoadConfig,
  4856.     Callback = function(Value)
  4857.         IsLoadConfig = Value
  4858.         writefile("MilkUp/PetSimulatorX/GlobalSettings.json", HttpService:JSONEncode({["LoadConfig"] = IsLoadConfig, ["SeparateConfig"] = IsSeparateConfig}))
  4859.         IsLoadConfig = HttpService:JSONDecode(readfile("MilkUp/PetSimulatorX/GlobalSettings.json"))["LoadConfig"]
  4860.     end
  4861. })
  4862.  
  4863. ConfigTab:CreateToggle({
  4864.     Name = "Use Separate Config",
  4865.     CurrentValue = IsSeparateConfig,
  4866.     Callback = function(Value)
  4867.         IsSeparateConfig = Value
  4868.         writefile("MilkUp/PetSimulatorX/GlobalSettings.json", HttpService:JSONEncode({["LoadConfig"] = IsLoadConfig, ["SeparateConfig"] = IsSeparateConfig}))
  4869.         IsSeparateConfig = HttpService:JSONDecode(readfile("MilkUp/PetSimulatorX/GlobalSettings.json"))["SeparateConfig"]
  4870.     end
  4871. })
  4872.  
  4873. ConfigTab:CreateButton({
  4874.     Name = "Save Config",
  4875.     Callback = function()
  4876.         SaveConfig()
  4877.     end
  4878. })
  4879.  
  4880.  
  4881. ConfigTab:CreateButton({
  4882.     Name = "Delete Config",
  4883.     Callback = function()
  4884.         DeleteConfig()
  4885.     end
  4886. })
  4887.  
  4888. local ExtraConfigSection = ConfigTab:CreateSection("Extra Config Options")
  4889.  
  4890. local ConfigInputed
  4891. ConfigTab:CreateInput({
  4892.     Name = "Insert Config",
  4893.     PlaceholderText  = "Insert Here",
  4894.     RemoveTextAfterFocusLost  = false,
  4895.     Callback = function(Value)
  4896.         local ConfigJSONSuccess, ConfigJSONError = pcall(function() HttpService:JSONDecode(Value) end)
  4897.         if ConfigJSONSuccess then
  4898.             ConfigInputed = HttpService:JSONDecode(Value)
  4899.         end
  4900.     end
  4901. })
  4902.  
  4903. ConfigTab:CreateButton({
  4904.     Name = "Set Config",
  4905.     Callback = function()
  4906.         writefile(ConfigName, HttpService:JSONEncode(ConfigInputed))
  4907.     end
  4908. })
  4909.  
  4910. ConfigTab:CreateButton({
  4911.     Name = "Copy Config",
  4912.     Callback = function()
  4913.         setclipboard(readfile(ConfigName))
  4914.     end
  4915. })
  4916.  
  4917.  
  4918.  
  4919. RayField:Notify({
  4920.     Title = "UI Loaded",
  4921.     Content = "Script Took "..tick() - StartTick.. "s",
  4922.     Duration = 3,
  4923. })
  4924.  
  4925. RayField:Notify({
  4926.     Title = "Discord",
  4927.     Content = "Would You Like To Join The Discord To Stay Updated?",
  4928.     Duration = 3,
  4929.     Actions = {
  4930.         SendInvite = {
  4931.             Name = "Yes",
  4932.             Callback = function()
  4933.                 HTTPRequest({ Url = "http://127.0.0.1:6463/rpc?v=1",
  4934.                 Method = "POST",Headers = {["Content-Type"] = "application/json",
  4935.                     ["Origin"] = "https://discord.com"},
  4936.                         Body = game:GetService("HttpService"):JSONEncode({cmd = "INVITE_BROWSER",
  4937.                             args = {code = "tY2TN5mKCb"},
  4938.                                 nonce = game:GetService("HttpService"):GenerateGUID(false)
  4939.                             }
  4940.                         )
  4941.                     }
  4942.                 )
  4943.             end
  4944.         },
  4945.         IgnoreInvite = {
  4946.             Name = "No",
  4947.             Callback = function()
  4948.                 return
  4949.             end
  4950.         },
  4951.     },
  4952. })
  4953.  
  4954. for i,v in pairs(game.Players:GetChildren()) do
  4955.     if v:IsInGroup(5060810) then
  4956.         Player:Kick("A Staff Was In Your Server (Protected By Milk Up)")
  4957.     end
  4958. end
  4959.  
  4960. task.spawn(function()
  4961.     Players.PlayerAdded:Connect(function(NewPlayer)
  4962.         pcall(function()
  4963.             if NewPlayer:IsInGroup(5060810) then                    
  4964.                 Player:Kick("A Staff Has Joined Your Server (Protected By Milk Up)")
  4965.             end
  4966.         end)
  4967.     end)
  4968. end)
  4969.  
  4970. else
  4971.     return
  4972. end
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement