所以,我在尝试将字符串分成表格(玩家加入团队)时遇到了问题.当只有两个玩家时,它就像一个魅力,但当有3个以上的玩家时,会弹出:" Init Error:transformice.lua:7:bad argument:table expected,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
Run Code Online (Sandbox Code Playgroud)
Lua数组从索引开始1,而不是0.在你有3名球员的情况下:
table.insert(teams[i%#teams],player)
Run Code Online (Sandbox Code Playgroud)
评估为:
table.insert(teams[3%3],player)
Run Code Online (Sandbox Code Playgroud)
那将最终成为:
table.insert(teams[0],player)
Run Code Online (Sandbox Code Playgroud)
而且teams[0]会nil.你应该能够把它写成:
table.insert(teams[i%#teams+1],player)
Run Code Online (Sandbox Code Playgroud)
代替.