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

Why does the Spawn GUI still appear even if people don't own the gamepass?

I have this script in a GUI that detects if a player owns a Gamepass, it then deletes the script. However, every time someone joins, some appear as Spawn, yet they don't own the gamepass! Anyone see an issue with the script?

passid = 158752762

local GamePassService = game:GetService("GamePassService")
function respawned(char)
local player = game.Players:FindFirstChild(char.Name)

if char:FindFirstChild("Head") ~= nil then
wait (0.01)
if GamePassService:PlayerHasPass(player, passid) then
script.Parent.Parent.Spawn.Visible = true
wait()
script.Parent:remove()
else

end
end
end
game.Workspace.ChildAdded:connect(respawned)

Cheers in advanced,

Michael

1 answer

✓ Accepted answer
passid = 158752762

local GamePassService = game:GetService("GamePassService")
function respawned(char)
local player = game.Players:FindFirstChild(char.Name)

if GamePassService:PlayerHasPass(player, passid) then
script.Parent.Parent.Spawn.Visible = true
else
script.Parent:remove()
wait(.01)
end
end
game.Workspace.ChildAdded:connect(respawned)

script.Parent:remove() was located wrong, it is supposed to be after else, so if they dont have the passid it gets removed.

4 comments

0

You don't need a wait() in the script, it's quite unnecessary. Also, you don't always need a number in between the parenthesis of wait().

0

its quite an annoying habit of mine :/. I have a habit of typing local text constantly.

0

Thanks again iNicklas! BTW, weren't you the one that gave me this script like 2 days ago?!?! xD

0

tru that xd, but i did put script.Parent the right place :P

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