1

问题出在客户端代码上(src:cl_hob.lua

net.Receive("HobNetMsg", function(len) 
    local Queue = {}
    Queue = net.ReadTable()
    for I = 1 , #Queue do 
        local index = Queue[I]["index"]
        for Key , Value in pairs(Queue[I]) do
            HBeamTable[index][Key] = Value
        end
    end
end)

该代码应该从我的服务器端代码 hob.lua获取网络消息,其中包含我想要对客户端表 HBeamTable 进行的所有更新的表。上面的代码应该做的是查看接收表,然后根据那里的内容用新数据更新主表中的相关表。

新数据不必包含每个字段的信息,但主表必须有每个索引的完整数据集,否则渲染函数会中断。

但是上面的代码输出错误:

/cl_hob.lua:16: attempt to index a nil value

我没有看到上面的代码有任何明显的问题,所以这个错误真的很令人困惑......

4

1 回答 1

3

报告的错误在第 16 行。您的代码片段根本不相关。

第 #14 行,您有:

for I = 0 , #Changes do

和 lua 表没有从0. 这会引发错误。

于 2015-03-13T12:06:23.893 回答