2017-06-12 8 views
0

基本的に私はテーブルを定義するSHAREDルアファイルを持っています。 共有ファイルにテーブルを定義して、クライアント側とサーバー側で使用できると思ったので、これを行いました。共有テーブルがクライアントに印刷されていない

SHARED.lua:

TableA = {} 

それから私はSERVER Luaのファイルでそれを編集します。

SERVER.lua:私はそれをクライアント側を印刷しようとすると、

function UpdateTable() 
    // Clean Table first 
    for k in pairs(TableA) do 
     TableA[k] = nil 
    end 
    ... not worth showing the rest ... 
    // Insert New Values 
    for i=1, 10 do 
     table.insert(TableA, result[i]) 
    end 
    // Debug Print 
    print(table.ToString(TableA)) // It Prints every value correctly 
end 

は今、それは表が存在すると言うが、それは空です。

CLIENT.lua:

print(table.ToString(TableA))// Prints "{}" and it shouldn't be empty 

注:UpdateTable()は、我々が共有テーブルを定義する際どうやら、値はサーバーとクライアントを介して共有されるという意味ではありませんすべての5分

答えて

1

を実行します。これは、コードがサーバー/クライアントの両方で実行されることを意味します。 テーブル上の値を「共有」するようにネットワークに接続する必要があります。

+1

はい、あなたは正しいです。 'net'ライブラリはサーバ/クライアントの同期を達成するための最良の方法です。実際には' net.WriteTable'を使ってnetライブラリを使ってテーブル全体を送ることができますが、これは最初の状態を推奨しています。ネット機能 – MattJeanes

関連する問題