我正在制作Roblox游戏,我需要以某种方式检测玩家的队伍。 我的代码当前如下所示:
script.Parent.Touched:Connect(function(part)
local plr = part.Parent.Name
if (game.Players:FindFirstChild(plr).Team == "Police") then
....
end
end)
当我触摸该部分(它是一堵看不见的墙)时,它给了我一个错误:Workspace.Part.Script:3:尝试索引一个nil值
我在做什么错?
编辑:我发现它在game.players中找不到我的名字,因为现在我尝试:
script.Parent.Touched:Connect(function(hit)
local plr = game.Players:FindFirstChild(hit.Parent.Name)
if (plr.Team == "Police") then
...
现在我得到Workspace.Part.Script:3:尝试索引本地'plr'(nil值)
Edit2:现在我尝试打印plr(game.Player:FindFirstChild(hit.Parent.Name)),它是'Miniller',而不是'Miniller',现在我没有遇到任何错误,但是下面的代码也什么也没做。
答案 0 :(得分:0)
我通过不使用变量而不是“警察”来解决它,这是game.Teams.Police,所以代码:
if (game.Players:FindFirstChild(hit.Parent.Name).Team = game.Teams.Police
...