2013-10-10 18 views
6

Quindi, sto riscontrando un problema durante il tentativo di dividere le stringhe in tabelle (giocatori in squadre). Quando ci sono solo due giocatori, funziona come un incantesimo, ma quando ci sono 3+ giocatori, questo si apre: "Errore iniziale: transformice.lua: 7: argomento negativo: tabella prevista, ottenuto n.". Tutto sembra essere ok, davvero non so cosa c'è che non va. Ragazzi, per favore aiutatemi? Grazie! Ecco il mio codice:Lua: Tabella prevista, ottenuto nulla

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 

risposta

9

array partono da Lua indice 1, non 0. Nel caso di quando si hanno 3 giocatori questa linea:

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

sarebbe valutato come:

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

Che poi finirebbe per essere:

table.insert(teams[0],player) 

E teams[0] sarebbe nil. Dovresti essere in grado di scriverlo come:

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

.

Problemi correlati