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.
Hey bulder251,
I think i see the issue. I believe that your issue is coming from the fact that you are trying to delete the GUI from the StarterGui. When the player loads in the game, if my memory serves correct, a copy of the GUI is made in PlayerGui. I believe that your script should destroy it there instead of from StarterGui. Hope this helps! :D