尝试使用 'TookMoney' 索引 nil


local me = script.Parent
local players = game:GetService("Players")
me.Touched:Connect(function(Hit)
local player = players:GetPlayerFromCharacter(Hit.Parent)
if player.TookMoney.Value == true then
player.TookMoney.Value = false
end
end)

它必须使TookMoney。Value = false但是显示"attempt to index nil with 'TookMoney' -script:6"

touched事件在所有对象上触发,包括非玩家。因此players:GetPlayerFromCharacter可以返回nil。执行nil检查,例如:

me.Touched:Connect(function(Hit)
local player = players:GetPlayerFromCharacter(Hit.Parent)
if player and player.TookMoney.Value == true then
player.TookMoney.Value = false
end
end)

根据你的设置,你也可以检查玩家是否有TookMoney

最新更新