检查实例是否*不*存在 -> "Not a valid member"

Checking if an instance *doesn't* exist -> "Not a valid member"

"checkin is not a valid member of PlayerGui" 在第 2 行

function onClick(plr)
    if game.Players[plr.Name].PlayerGui.checkin ~= nil then
        print('player already has gui')
    else
        if game.ServerStorage.Players[plr.Name].Value == 0 then
            local gui = game.ServerStorage.GUIs.checkin:Clone()
            gui.Parent = plr.PlayerGui
            print('fresh gui being handed to '.. plr.Name)
        end
    end
end
script.Parent.ClickDetector.MouseClick:connect(onClick)

如果实例上不存在成员,Roblox 将立即抛出错误。

如果您不确定给定名称的 child 是否存在,请使用 :FindFirstChild(name)。而不是抛出错误,它只是 returns nil.


注意MouseClick已经给了一个播放器,所以game.Players[plr.Name]真的是多余的。

if plr.PlayerGui:FindFirstChild("checkin") then

最好不要在服务器上处理 GUI。相反,您可以使用 RemoteFunctions/RemoteEvents.

与 LocalScripts 交流他们需要显示的内容