Oh lmao, thought this was what you were using. Could you show me where you get the other user’s gamepasses?
I could but you don’t need it. It’s pretty much just a script that instead of printing (like the script i provided) inserts them into a GUI
So yeah, it prints 0 for everyone except me.
I think the issue is that they have their inventory settings set to something below everyone.
Sorry but could you try running the script on both of our userId’s?
That would make the issue clear I think
Sure, let me update studio real quick (I haven’t opened it in a while)
The script you posted is making a request to the RoProxy website to retrieve a list of game passes that the specified user has created. It seems that the issue you are experiencing is that the script is only returning game passes created by the user specified in the getUserCreatedGamepassesRecursive function, rather than game passes owned by the user.
To retrieve game passes owned by a user, you can make a request to the Roblox API to get a list of game passes owned by a user. You will need to use an access token with the ReadInventory
scope to make this request. Here is an example of how you can do this using the HttpService
:
local http = game:GetService("HttpService")
local userId = 856770377
local apiUrl = "https://api.roblox.com/Ownership/HasAsset?userId="..userId.."&assetId=%s"
local function getUserOwnedGamepasses(userId)
local ownedGamepasses = {}
-- Make a request to the Roblox API for each game pass to check if the user owns it
for assetId = 1, 100 do
local requestUrl = apiUrl:format(assetId)
local success, result = pcall(function()
return http:GetAsync(requestUrl)
end)
if success then
if result == "true" then
table.insert(ownedGamepasses, assetId)
end
else
warn(result)
end
end
return ownedGamepasses
end
local userGamepasses = getUserOwnedGamepasses(userId)
print(#userGamepasses)
for _, gamepassId in ipairs(userGamepasses) do
print(gamepassId)
end
This script will make a request to the Roblox API for each game pass from ID 1 to ID 100, and check if the specified user owns the game pass. If the user does own the game pass, the asset ID will be added to the ownedGamepasses table. At the end, the ownedGamepasses table will contain the IDs of all game passes that the user owns.
The purpose of it was to retrieve the gamepasses they have created, not owned. It was not a mistake.
Well looking at mine, it doesn’t show anything. I will turn my inventory to everyone and check again.
Okay, yes, it is because I had my inventory set to no one. It shows all of my gamepasses now instead of none.
I apologize for misunderstanding the purpose of the script. To retrieve game passes created by a user, you can use the Roblox API to get a list of assets owned by a user, and then filter the results to only include game passes. You can use the AssetTypeId
field in the response to determine the type of asset, and check if it is a game pass ( AssetTypeId
of 8).
Here is an example of how you can do this using the HttpService:
local http = game:GetService("HttpService")
local userId = 856770377
local apiUrl = "https://api.roblox.com/Ownership/v1/Owners/Users/%s/Assets/Infinite?limit=1000"
local function getUserCreatedGamepasses(userId)
local createdGamepasses = {}
-- Make a request to the Roblox API to get a list of assets owned by the user
local requestUrl = apiUrl:format(userId)
local success, result = pcall(function()
return http:GetAsync(requestUrl)
end)
if success then
local assets = result:match("%b{}")
assets = assets and game:GetService("HttpService"):JSONDecode(assets)
if assets then
-- Iterate through the assets and add game passes to the createdGamepasses table
for _, asset in ipairs(assets) do
if asset.AssetTypeId == 8 then
table.insert(createdGamepasses, asset.AssetId)
end
end
end
else
warn(result)
end
return createdGamepasses
end
local userGamepasses = getUserCreatedGamepasses(userId)
print(#userGamepasses)
for _, gamepassId in ipairs(userGamepasses) do
print(gamepassId)
end
This script will make a request to the Roblox API to get a list of assets owned by the specified user, and then iterate through the assets to find game passes (assets with an AssetTypeId
of 8). The IDs of the game passes will be added to the createdGamepasses
table, which will be returned at the end.
Not sure what you’re leading him to, but that API doesn’t exist…?
He might just be using chatgbt it usually just makes up stuff
Well, as I had said, there probably isn’t a way around checking the user’s inventory and going through those gamepasses to find ones that they own, which won’t work if they have their inventory set to no one. But, you may be able to iterate through the games that they have created, and check the gamepasses under those games.
It might just be a roproxy issue, it was working around a month ago.
Anyways the other guy is 100% using chatgpt, i know because it always responds with “I apologize for the error in my previous response.” when you point out an error in a script.
No, the issue is that they have their inventory private. Try turning your inventory to something other than “Everyone,” and roproxy will provide an empty list of items.
they don’t thats the problem, ive tried from accounts where they arent friended to me.
He’s been using ChatGPT for most of his responses in posts. It’s kinda annoying.
Stop using ChatGPT to reply, it’s annoying and not helpful.
Could someone please try and run the script with my id? (its already there)
If you cannot retrieve my gamepasses that would mean the problem is not being able to check others gamepasses.
If you succeed to retrieve my gamepasses it would mean that it is an inventory setting problem
Not sure why you’re replying to me there.