2013-10-10 27 views
6

Yani, dizeleri tablolara (oyuncuları takımlara) ayırmaya çalışırken bir sorun yaşıyorum. Sadece iki oyuncu olduğunda, bir çekicilik gibi çalışır, ancak 3+ oyuncu olduğunda, bu ortaya çıkar: “Init Error: transformice.lua: 7: kötü argüman: tablo beklenen, nil var”. Her şey yolunda gibi görünüyor, gerçekten neyin yanlış olduğunu bilmiyorum. Lütfen bana yardım eder misiniz? Teşekkürler! İşte benim kodudur:Lua: Tablo beklenen, nil

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 

cevap

9

Lua diziler endeksi 1 değil 0 başlar. Sonra varlık sona ereceğini Hangi

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

: Eğer 3 oyuncu bu hat varken durumunda:

table.insert(teams[0],player) 

Ve teams[0]nil doğru olurdu

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

değerlendirmek istiyorum. Bunun yerine,

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

'u yazabilmeniz gerekir.