尝试索引全局';消息';(零值)Lua消息脚本

尝试索引全局';消息';(零值)Lua消息脚本,lua,roblox,Lua,Roblox,目前,我正在编写一个简单的Lua Roblox脚本,当任何玩家在聊天中输入“/blue”时,该脚本应该将父部分变成蓝色。运行时,它在输出中返回错误“尝试索引全局‘消息’(一个nil值)”。此外,当我将光标悬停在“消息”上时,它会显示“未知全局‘消息’”。我确信我做错了什么,因为我对这门语言还不熟悉。我尝试过将脚本移动到工作区和聊天室(当然,当我这样做时会更改本地部分),但这些都没有帮助。我相信这是一个专门定义全局变量的代码问题 local part = script.Parent local

目前,我正在编写一个简单的Lua Roblox脚本,当任何玩家在聊天中输入“/blue”时,该脚本应该将父部分变成蓝色。运行时,它在输出中返回错误“尝试索引全局‘消息’(一个nil值)”。此外,当我将光标悬停在“消息”上时,它会显示“未知全局‘消息’”。我确信我做错了什么,因为我对这门语言还不熟悉。我尝试过将脚本移动到工作区和聊天室(当然,当我这样做时会更改本地部分),但这些都没有帮助。我相信这是一个专门定义全局变量的代码问题

local part = script.Parent

local function scan()
    if message:sub(1,5) == "/blue" then
        part.BrickColor = BrickColor.Blue()
    end
end

scan()
首先,您没有定义“message”,因为“message”应该是

player.Chatted()
因此,不只是运行scan(),而是创建多个函数,下面是修改后的代码:

local part = script.Parent

game.Players.PlayerAdded:Connect(function(plr)
    plr.Chatted:Connect(function(message)
        message = string.lower(message)
        if message == "/blue" then
            part.BrickColor = BrickColor.new("Blue")
        end
    end)
end)
如果你需要我详细说明,请告诉我,我理解有时候这些东西会让人困惑