尝试使用“leaderstats”索引 nil

Posted

技术标签:

【中文标题】尝试使用“leaderstats”索引 nil【英文标题】:Attempt to index nil with 'leaderstats' 【发布时间】:2022-01-05 04:40:20 【问题描述】:

所以基本上我想制作一款塔防游戏,我添加了一个按钮,点击后会在带有 AI 的塔/机器人中生成。 (脚本是本地的)尝试使用'leaderstats'索引 nil 总是让我出错。 (我知道这意味着游戏不知道leaderstats 是什么),我制作了一个脚本,在播放器内部创建了名为leaderstats 的文件夹,里面有硬币和其他东西,但它仍然不知道有一个leaderstats 文件夹。我也尝试了 FindFirstChild(),但它只是说尝试使用 'FindFirstChild' 索引 nil。谁能帮帮我?

local button = script.Parent

button.MouseButton1Click:Connect(function(player)
        local spawner = game.Workspace.ts1
    local money = player.leaderstats.Cash.Value
        if money >= 250 then
            money = money - 250
            local clone = game.ReplicatedStorage.Allies.Guard:Clone()
            clone.Parent = workspace
            clone.HumanoidRootPart.CFrame = spawner.HumanoidRootPart.CFrame
        else
            if money <= 250 then
            button.BackgroundColor3 = Color3.new(1, 0, 0)
            button.Text = "Too Expensive"
            wait(0.5)
            button.Text = "Guard [250$]"
                button.BackgroundColor3 = Color3.new(0.603922, 0.603922, 0.603922)

            end
        end
    end)

【问题讨论】:

Attempt to index nil with 'leaderstats'. (I know that this means the game doesnt know what leaderstats is) - 不。这意味着playernil 【参考方案1】:

MouseButton1 event on GuiButtons 不提供任何参数,因此您的 player 变量最终为零。当你尝试说 player.leaderstats 时,它会抛出错误,因为 player 没有任何子元素或要索引的属性,因为它是 nil。

但由于这是一个 LocalScript,您可以使用 Players.LocalPlayer 对象轻松访问 Player 对象。

local button = script.Parent
button.MouseButton1Click:Connect( function()
    local player = game.Players.LocalPlayer

【讨论】:

尝试索引 nil 已修复,但我还有另一个问题:每当“守卫”出现时,他的 AI 脚本就无法工作……有什么解决办法吗?也不收你的钱 关于钱,见this answer。我不知道为什么 AI 脚本不起作用,您需要自己解决这个问题。 最后,3 个月后我决定再做一次。我现在得到了钱和塔 AI:塔 AI 坏了,因为本地脚本在 GUI 中生成了它。我使用了远程事件,现在它可以工作了。只剩下一个错误:在游戏中,您每 5 秒获得 10 现金。当您购买塔时,您会损失 250 现金,但在 5 秒后您获得 10 现金后,您会从购买塔中获得损失的现金..? 没关系,我可能已经意识到原因:因为它是本地脚本,所以请改用普通脚本 我使用了普通脚本,它工作正常,现在我终于可以开始对我的塔防游戏进行重大更新了,非常感谢

以上是关于尝试使用“leaderstats”索引 nil的主要内容,如果未能解决你的问题,请参考以下文章

尝试使用 'Value' 索引 nil

尝试使用 'Connect' With Changed 事件对 nil 进行索引

尝试在 lua 中索引一个 nil 值

将八个对象铲入每个数组索引 ruby

索引超出范围数据 nil swift 3

IOS/Objective-C:查找字符串中单词的索引