1

2 つの情報を持つ動的プレーヤー テーブルを作成します。文字列として提供されるプレーヤーの SteamID がキーとして使用され、値は数値である必要があります。

次のように見えるはずですtable = { "ExampleSteamID" = 3, "ExampleSteamID2" = 4 }

のようなものが見つかりましtable.insert(table, { key = x, value = z})たが、うまくいきませんでした。

gameevent.Listen("player_connect")

local function AdminBotOnJoinCheck(data)
    local ply = data.networkid -- SteamID of joining player
    local tableisempty = true -- some random stuff
    for k, tableply in pairs(adminbot_players) do --checking for players already writed to table, maybe need fix
        if not ply == tableply then
            --need code here
            MsgC("\nAdminBot: Player table updated | ", ply, "\n")
        end
        tableisempty = false --clear table = table break - just dont execute code. 
    end
    if tableisempty == true then
        --here same code
        MsgC("\nAdminBot: Player table updated | ", ply, "\n")
    end
    if file.Exists("adminbotplayers.txt", "DATA") == true and adminbot_teamkills_use_file == true then -- Random stuff for file writing
        local adminbot_players_json = util.TableToJSON(adminbot_players)
        file.Write("adminbotplayers.txt", adminbot_players_json)
    end
end
4

5 に答える 5

0

「table.insert」を使用してそれを行う別の方法を見つけました。選択したプレーヤーの値を検索するために使用するプレーヤーのカスタム ID を作成しました。残念ながら 2 つのテーブルを使用しましたが、その方が簡単です。
リトルスキーマ:

  • プレーヤーを検索します。テーブル番号が存在する場合は変数に保存します。
  • 存在しない場合は、新しいプレーヤーを追加します。番号も保存
  • 同じ ID を持つ他のテーブルの値を追加します。

回答ありがとうございます。役に立ちました:)

于 2016-10-13T17:33:10.003 に答える