LocalScript inside StarterGui
Checks if the player has game pass and then does the thing, but only works when player resets and not when he joins the game
So if you bought a game pass ( gear ) left the game, rejoined It wouldn't give it to you unless you reset.
local MarketplaceService = game:GetService("MarketplaceService")
local Players = game:GetService("Players")
local player = game.Players.LocalPlayer
local GamePassID = 7411543
function onCharacterLoaded(Character)
local check = MarketplaceService:UserOwnsGamePassAsync(player.UserId, GamePassID)
if check then
print("this should print when the player joins, but it doesn't pls help")
end
end
player:GetPropertyChangedSignal("Character"):Connect(onCharacterLoaded)
Again it works when player resets and that good, but not when the player joins.

2 comments
yeah youre right I should do this using script instead
You're welcome!