2013-10-10 63 views
6

所以,我試圖將字符串拆分爲表(玩家分成團隊)時遇到問題。當只有兩個玩家時,它就像一個魅力,但是當有3個以上的玩家時,會彈出:「初始錯誤:transformice.lua:7:錯誤的參數:預期的表格,沒有」。一切似乎都沒問題,我真的不知道什麼是錯的。你們能幫我嗎?謝謝!這裏是我的代碼:Lua:表預計,得到零

ps = {"Player1","Player2","Player3","Player4"} 
local teams={{},{},{}} 

--[[for name,player in pairs(tfm.get.room.playerList) do 
table.insert(ps,name) 
end]] 

table.sort(ps,function() return math.random()>0.5 end) 
for i,player in ipairs(ps) do 
    table.insert(teams[i%#teams],player) 
    end 

回答

9

lua陣開始在指數1,不0。在當你有3名球員這條線的情況下:

table.insert(teams[i%#teams],player) 

將評估爲:

table.insert(teams[3%3],player) 

然後將結束是:

table.insert(teams[0],player) 

而且teams[0]nil。您應該可以將它寫爲:

table.insert(teams[i%#teams+1],player) 

改爲。