Scripting HelpersARCHIVE
A little piece of Roblox history. Preserved for everyone, one question at a time.Read about the archive →
✓ ANSWER ACCEPTED

Open Frame If Player Owns Pass?

I have a textbutton and you click it and its supposed to open a frame ONLY if you have a gamepass, but it doesnt work? Why not though..

local frame = script.Parent.Parent.Parent.TeleportFrame
local player = game.Players.LocalPlayer
local id = 7617401

script.Parent.MouseButton1Click:Connect(function()
	if game:GetService("MarketplaceService"):PlayerOwnsAsset(player, id) then
		frame.Visible = not frame.Visible
	else
		game:GetService("MarketplaceService"):PromptGamePassPurchase(player, id)
	end
end)

1 comment

2

Use PlayerOwnsGamePassAsync.

2 answers

use UserOwnsGamePassAsync


script.Parent.MouseButton1Click:Connect(function()
local id = YOUR_ID_HERE

game:GetService("MarketplaceService").PromptGamePassPurchaseFinished:Connect(function(plr,ido,purchased)
	if purchased and ido == id then
		script.Parent.Parent.Parent.TeleportFrame.Visible = true
	end
end)

game.Players.PlayerAdded:Connect(function(plr)
	plr.CharacterAdded:connect(function(char)
		if game:GetService("MarketplaceService"):UserOwnsGamePassAsync(game.Players[char.Name].UserId, id) then
			script.Parent.Parent.Parent.TeleportFrame.Visible = true
		end
	end)
end)

 
 

This discussion is preserved as it was. New answers, comments, and votes are closed.