We need a way to check if someone is part of a game's paid access

Currently the only way to do so is by using DataStore, however this only works for players who actually join the game after buying it.
Yes, edge cases, but still Robux spent.

I think a good way would be to somehow do :PlayerOwnsAsset(PlaceId) or maybe :PlayerHasGameAccess(PlaceId).

Often paid access is used for early access, and is also paired with things like getting exclusive items. These rewards usually last beyond the early access - meaning checks need to be done to whether they bought access or not.


Just now I was discussing with Sublivion how early access should be done. Unfortunately, they opened the game to paid access basically as soon as it started being developed, and had ~60 in total buy access.

However, since you can’t properly check whether someone bought access after the game is no longer paid access, I was pushing for gamepasses (which also opens up having different levels of access) and a player-kicker scripter with a whitelist.

4 Likes

Does this not do the trick anymore?

hasAccess = MarketplaceService:PlayerOwnsAsset(plr, IDofPaidAccessGame)

6 Likes

Did it used to work? I haven’t had the opportunity to actually test it in a while.

My common sense says that is whether someone owns the place or not, since players can’t own a place like a shirt.
Personally if this still works I think there needs to be a less obscure way to do it.

I probably should’ve researched this fully before I made the post smh

Yes I think that still works.

I made a free trial of one of my paid access games. It automatically teleported the player to the full game if they owned the full version. I used PlayerOwnsAssst and it works

10 Likes

This topic was automatically closed 14 days after the last reply. New replies are no longer allowed.