Roblox 如何检测玩家的团队
Roblox How to detect a player's team
我正在制作 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: attempt to index a nil value
我做错了什么?
编辑:我发现它无法在 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: attempt to index local 'plr' (nil value)
Edit2:现在我尝试打印 plr (game.Player:FindFirstChild(hit.Parent.Name)) 并且它是“Miniller”,而不是 'Miniller',现在我没有得到任何错误,但下面的代码也没有做任何事情..
我通过不使用变量而不是 "Police" 解决了它,它是 game.Teams.Police,所以代码:
if (game.Players:FindFirstChild(hit.Parent.Name).Team = game.Teams.Police
...
我正在制作 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: attempt to index a nil value
我做错了什么?
编辑:我发现它无法在 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: attempt to index local 'plr' (nil value)
Edit2:现在我尝试打印 plr (game.Player:FindFirstChild(hit.Parent.Name)) 并且它是“Miniller”,而不是 'Miniller',现在我没有得到任何错误,但下面的代码也没有做任何事情..
我通过不使用变量而不是 "Police" 解决了它,它是 game.Teams.Police,所以代码:
if (game.Players:FindFirstChild(hit.Parent.Name).Team = game.Teams.Police
...