Módulo:Inventário
Ir para navegação
Ir para pesquisar
Documentação do módulo
Esta documentação é transcluída de Predefinição:Sem documentação/doc. [editar] [atualizar]
Este módulo não possui nenhuma documentação. Por favor, considere adicionar uma documentação em Módulo:Inventário/doc. [editar]
Módulo:Inventário's a função main é invocada por Predefinição:Inventário.
Módulo:Inventário requer Module:Paramtest.
-- <pre>
local p = {}
local hasc = require('Module:Paramtest').has_content
local left_pos = {
'5px',
'2px',
'-1px',
'-5px'
}
function formatAmount(_x)
local x = tonumber(_x) or 1
if x < 100000 then
return x, 'qty-1'
elseif x < 10000000 then
return tostring(math.floor(x/1000))..'K', 'qty-100k'
else
return tostring(math.floor(x/1000000))..'M', 'qty-10m'
end
end
function p.main(frame)
local args = frame:getParent().args
local items = {}
for i=1,28 do
local v = mw.text.trim(args[i] or '')
local item_x
local amt_x = 1
local note_x = false
if hasc(v) then
v = v:gsub('[][]','')
amt_x = tonumber(v:match('\\(%d+)')) or 1
note_x = v:match(';n') == ';n'
local v2 = mw.text.split(v,'[;\\]')
item_x = v2[1]
end
table.insert(items,{item=item_x,amt=amt_x,isnoted=note_x})
end
local align = args.align
local acss
if hasc(align) then
align = align:lower()
if align == 'right' or align == 'left' then
acss = 'float:'..align
elseif align == 'center' then
acss = 'margin:0 auto'
end
end
return p._main(items,acss)
end
function p._main(items,acss)
local ret = mw.html.create('table')
:addClass('inventorytable inventory-image')
:cssText(acss or '')
local item = 0
for i=1,7 do
local ret_row = mw.html.create('tr')
for j=1,4 do
item = item + 1
local itemx = items[item].item
local amtx = items[item].amt
local notex = items[item].isnoted
local td = ret_row:tag('td'):css({left = left_pos[j] })
if hasc(itemx) then
local amt_text = ''
if amtx > 1 or notex then
local amtx_f, amtx_c = formatAmount(amtx)
local amt_span = mw.html.create('span')
:addClass('inv-quantity-text '..amtx_c)
:wikitext(amtx_f)
:done()
amt_text = tostring(amt_span)
end
if notex then
td:addClass('noted-item')
end
td:wikitext( string.format('[[File:%s.png|link=%s|32x32px|frameless]]%s', itemx, itemx, amt_text) )
end
end
ret:node(ret_row)
end
return ret
end
return p