Diferencia entre revisiones de «Módulo:Moneda»
De Inkipedia
(Añadido el parámetro "tamano" para las imágenes (por defecto es de 24px)) |
(Ahora el tamaño en el cuarto parámetro funciona correctamente) |
||
Línea 36: | Línea 36: | ||
function m.main(frame) | function m.main(frame) | ||
local args = frame:getParent().args | local args = frame:getParent().args | ||
local juego = args["tipo"] or args[1] | |||
local moneda = args["moneda"] or args[2] | |||
local estado = args["estado"] or args[3] | |||
local tamano = args[4] or args["tamaño"] or 24 | |||
-- Normalizar el nombre del juego | |||
juego = frame:expandTemplate{title = 'Acortar juego', args = {juego}} | juego = frame:expandTemplate{title = 'Acortar juego', args = {juego}} | ||
-- Normalizar el tipo de moneda | |||
moneda = genericType(moneda) | moneda = genericType(moneda) | ||
if estado ~= nil and not tonumber(estado) then | if estado ~= nil and not tonumber(estado) then | ||
estado = genericType(estado) | |||
else | else | ||
tamano = tonumber(estado) or tamano | |||
estado = nil | estado = nil | ||
end | end | ||
-- | -- Lógica para determinar el enlace de la imagen basado en el tipo de moneda y estado | ||
if moneda == "moneda" then | if moneda == "moneda" then | ||
return string.format("[[File:%s Icon Cash.png|%dpx|link=Moneda]]", juego, tamano) | return string.format("[[File:%s Icon Cash.png|%dpx|link=Moneda]]", juego, tamano) | ||
elseif moneda == "caviarrojo" or moneda == "caviar" then | elseif moneda == "caviarrojo" or moneda == "caviar" then | ||
return string.format("[[File:%s Icon Power Egg.png|%dpx|link=Caviar rojo]]", juego, tamano) | |||
elseif moneda == "supermolusco" or moneda == "molusco" then | elseif moneda == "supermolusco" or moneda == "molusco" then | ||
return string.format("[[File:%s Icon Super Sea Snail.png|%dpx|link=Supermolusco]]", juego, tamano) | |||
elseif moneda == "alevindorado" or moneda == "alevin" then | elseif moneda == "alevindorado" or moneda == "alevin" then | ||
if juego == "S3" then | |||
return string.format("[[File:S2 Icon Golden Egg.png|%dpx|link=Alevín dorado]]", tamano) | |||
elseif juego == "S2" then | |||
return string.format("[[File:S2 Icon Golden Egg.png|%dpx|link=Alevín dorado]]", tamano) | |||
end | |||
elseif moneda == "anchovio" then | elseif moneda == "anchovio" then | ||
if juego == "S3" then | |||
return string.format("[[File:S2 Icon Sardinium Shadow.png|%dpx|link=Anchovio]]", tamano) | |||
elseif juego == "S2" then | |||
return string.format("[[File:S2 Icon Sardinium Shadow.png|%dpx|link=Anchovio]]", tamano) | |||
end | |||
elseif moneda == "fragmento" or moneda == "fragmentopotenciador" or moneda == "fragmentodepotenciador" or moneda == "fragmentos" or moneda == "fragmentospotenciador" or moneda == "fragmentosdepotenciador" then | elseif moneda == "fragmento" or moneda == "fragmentopotenciador" or moneda == "fragmentodepotenciador" or moneda == "fragmentos" or moneda == "fragmentospotenciador" or moneda == "fragmentosdepotenciador" then | ||
return string.format("[[File:%s Icon Ability Chunk Generic.png|%dpx|link=Fragmento de potenciador]]", juego, tamano) | |||
elseif moneda == "cupon" or moneda == "ticket" then | elseif moneda == "cupon" or moneda == "ticket" then | ||
if estado == "comida" then | |||
return string.format("[[File:%s Ticket Food Random.png|%dpx|link=Cupón]]", juego, tamano) | |||
elseif estado == "bebida" then | |||
return string.format("[[File:%s Ticket Drink Random.png|%dpx|link=Cupón]]", juego, tamano) | |||
end | |||
elseif moneda == "pepinopunto" or moneda == "pepinopuntos" then | elseif moneda == "pepinopunto" or moneda == "pepinopuntos" then | ||
return string.format("[[File:%s Icon CQ Points.png|%dpx|link=Pπ-nófono#Pepinopunto]]", juego, tamano) | |||
elseif moneda == "licencia" or moneda == "licenciajairo" or moneda == "licenciadejairo" then | elseif moneda == "licencia" or moneda == "licenciajairo" or moneda == "licenciadejairo" then | ||
if estado == nil then | |||
return string.format("[[File:%s Icon Sheldon License.png|%dpx|link=Licencia de Jairo]]", juego, tamano) | |||
elseif estado == "dorado" then | |||
return string.format("[[File:%s Icon Gold Sheldon License.png|%dpx|link=Licencia de Jairo]]", juego, tamano) | |||
end | |||
elseif moneda == "escama" then | elseif moneda == "escama" then | ||
if estado == "bronce" then | |||
return string.format("[[File:%s Icon Bronze Fish Scale.png|%dpx|link=Escama]]", juego, tamano) | |||
elseif estado == "plata" or estado == "plateado" then | |||
return string.format("[[File:%s Icon Silver Fish Scale.png|%dpx|link=Escama]]", juego, tamano) | |||
elseif estado == "oro" or estado == "dorado" then | |||
return string.format("[[File:%s Icon Gold Fish Scale.png|%dpx|link=Escama]]", juego, tamano) | |||
end | |||
elseif moneda == "caracola" then | elseif moneda == "caracola" then | ||
return string.format("[[File:%s icon conch shell.png|%dpx|link=Caracola]]", juego, tamano) | |||
else | |||
return string.format("[[File:Not found.png|%dpx|link=]]", tamano) | |||
end | |||
end | end | ||
return m | return m |
Revisión del 11:27 15 feb 2024
La documentación para este módulo puede ser creada en Módulo:Moneda/doc
local m = {} -- Función para normalizar el tipo de traducción local function genericType(input) if input == nil then return nil end -- Convertir a minúsculas input = input:lower() -- Tabla de mapeo para reemplazar letras con tildes y diéresis local mapping = { ["á"] = "a", ["é"] = "e", ["í"] = "i", ["ó"] = "o", ["ú"] = "u", ["à"] = "a", ["è"] = "e", ["ì"] = "i", ["ò"] = "o", ["ù"] = "u", ["ä"] = "a", ["ë"] = "e", ["ï"] = "i", ["ö"] = "o", ["ü"] = "u", ["ã"] = "a", ["ẽ"] = "e", ["ĩ"] = "i", ["õ"] = "o", ["ũ"] = "u", ["ñ"] = "n", ["ç"] = "c", ["Á"] = "a", ["É"] = "e", ["Í"] = "i", ["Ó"] = "o", ["Ú"] = "u", ["À"] = "a", ["È"] = "e", ["Ì"] = "i", ["Ò"] = "o", ["Ù"] = "u", ["Ä"] = "a", ["Ë"] = "e", ["Ï"] = "i", ["Ö"] = "o", ["Ü"] = "u", ["Ã"] = "a", ["Ẽ"] = "e", ["Ĩ"] = "i", ["Õ"] = "o", ["Ũ"] = "u", ["Ñ"] = "n", ["Ç"] = "c" } -- Reemplazar letras con tilde y diéresis según la tabla de mapeo for k, v in pairs(mapping) do input = input:gsub(k, v) end -- Eliminar caracteres especiales y espacios input = input:gsub("[%s%p%c]", "") return input end function m.main(frame) local args = frame:getParent().args local juego = args["tipo"] or args[1] local moneda = args["moneda"] or args[2] local estado = args["estado"] or args[3] local tamano = args[4] or args["tamaño"] or 24 -- Normalizar el nombre del juego juego = frame:expandTemplate{title = 'Acortar juego', args = {juego}} -- Normalizar el tipo de moneda moneda = genericType(moneda) if estado ~= nil and not tonumber(estado) then estado = genericType(estado) else tamano = tonumber(estado) or tamano estado = nil end -- Lógica para determinar el enlace de la imagen basado en el tipo de moneda y estado if moneda == "moneda" then return string.format("[[File:%s Icon Cash.png|%dpx|link=Moneda]]", juego, tamano) elseif moneda == "caviarrojo" or moneda == "caviar" then return string.format("[[File:%s Icon Power Egg.png|%dpx|link=Caviar rojo]]", juego, tamano) elseif moneda == "supermolusco" or moneda == "molusco" then return string.format("[[File:%s Icon Super Sea Snail.png|%dpx|link=Supermolusco]]", juego, tamano) elseif moneda == "alevindorado" or moneda == "alevin" then if juego == "S3" then return string.format("[[File:S2 Icon Golden Egg.png|%dpx|link=Alevín dorado]]", tamano) elseif juego == "S2" then return string.format("[[File:S2 Icon Golden Egg.png|%dpx|link=Alevín dorado]]", tamano) end elseif moneda == "anchovio" then if juego == "S3" then return string.format("[[File:S2 Icon Sardinium Shadow.png|%dpx|link=Anchovio]]", tamano) elseif juego == "S2" then return string.format("[[File:S2 Icon Sardinium Shadow.png|%dpx|link=Anchovio]]", tamano) end elseif moneda == "fragmento" or moneda == "fragmentopotenciador" or moneda == "fragmentodepotenciador" or moneda == "fragmentos" or moneda == "fragmentospotenciador" or moneda == "fragmentosdepotenciador" then return string.format("[[File:%s Icon Ability Chunk Generic.png|%dpx|link=Fragmento de potenciador]]", juego, tamano) elseif moneda == "cupon" or moneda == "ticket" then if estado == "comida" then return string.format("[[File:%s Ticket Food Random.png|%dpx|link=Cupón]]", juego, tamano) elseif estado == "bebida" then return string.format("[[File:%s Ticket Drink Random.png|%dpx|link=Cupón]]", juego, tamano) end elseif moneda == "pepinopunto" or moneda == "pepinopuntos" then return string.format("[[File:%s Icon CQ Points.png|%dpx|link=Pπ-nófono#Pepinopunto]]", juego, tamano) elseif moneda == "licencia" or moneda == "licenciajairo" or moneda == "licenciadejairo" then if estado == nil then return string.format("[[File:%s Icon Sheldon License.png|%dpx|link=Licencia de Jairo]]", juego, tamano) elseif estado == "dorado" then return string.format("[[File:%s Icon Gold Sheldon License.png|%dpx|link=Licencia de Jairo]]", juego, tamano) end elseif moneda == "escama" then if estado == "bronce" then return string.format("[[File:%s Icon Bronze Fish Scale.png|%dpx|link=Escama]]", juego, tamano) elseif estado == "plata" or estado == "plateado" then return string.format("[[File:%s Icon Silver Fish Scale.png|%dpx|link=Escama]]", juego, tamano) elseif estado == "oro" or estado == "dorado" then return string.format("[[File:%s Icon Gold Fish Scale.png|%dpx|link=Escama]]", juego, tamano) end elseif moneda == "caracola" then return string.format("[[File:%s icon conch shell.png|%dpx|link=Caracola]]", juego, tamano) else return string.format("[[File:Not found.png|%dpx|link=]]", tamano) end end return m