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)

このコードは、クライアント側テーブル HBeamTable に対して行うすべての更新のテーブルを含むサーバー側コードhob.luaからネット メッセージを取得することになって います。上記のコードがすべきことは、受け取ったテーブルを見て、そこにあるものに基づいて、メイン テーブルの関連テーブルを新しいデータで更新することです。

新しいデータにはすべての単一フィールドの情報が含まれている必要はありませんが、メイン テーブルにはインデックスごとに完全なデータ セットが含まれている必要があります。そうしないと、render 関数が壊れます。

ただし、上記のコードはエラーを出力します。

/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 に答える