Lua 阻止表插入两次
我有这个剧本Lua 阻止表插入两次,lua,lua-table,Lua,Lua Table,我有这个剧本 players={} function eventNewGame() local playerList={} for name,tbl in pairs(players) do if tbl.wins>most.wins then most={name=name,wins=tbl.wins} end table.insert(log.cheese, "<j><b>"
players={}
function eventNewGame()
local playerList={}
for name,tbl in pairs(players) do
if tbl.wins>most.wins then
most={name=name,wins=tbl.wins}
end
table.insert(log.cheese, "<j><b>"..most.name.."</b> <vp>won the round for gathering <ROSE><b>"..most.wins.." cheese!</b><N>")
end
players={}
函数eventNewGame()
本地playerList={}
对于名称,tbl成对(玩家)执行
如果tbl.wins>most.wins,则
most={name=name,wins=tbl.wins}
结束
table.insert(log.cheese,“.”.most.name..“赢得了收集的回合”。.most.wins..“cheese!”)
结束
然而,它打印/发送/插入的次数与房间里的人一样多。我怎么能让它只插入一次呢
您缺少
for
循环的结束,这导致插入
行位于循环内。您需要添加它:
for name,tbl in pairs(players) do
if tbl.wins>most.wins then
most={name=name,wins=tbl.wins}
end
end -- <---- add this
table.insert(log.cheese, "<j><b>"..most.name.."</b> <vp>won the round for gathering <ROSE><b>"..most.wins.." cheese!</b><N>")
对于名称,tbl成对(玩家)进行
如果tbl.wins>most.wins,则
most={name=name,wins=tbl.wins}
结束
结束--@Seagull我还原了您的编辑,因为它使插入的行看起来像是故意放在循环中的。请不要进行有效地改变问题含义的编辑。@interjay谢谢,我意识到错过了end
,但为时已晚。