In order to keep my game safe I would like to delete a ScreenGui that I called VIPGui if a player does not own a game pass. If they do own the game pass then I would like the Gui to not be deleted, if that makes sense. I used a local script and inserted it into the VIPGui. I wrote the following:
local MS = game:GetService("MarketplaceService") local gamepassid = 0 (I did insert my real game pass id in studio) if MS:UserOwnsGamePassAsync(game.Players.LocalPlayer.userId, gamepassid) == false then
script.Parent:Destroy()
end
It did not work so I did the same thing again:
local MS = game:GetService("MarketplaceService") local gamepassid = 0 if MS:UserOwnsGamePassAsync(game.Players.LocalPlayer.userId, gamepassid) == false then
game.StarterGui.VIPGui:Destroy()
end
It still did not work. I checked the output and it was not giving any feedback? I did not own the game pass so it should have deleted but it did not, and my friend did own the game pass and it dd not delete either, which is good, but I believe it is because it did not work. If anyone could please explain, I would appreciate that! Thanks.

9 comments
So you are saying I go from the game to the PlayerGui?Alrighty thanks, I will do that now! :D
Yes. Instead of doing "game.StarterGui.VIPGui:Destroy()" you would do something like this "game.Players.LocalPlayer.PlayerGui.VIPGui:Destroy()".
Ok! :D
It says UserID is not a valid member of Player
local MS = game:GetService("MarketplaceService") local ID = 0 if MS:UserOwnsGamePassAsync(game.Players.LocalPlayer.UserID, ID) == false then game.Players.LocalPlayer.VIPGui:Destroy() end
"game.Players.LocalPlayer.VIPGui:Destroy()" you forgot PlayerGui after local player. So like this. "game.Players.LocalPlayer.PlayerGui.VIPGui:Destroy()". Not sure why its giving you that issue but maybe this will fix it?
Should it be a local script under the gui?
Yes, local script
So, has it fixed the issue?