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

image

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