Iter_getTable = function(tableName) local i = 0 return function() i = i + 1 return i, _G[string.format("%s_%d", tableName, i)] end end Iter_getOptionValue = function(element) local i = 0 return function() i = i + 1 return i, element[string.format("option%d", i)] end end GetSubChatWndList = function(tableName) for idx, v in Iter_getTable(tableName) do if v == nil then return end index = SetSubChatWndList(v.TabState, v.TabName, v.XPos, v.YPos, v.Width, v.Height) for i, v2 in Iter_getOptionValue(v) do if v2 ~= nil then SetSubChatWndOption(v.TabState, index, i, v2) else break end end end end GetSubChatWndList("ChatSubWnd")