How to get assets out of inventories

Yeah, the closest I can get to is this, but it only returns 1 item oddly. I’ll see what I can find elsewhere.

thats actually good, i could use a loop, but before i do can you explain or give an example of ur script?

I tried getting the 2nd page number but it was empty. OH, it’s because it only searches for models, hold on.

Nevermind, that’s not possible too. I don’t understand why it doesn’t support animation assets.

Neither do why it’s documented as a “response”.

a probably to prevent animation theft, which doesnt make any sense considering you could take an id and just make it ur own

do you mind showing me the script

This is the only script that I wrote.

1 Like

so its truly impossible, this is bad. Thanks tho! i appreciate ur help, but i’ll just have to move onto another game.

It’s alright, at least you learnt something from the catalog API, haha. Honestly, even if you wanted to play an animation from a different group or game, it’d not play. The only use for this is to get general information of it overall (like description), which is easily used from MarketplaceService:GetProductInfo(assetId), but only for a specific asset.

well thats not what i wanted it for, i actually used an external program to transfer animations from my account to my group, its over 200 animations, im too lazy to assign each animation to their animation holder since my game has over 80 animation holders ready to be changed. its just too much work and not worth it even tho i spent 4 months on that game.

Yeah, just pointing it out. It’d work for sure if animations were supported, but tough luck, just default avatar animations are. I hope you find some motivation to carry on, though!

1 Like

i have good news, spent several days making a script that gets items from the websites and match all its properties of the animations ingame then reassign them, because all my animations were uploaded in a range of 50,000 by id, i made it so it goes through over 50,000 interations of doing what i said earlier.

surprisingly short script

 local tab = {}


 wait(5)

for i = 150, 1, -1 do

local low = 100000000000

local chosen = nil

 for i, v in ipairs(script.Parent:GetDescendants()) do
	if v:IsA("Animation") and v.Name == "shoot" and not table.find(tab, v) then
	
	local str = ""..v.AnimationId
	local newStr, replaced = string.gsub(str, "rbxassetid://", "")
	
	if tonumber(newStr) < low then
		chosen = v
			low = tonumber(newStr)
			end
	
   end
 end

 table.insert(tab, chosen)
 end


   local function test(asset)

local Success, Asset = pcall(game:GetService("InsertService").LoadAsset, 
 game:GetService("InsertService"), asset)

if Success then
	local beep = game:GetService("InsertService"):LoadAsset(asset)
	beep.Parent = workspace	

	for i, v in ipairs(tab) do

		local str = ""..v.AnimationId
		local newStr, replaced = string.gsub(str, "rbxassetid://", "")

		local Success2, Asset2 = pcall(game:GetService("InsertService").LoadAsset, 
  game:GetService("InsertService"), tonumber(newStr))

		if Success2 then
			local bap = game:GetService("InsertService"):LoadAsset(tonumber(newStr))
			bap.Name = "Ingame"


			local nope = false

			local new = {}

			local amount1 = 0
			local amount2 = 0
			local amount1p = 0
			local amount2p = 0

			for ir, vr in ipairs(bap:GetDescendants()) do
				if vr:IsA("Pose") then
					amount1 = amount1 + 1

				end
			end


			for it, vt in ipairs(beep:GetDescendants()) do
				if vt:IsA("Pose") then
					amount2 = amount2 + 1

					table.insert(new, vt)
				end
			end



			for ir, vr in ipairs(bap:GetDescendants()) do
				if vr:IsA("Keyframe") then
					amount1p = amount1p + 1
				end
			end


			for it, vt in ipairs(beep:GetDescendants()) do
				if vt:IsA("Keyframe") then
					amount2p = amount2p + 1

				end
			end


			if amount1p == amount2p then

				if amount1 ~= amount2 then

					nope = true

				else

					local actualam = 0
					local alreadychecked = {}

					for ip, v2 in ipairs(bap:GetDescendants()) do
						if v2:IsA("Pose") then
							for it, vt in ipairs(beep:GetDescendants()) do
								if vt:IsA("Pose") then
									if vt.CFrame == v2.CFrame and it == ip and vt.Name == v2.Name and not 
         table.find(alreadychecked, vt) then
										table.insert(alreadychecked, vt)
										actualam = actualam + 1
									end
								end
							end

						end
					end


					if actualam == amount2 then

					else

						nope = true
					end


				end
			else
				nope = true
			end


			if nope == false then
				print(v.Parent.Parent.Name)
				v.AnimationId = "rbxassetid://"..asset

			end

			bap:Destroy()

		end
	end

	beep:Destroy()
end



end

 local asset = 7251678322

spawn(function()
 for i = 80000, 1, -1 do
	test(asset)
	asset = asset + 1
  end
  print("DONEEE")
end)
1 Like