【问题标题】:Lua: Table expected, got nilLua:预期的表,没有
【发布时间】:2013-10-18 09:55:34
【问题描述】:

所以,我在尝试将字符串拆分为表格(将玩家拆分为团队)时遇到了问题。当只有两个玩家时,它就像一个魅力,但是当有 3 个以上的玩家时,会弹出:“Init Error : transformice.lua:7: bad argument: table expected, got 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

【问题讨论】:

    标签: lua lua-table


    【解决方案1】:

    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)
    

    改为。

    【讨论】:

      猜你喜欢
      • 2017-09-29
      • 2013-06-06
      • 1970-01-01
      • 1970-01-01
      • 2018-04-24
      • 2020-11-12
      • 1970-01-01
      • 1970-01-01
      • 2023-02-23
      相关资源
      最近更新 更多