【问题标题】:attempt to index global 'message' (a nil value) Lua Message script尝试索引全局“消息”(一个零值)Lua 消息脚本
【发布时间】:2020-04-22 12:57:50
【问题描述】:

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

local part = script.Parent

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

scan()

【问题讨论】:

    标签: lua roblox


    【解决方案1】:

    首先,您没有定义“消息”,因为“消息”应该是

    的参数
    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)
    

    如果您需要我详细说明,请告诉我,我知道有时这些内容可能会令人困惑。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2015-10-25
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多