diff --git a/Assets/ManagedResources/~Lua/Modules/Player/PlayerManager.lua b/Assets/ManagedResources/~Lua/Modules/Player/PlayerManager.lua index 21db5d30ee..ff346d3627 100644 --- a/Assets/ManagedResources/~Lua/Modules/Player/PlayerManager.lua +++ b/Assets/ManagedResources/~Lua/Modules/Player/PlayerManager.lua @@ -953,8 +953,17 @@ function this.RandomFirendNPC(currankAllList) -- ----LogGreen("friend "..currankAllList[playerRandomNum].userName) end end - -function this.RandomNPC(currankAllList,curlist) +local currankAllList = {} +function this.RandomNPC(_currankAllList,curlist) + if _currankAllList then + currankAllList = {} + for i = 1,#_currankAllList do + table.insert(currankAllList,currankAllList[i]) + end + end + if not currankAllList or #currankAllList < 1 then + return + end local playerRandomNum = math.random(1, #currankAllList) local uid = 0 if currankAllList[playerRandomNum].id then @@ -965,7 +974,8 @@ function this.RandomNPC(currankAllList,curlist) uid = currankAllList[playerRandomNum].uid end if curlist[uid] or uid < 1 then - this.RandomNPC(currankAllList,curlist) + table.remove(currankAllList,playerRandomNum) + this.RandomNPC(nil,curlist) else curlist[uid] = {} curlist[uid] = currankAllList[playerRandomNum]