When I click on “claim” I don’t get the passes, but in the log it shows a series of messages in “English and Spanish” almost all of them indicate that they are from “MainModule: 31”.
EDIT: I let the messages load for a while and after a while the passes appeared (although not all of them, I don’t know if there is a programmed limit).
I am going to upload the console logs so that you can see the messages, I will also upload the MainModule, could you help me to avoid loading all those unnecessary data and that the passes can appear faster?
At the end of the logs it is shown that after a few minutes the modules 75-76-77-78 are loaded, which are supposed to be the ones that check your account for passes.
MainModule
local module = {}
local dss = game:GetService("DataStoreService")
local http = game:GetService("HttpService")
local mps = game:GetService("MarketplaceService")
local mainStore = dss:GetDataStore("MainDataStore")
module.assetTypeIds = {
["T-Shirt"]=2,
["Shirt"]=11,
["Pants"]=12,
["Pass"]=34,
}
module.getItems = function(assetId,plrId)
local allItems = {}
local success, errormsg = pcall(function()
local done = false
local nextPageCursor
while done == false do
local data
if nextPageCursor then
data = http:GetAsync("https://www.roproxy.com/users/inventory/list-json?assetTypeId="..tostring(assetId).."&cursor="..nextPageCursor.."&itemsPerPage=100&userId="..tostring(plrId))
else
data = http:GetAsync("https://www.roproxy.com/users/inventory/list-json?assetTypeId="..tostring(assetId).."&cursor=&itemsPerPage=100&userId="..tostring(plrId))
end
if data then
data = http:JSONDecode(data)
local items = data["Data"]["Items"]
for _, item in pairs(items) do
table.insert(allItems, item)
print(item["Item"]["Name"])
end
if data["Data"]["nextPageCursor"] then
nextPageCursor = data["Data"]["nextPageCursor"]
--print(nextPageCursor)
else
done = true
end
else
warn("No data.")
end
end
end)
if success then
--print("Successfully retrieved data.")
else
warn(errormsg)
end
local createdByUser = {}
for i, item in pairs(allItems) do
pcall(function()
if (item["Creator"]["Id"] == plrId) and (item["Product"]["IsForSale"] == true) then
table.insert(createdByUser,item)
end
end)
end
--print(createdByUser)
--print(tostring(#createdByUser).." items remain.")
for _, item in pairs(createdByUser) do
--print(item["Item"]["Name"],"-",item["Product"]["PriceInRobux"])
end
return createdByUser
end
module.loadItems = function(stand, plr)
for _, frame in pairs(stand.ItemsPart.Items.ScrollingFrame:GetChildren()) do
if frame:IsA("Frame") then
frame:Destroy()
end
end
local tshirts = module.getItems(module.assetTypeIds["T-Shirt"],plr.UserId)
local passes = module.getItems(module.assetTypeIds["Pass"],plr.UserId)
local shirts = module.getItems(module.assetTypeIds["Shirt"],plr.UserId)
local pants = module.getItems(module.assetTypeIds["Pants"],plr.UserId)
print(#tshirts,"T-Shirts found.")
print(#shirts,"Shirts found.")
print(#pants,"Pants found.")
print(#passes,"Passes found.")
local allItems = {}
local tble = {tshirts,passes,shirts,pants}
for _, itemType in pairs(tble) do
for _, item in pairs(itemType) do
table.insert(allItems,item)
end
end
--print("Total items found:",#allItems)
table.sort(allItems, function(a, b)
return a["Product"]["PriceInRobux"] < b["Product"]["PriceInRobux"]
end)
for _, item in pairs(allItems) do
if stand.ClaimedUserName.Value == plr.Name then
local frame = script.Template:Clone()
frame.ItemID.Value = item["Item"]["AssetId"]
frame.Cost.Value = item["Product"]["PriceInRobux"]
frame.ItemTypeId.Value = item["Item"]["AssetType"]
frame.RobuxCost.Text = "$"..tostring(item["Product"]["PriceInRobux"])
frame.Parent = stand.ItemsPart.Items.ScrollingFrame
end
end
end
module.clearStand = function(stand)
--print("Clearing stand...")
stand.SignPart.SurfaceGui.UserMessage.Text = "your text here"
stand.Base.ClaimPrompt.Enabled = true
stand.Base.ClaimedInfoDisplay.Enabled = false
stand.Base.Unclaimed.Enabled = true
stand.Claimed.Value = false
stand.ClaimedUserName.Value = ""
for _, frame in pairs(stand.ItemsPart.Items.ScrollingFrame:GetChildren()) do
if frame:IsA("Frame") then
frame:Destroy()
end
end
end
module.updateStandsEarned = function()
for _, stand in pairs(game.Workspace.Stands:GetChildren()) do
if stand.Claimed.Value == true then
local plr = game.Players:FindFirstChild(stand.ClaimedUserName.Value)
if plr then
stand.Base.ClaimedInfoDisplay.UserRaised.Text = "R$"..tostring(plr.leaderstats.Raised.Value).." Raised"
else
--print("no player but claimed")
end
end
end
end
module.findItem = function(itemID)
for _, stand in pairs(game.Workspace.Stands:GetChildren()) do
for _, frame in pairs(stand.ItemsPart.Items.ScrollingFrame:GetChildren()) do
if frame:IsA("Frame") then
if frame.ItemID.Value == itemID then
return frame
end
end
end
end
end
return module
LOGS Screen

LOGS Raw
https://pastebin.com/raw/FFAn24yT