Workspace.Coin.SpinningCoin:7:尝试用 'leaderstats' 索引 nil

Workspace.Coin.SpinningCoin:7: attempt to index nil with 'leaderstats'

以下代码在 95% 的情况下都有效,但偶尔会失败,我不知道为什么。奇怪的是脚本的其余部分仍在运行,打印行有效并且添加了现金。 Roblox Studio 是有问题还是我做错了什么? - 顺便说一句,我有 10 次重生,这就是为什么我得到 35 现金而不是 10。

`script.Parent.Touched:Connect(function(hit)

    local plr = game.Players:GetPlayerFromCharacter(hit.Parent)
    local GiveCash = 10
    local RebirthMultiplier = 0.25
    cash = plr.leaderstats.Cash.Value 
    print(cash)
    rebirths = plr.leaderstats.Rebirths.Value
    print(rebirths)
    
    script.Disabled = true
    script.Parent.Transparency = 1
    script.Parent.CanCollide = false    
    plr.leaderstats.Cash.Value = cash + GiveCash + (rebirths * GiveCash * RebirthMultiplier)
    wait(3)
    script.Parent.Transparency=0
    script.Parent.CanCollide = false
    script.Disabled = false

end)`

Roblox Studio Output

Touched 信号会在任何东西接触到它时触发,包括非玩家角色模型的物体。您需要考虑 Players:GetPlayerFromCharacter 不是 return 玩家的可能性。

script.Parent.Touched:Connect(function(hit)
    local plr = game.Players:GetPlayerFromCharacter(hit.Parent)
    if not plr then
        return
    end