检查实例是否*不*存在 -> "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 交流他们需要显示的内容
"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 交流他们需要显示的内容