I need to find out all clothing a player is selling (Like if they’re selling a t-shirt or pants it’ll return id for it)
Is this even possible? It’s for a commission
Couldn’t find anything on the devforum or the wiki
I need to find out all clothing a player is selling (Like if they’re selling a t-shirt or pants it’ll return id for it)
Is this even possible? It’s for a commission
Couldn’t find anything on the devforum or the wiki
I think it is possible because, In roblox there is a game called DONATE ME, I think, and somehow it knows the gamepasses and all the T-shirts and pants that you sell.
theres a lot of source you can use to fetch all the player’s clothing and might also return if its for sale
or if it doesnt
you use GetProductInfo() from MarketService it returns the product sale status
local HttpService = game:GetService("HttpService")
local URL = "https://robloxdevforumproxy.glitch.me/users/inventory/list-json?assetTypeId=%s&cursor=&itemsPerPage=100&pageNumbersortOrder=Desc&userId=%s"
local data = HttpService:GetAsync(URL:format(assetType, userId), true)
print(data["Items"]) --// All items of the player with the assettype, to check if they are selling u can just do data["Items"][itemIndex]["Product"]["IsForSale"]
There has been a high demand for scripts like this recently. If you need to check all clothing (not just t-shirts) you’d just remove the &SubCategory=13
query parameter from the URL being scraped in the script from the linked post.
local marketplace = game:GetService("MarketplaceService")
local http = game:GetService("HttpService")
local getProductInfo = marketplace.GetProductInfo
local getAsync = http.GetAsync
local jsonDecode = http.JSONDecode
local clothingUrl = "https://catalog.roproxy.com/v1/search/items/details?Category=3&CreatorType=1&CreatorTargetId=%s&Cursor=%s"
local function getClothingRecursive(userId, cursor, clothing, maxTries)
cursor = cursor or ""
clothing = clothing or {}
maxTries = maxTries or 10
if maxTries == 0 then return end
maxTries -= 1
local requestUrl = clothingUrl:format(userId, cursor)
local success, result = pcall(getAsync, http, requestUrl)
if success then
if result then
local success2, result2 = pcall(jsonDecode, http, result)
if success2 then
if result2 then
for _, clothingItem in ipairs(result2.data) do
table.insert(clothing, clothingItem.id)
end
cursor = result2.nextPageCursor
if cursor then
return getClothingRecursive(userId, cursor, clothing, maxTries)
else
return clothing
end
end
else
warn(result2)
task.wait()
return getClothingRecursive(userId, cursor, clothing, maxTries)
end
end
else
warn(result)
task.wait()
return getClothingRecursive(userId, cursor, clothing, maxTries)
end
end
local function getAssetPrice(assetId)
local success, result = pcall(getProductInfo, marketplace, assetId)
if success then
if result then
return result.PriceInRobux
end
else
warn(result)
end
end
local userClothing = getClothingRecursive(1)
for _, clothingId in ipairs(userClothing) do
local clothingPrice = getAssetPrice(clothingId)
if clothingPrice then
print(clothingId.." "..clothingPrice)
end
end
Output format is asset ID followed by asset price:
I queried Roblox’s clothing to test (user ID 1).