5. sor: |
5. sor: |
| function p.ts(frame) | | function p.ts(frame) |
| local villagerlist = frame.args[1] | | local villagerlist = frame.args[1] |
− | local villagertable = {}
| |
| | | |
| if villagerlist ~= nil then | | if villagerlist ~= nil then |
− | local values = mw.text.split(villagerlist, ",", true) | + | |
− | for i = 1, #values do | + | local vtable = {} |
− | local v = mw.text.trim(values[i]) | + | local villagers = mw.text.split(villagerlist, ",", true) |
| + | for i = 1, #villagers do |
| + | local v = mw.text.trim(villagers[i]) |
| if v ~= "" then | | if v ~= "" then |
− | table.insert(villagertable, v) | + | table.insert(vtable, v) |
| end | | end |
| end | | end |
| + | |
| + | --remove duplicate entries |
| + | local dupes = {} |
| + | local villagertable = {} |
| + | for i = 1, #vtable do |
| + | if not dupes[vtable[i]] then |
| + | table.insert(villagertable, vtable[i]) |
| + | dupes[vtable[i]] = true |
| + | end |
| + | end |
| | | |
| --sort in English for JA & ZH, as the old template did | | --sort in English for JA & ZH, as the old template did |
− | table.sort(villagertable) | + | table.sort(vtable) |
| | | |
| if lang == "DE" then | | if lang == "DE" then |
211. sor: |
222. sor: |
| | | |
| --put the table "villagertable" back into a string blob | | --put the table "villagertable" back into a string blob |
| + | --table.concat( table, sep, i, j ) DOES NOT WORK |
| villagerlist = "" | | villagerlist = "" |
− | for i=1, (#villagertable-1) do | + | for i = 1, (#villagertable-1) do |
| villagerlist = villagerlist .. '<span class="no-wrap">[[File:' .. villagertable[i] .. ' Icon.png|32px|link=' .. villagertable[i] .. ']] [[' .. villagertable[i] .. ']]</span> • ' | | villagerlist = villagerlist .. '<span class="no-wrap">[[File:' .. villagertable[i] .. ' Icon.png|32px|link=' .. villagertable[i] .. ']] [[' .. villagertable[i] .. ']]</span> • ' |
| end | | end |