Módulo:Currency Image

De RuneScape Wiki
Ir para: navegação, pesquisa
Documentação do módulo
Esta documentação é transcluída de Módulo:Currency Image/doc. [editar] [atualizar]
Módulo:Currency Image requer Módulo:LibraryUtil.
Módulo:Currency Image é solicitado por Módulo:Coins image.
Módulo:Currency Image é solicitado por Módulo:DropsLine.
Módulo:Currency Image é solicitado por Módulo:Store Line.
Módulo:Currency Image é solicitado por Módulo:Store locations list.

Este módulo é um módulo de apoio para ser usado por outros módulos; ele pode não ser projetado para ser invocado diretamente. See RuneScape:Lua/Helper modules for a full list and more information. Para uma lista completa de módulos usando esse apoio clique aqui

MóduloFunçãoTipoUsoExample
Currency Image( name, quantity )string, number/stringReturns the correct currency image name for the number.
  • name is the case insensitive currency name.
  • quantity is a number, or comma-separated string of numbers, the maximum of which will be used.
Supported currency names are: Agility arena tickets, Archery tickets, Beans, Chimes, Coins, Chronotes, Dungeoneering tokens, Ecto-tokens, Pieces of eight, Postage stamps, Runecoins, Runecrafting guild tokens, Rusty coins, Tarddian crystals, Teci, Tokkul, Trading sticks, Urchin points, Vinesweeper points, Zemomark

-- <nowiki>
local libraryUtil = require( 'libraryUtil' )

-- Static table to map currency names to filename and available quantities
local currencies = {
	moedas = { filename = 'Moedas_%d.png', bins = { 1, 2, 3, 4, 5, 25, 100, 250, 1000, 10000 } },
	zemomarcos = { filename = 'Zemomarcos_%d.png', bins = { 1, 2, 3, 4, 5, 25, 100, 250, 1000, 10000 } },
	tokkul = { filename = 'Tokkul_%d.png', bins = { 1, 2, 3, 4, 5, 25 } },
	sinos = { filename = 'Sinos_%d.png', bins = { 1, 20, 50, 100, 1000 } },
	['feijões'] = { filename = 'Feijões_%d.png', bins = { 1, 2, 3, 4, 5 } },
	['moedas enferrujadas'] = { filename = 'Moedas_enferrujadas_%d.png', bins = { 1, 2, 3, 4, 5, 25, 100, 250, 1000, 10000 } },
	['Fichas de Criação de Runas'] = { filename = 'Fichas de Criação de Runas_%d.png', bins = { 1, 2, 3, 4, 5 } },
	['gravetos de troca'] = { filename = 'Gravetos_de_troca_%d.png', bins = { 1, 10, 100, 1000, 10000 } },
	['ecto-fichas'] = { filename = 'Ecto-ficha_%d.png', bins = { 1, 2, 3 } },
	['peças de oito'] = { filename = 'Peças de oito_%d.png', bins = { 1, 2, 3 } },
	['fichas de dungeon'] = { filename = 'Fichas_de_Dungeon.png', bins = { 1 } },
	teci = { filename = 'Teci.png', bins = { 1 } },
	['selos postais'] = { filename = 'Selos_postais_detalhe.png', bins = { 1 } },
	['cristais tarddianos'] = { filename = 'Cristal_tarddiano.png', bins = { 1 } },
	runecoins = { filename = 'Runecoin.png', bins = { 1 } },
	['bilhete para arco e flecha'] = { filename = 'Bilhete_para_arco_e_flecha.png', bins = { 1 } },
	['bilhete da arena de agilidade'] = { filename = 'Bilhete_da_Arena_de_Agilidade.png', bins = { 1 } },
	['pontos de urchin'] = { filename = 'Ouriço_de_cristal_médio.png', bins = { 1 } },
	['pontos de campo germinado'] = { filename = 'Pontos de Campo Germinado.png', bins = { 1 } },
	cronotas = { filename = 'Cronotas_%d.png', bins = { 1, 2, 3, 4, 5, 25, 100, 250, 1000, 10000 } }
}

--
-- Like Module:Coins image, but for multiple currency types
--
return function(name, quantity)
	libraryUtil.checkType( 'Currency Image', 1, name, 'string' )
	libraryUtil.checkTypeMulti( 'Currency Image', 2, quantity, {'string', 'number'} )
	
	local coinType = currencies[string.lower(name)]
	if coinType == nil then
		-- Unrecognized currency type
		return
	end
	
	local max_q = 1
	if type( quantity ) == 'number' then
		max_q = math.abs( quantity )
	else
		for v in mw.text.gsplit( tostring( quantity or '' ), '[,%-–]' ) do
			local value = math.abs( tonumber( v ) or 0 )
			if value > max_q then
				max_q =  value
			end
		end
	end

	local q = 1
	for _, bin in ipairs( coinType.bins ) do
		if max_q >= bin then
			q = bin
		else
			break
		end
	end
	
	return string.format( coinType.filename, q )
end
-- </nowiki>