I don’t think this works
I checked that this user has many gamepasses made by herself, but with roproxy, it returns nothing. And the ‘End’ value is -1, which is wrong since the page starts from 1. How can there be -1?
I got the same problem with this script.
It only work is players have set their inventory visibility to everyone.
Mine is only visible for my friend, users I follow and users who follow me and it don’t work.
So why I can see my gamepasses in famous games like Pls Donate or Pls Buy Me?
If you’ve ever set that setting to ‘Everyone’ and joined Pls Donate, maybe the game saved your asset&gamepass info.
Otherwise, Pls Donate just uses another way to access your account inventory info.
We just don’t know the details
My friend found a kit with this script inside.
It only work with gamepasses but players don’t need to set your inventory access to everyone.
HttpService = game:GetService("HttpService")
return function(player, assetId)
local userId = player.UserId
local gamepasses = {}
local GetGamesUrl1 = "https://games.RoProxy.com/v2/users/"
local GetGamesUrl2 = "/games?accessFilter=Public&sortOrder=Asc&limit=10"
local getGamesUrl = GetGamesUrl1..userId..GetGamesUrl2
local success,result = pcall(function()
return HttpService:GetAsync(getGamesUrl)
end)
if success then
pcall(function()
result = HttpService:JSONDecode(result)
for _,GameInfo in pairs(result["data"]) do
local gameId = GameInfo.id
local url = "https://games.RoProxy.com/v1/games/%s/game-passes?limit=100&sortOrder=Asc"
url = url:format(gameId)
local success2,result2 = pcall(function()
return HttpService:GetAsync(url)
end)
if success2 then
result2 = HttpService:JSONDecode(result2)
for _,GamepassDetail in pairs(result2["data"]) do
local gamepassId = GamepassDetail.id
table.insert(gamepasses,gamepassId)
end
end
end
end)
end
return gamepasses
end
This script works perfectly for the question asked above, because it doesn’t require access to the player’s inventory. It scans their public games and lists the gamepasses they have for sale on those games.
The only change I needed to make was changing “limit=10” to “limit=50” for people who tend to make a lot of games. You could also page through them, if you wanted to go the extra mile.
I think you could deploy one with heroku. But if you want to use this for a huge game that sends over thousands of requests per day you would need to pay for the hosting. (You also need to add a payment method in order to deploy something. Keep that in mind)
This does not work - success
is false (I’ve tried printing it) and therefore it keeps returning blank tables
Hi, I can send you my system if you want. The guy I made it for scammed me a few months ago.
I’m a bit late, but it would be very much appreciated if you still have it and are willing to send it.
If you’re willing to set up a web-server, I developed a JavaScript program that collects much more than a user’s game-passes. You can fork the API endpoints used by the program and convert the program’s code to Luau as well. Here is the repository
I won’t give you all my scripts, but this script on the server-side should get you very far.
local http = game:GetService("HttpService")
local function getGamepasses(plr, user, gamepasses, pageNumber, lastLength)
gamepasses = gamepasses or {}
pageNumber = pageNumber or 1
lastLength = lastLength or math.huge
local requestUrl = "https://games.RoProxy.com/v2/users/"..user.."/games?accessFilter=Public&sortOrder=Asc&limit=50"
local success, result = pcall(function()
return http:GetAsync(requestUrl)
end)
if success then
pcall(function()
local alldata = http:JSONDecode(result)
for _,GameInfo in pairs(alldata["data"]) do
local gameId = GameInfo.id
local url = "https://games.RoProxy.com/v1/games/"..gameId.."/game-passes?limit=100&sortOrder=Asc"
local success2,result2 = pcall(function()
return http:GetAsync(url)
end)
if success2 then
result2 = http:JSONDecode(result2)
for _,GamepassDetail in pairs(result2["data"]) do
local gamepassId = GamepassDetail.id
table.insert(gamepasses,gamepassId)
end
end
end
end)
else
warn(result)
getGamepasses(plr, user, gamepasses, pageNumber, lastLength)
end
return gamepasses
end
game.ReplicatedStorage.GetGamepasses.OnServerInvoke = getGamepasses
I use this, and when I am printing the gamepasses they have, it prints all of them 3 times.
it keeps saying http 404 not found
There has been a large effort to refactor Roblox’s public API, which has now been dubbed “Open Cloud”. You can learn all about it on the Open Cloud documentation page. The inventory API got a large overhaul, which leads me to believe the legacy API was sunsetted or damaged in this process. The new inventory API still enables you to read a player’s game-passes using the following endpoint:
You can learn more about the new API here (landing) and here (API reference). You’re required to create an API key for all Open Cloud interactions; you can learn how to do that here. This will require you to add an x-api-key
header to all of your GET requests, so study how either HttpService:GetAsync or HttpService:RequestAsync enables you to do that.
At the time of this reply, “apis.roproxy.com” is a valid domestic bypass URL
Thx for the response
Kkkkkkkkkkkk
char limit that y I spammed
So basically I gotta learn http service respectively?
If you are not already comfortable with it, yes. That is how you make HTTP request within a Roblox game. However, if you’re making an external application, you’ll need to research which HTTP library is best suited for your needs. Most modern languages come with some sort of native HTTP library. Open Cloud is ultimately designed for external use
So for a game to show a players game pass I need to use http service, thanks for the response! Appreciate it!
Game-passes that they own. This is largely populated by other games’ game-passes. If you intended to display a player’s public assets for sale, say, for a Donate Me game, you’ll have to filter for game-passes created by that player, especially ones for sale. There is ultimately more you can find about a player’s marketable assets, which increases donation opportunities. You can investigate this proof-of-concept GitHub repository I developed for doing just that. It was designed for external use, however, so it may be difficult to dissect
Okay, thanks will read about it