Diferencia entre revisiones de «Módulo:Botón»
De Inkipedia
m (Errores solucionados) |
(Traducido todo el módulo) |
||
Línea 88: | Línea 88: | ||
['a'] = '[[File:Wii U Icon A.png|28x28px|link=|A]]', | ['a'] = '[[File:Wii U Icon A.png|28x28px|link=|A]]', | ||
['b'] = '[[File:Wii U Icon B.png|28x28px|link=|B]]', | ['b'] = '[[File:Wii U Icon B.png|28x28px|link=|B]]', | ||
[' | ['cruceta'] = '[[File:Wii U Icon D-Pad.png|28x28px|link=|Cruceta]]', | ||
['gamepad'] = '[[File:Wii U Icon Gamepad.png|28x28px|link=|Gamepad]]', | ['gamepad'] = '[[File:Wii U Icon Gamepad.png|28x28px|link=|Gamepad]]', | ||
['home'] = '[[File:Wii U Icon Home.png|28x28px|link=|Home]]', | ['home'] = '[[File:Wii U Icon Home.png|28x28px|link=|Home]]', | ||
['l'] = '[[File:Wii U Icon L.png|28x28px|link=|L]]', | ['l'] = '[[File:Wii U Icon L.png|28x28px|link=|L]]', | ||
['palancaizquierda'] = '[[File:Wii U Icon LS.png|28x28px|link=| | ['palancaizquierda'] = '[[File:Wii U Icon LS.png|28x28px|link=|Palanca derecha]]', | ||
['ls'] = '[[File:Wii U Icon LS.png|28x28px|link=| | ['ls'] = '[[File:Wii U Icon LS.png|28x28px|link=|Palanca izquierda]]', | ||
['menos'] = '[[File:Wii U Icon Minus.png|28x28px|link=| | ['menos'] = '[[File:Wii U Icon Minus.png|28x28px|link=|Menos]]', | ||
['mas'] = '[[File:Wii U Icon Plus.png|28x28px|link=|Plus]]', | ['mas'] = '[[File:Wii U Icon Plus.png|28x28px|link=|Más]]', | ||
['más'] = '[[File:Wii U Icon Plus.png|28x28px|link=|Más]]', | |||
['r'] = '[[File:Wii U Icon R.png|28x28px|link=|R]]', | ['r'] = '[[File:Wii U Icon R.png|28x28px|link=|R]]', | ||
['palancaderecha'] = '[[File:Wii U Icon RS.png|28x28px|link=| | ['palancaderecha'] = '[[File:Wii U Icon RS.png|28x28px|link=|Palanca derecha]]', | ||
['rs'] = '[[File:Wii U Icon RS.png|28x28px|link=| | ['rs'] = '[[File:Wii U Icon RS.png|28x28px|link=|Palanca derecha]]', | ||
['x'] = '[[File:Wii U Icon X.png|28x28px|link=|X]]', | ['x'] = '[[File:Wii U Icon X.png|28x28px|link=|X]]', | ||
['y'] = '[[File:Wii U Icon Y.png|28x28px|link=|Y]]', | ['y'] = '[[File:Wii U Icon Y.png|28x28px|link=|Y]]', | ||
Línea 110: | Línea 111: | ||
['a'] = {class = 'switch-icon a', title = 'A'}, | ['a'] = {class = 'switch-icon a', title = 'A'}, | ||
['b'] = {class = 'switch-icon b', title = 'B'}, | ['b'] = {class = 'switch-icon b', title = 'B'}, | ||
['captura'] = {class = 'switch-icon capture', title = ' | ['captura'] = {class = 'switch-icon capture', title = 'Captura'}, | ||
['controlleroutline'] = {class = 'switch-icon controller-outline', title = 'Pro'}, | ['controlleroutline'] = {class = 'switch-icon controller-outline', title = 'Controlador Pro'}, | ||
['cruceta'] = {class = 'pro-icon d-pad', title = ' | ['cruceta'] = {class = 'pro-icon d-pad', title = 'Cruceta'}, | ||
['crucetaabajo'] = {class = 'pro-icon d-pad-down', title = 'Cruceta abajo'}, | ['crucetaabajo'] = {class = 'pro-icon d-pad-down', title = 'Cruceta abajo'}, | ||
[' | ['crucetaizquierda'] = {class = 'pro-icon d-pad-left', title = 'Cruceta izquierda'}, | ||
['crucetaderecha'] = {class = 'pro-icon d-pad-right', title = ' | ['crucetaderecha'] = {class = 'pro-icon d-pad-right', title = 'Cruceta derecha'}, | ||
[' | ['crucetaarriba'] = {class = 'pro-icon d-pad-up', title = 'Cruceta arriba'}, | ||
['girovertical'] = {class = 'pro-icon gyro-pitch', title = ' | ['girovertical'] = {class = 'pro-icon gyro-pitch', title = 'Giro vertical'}, | ||
['girohorizontal'] = {class = 'pro-icon gyro-roll', title = ' | ['girohorizontal'] = {class = 'pro-icon gyro-roll', title = 'Giro horizontal'}, | ||
['girolateral'] = {class = 'pro-icon gyro-yaw', title = ' | ['girolateral'] = {class = 'pro-icon gyro-yaw', title = 'Giro lateral'}, | ||
-- handheld uses an image, please change it to an icon like the others. | -- handheld uses an image, please change it to an icon like the others. | ||
['home'] = {class = 'switch-icon home', title = 'Home'}, | ['home'] = {class = 'switch-icon home', title = 'Home'}, | ||
['l'] = {class = 'switch-icon l', title = 'L'}, | ['l'] = {class = 'switch-icon l', title = 'L'}, | ||
['palancaizquierdatodasdirecciones'] = {class = 'switch-icon left-stick-all', title = ' | ['palancaizquierdatodasdirecciones'] = {class = 'switch-icon left-stick-all', title = 'Palanza izquierda en todas direcciones'}, | ||
[' | ['palancaizquierdapresionada'] = {class = 'switch-icon left-stick-click', title = 'Palanza izquierda presionada'}, | ||
['palancaizquierdaabajo'] = {class = 'switch-icon left-stick-down', title = ' | ['palancaizquierdaabajo'] = {class = 'switch-icon left-stick-down', title = 'Palanza izquierda abajo'}, | ||
['palancaizquierdahorizontal'] = {class = 'switch-icon left-stick-left-right', title = ' | ['palancaizquierdahorizontal'] = {class = 'switch-icon left-stick-left-right', title = 'Palanza izquierda horizontal'}, | ||
['palancaizquierdaizquierda'] = {class = 'switch-icon left-stick-left', title = ' | ['palancaizquierdaizquierda'] = {class = 'switch-icon left-stick-left', title = 'Palanza izquierda izquierda'}, | ||
['palancaizquierdaderecha'] = {class = 'switch-icon left-stick-right', title = ' | ['palancaizquierdaderecha'] = {class = 'switch-icon left-stick-right', title = 'Palanza izquierda derecha'}, | ||
['palancaizquierdavertical'] = {class = 'switch-icon left-stick-up-down', title = ' | ['palancaizquierdavertical'] = {class = 'switch-icon left-stick-up-down', title = 'Palanza izquierda vertical'}, | ||
['palancaizquierdaarriba'] = {class = 'switch-icon left-stick-up', title = ' | ['palancaizquierdaarriba'] = {class = 'switch-icon left-stick-up', title = 'Palanza izquierda arriba'}, | ||
['palancaizquierda'] = {class = 'switch-icon left-stick', title = ' | ['palancaizquierda'] = {class = 'switch-icon left-stick', title = 'Palanza izquierda'}, | ||
['ls'] = {class = 'switch-icon left-stick', title = ' | ['ls'] = {class = 'switch-icon left-stick', title = 'Palanza izquierda'}, | ||
['menos'] = {class = 'switch-icon minus', title = ' | ['menos'] = {class = 'switch-icon minus', title = 'Menos'}, | ||
['mas'] = {class = 'switch-icon plus', title = ' | ['mas'] = {class = 'switch-icon plus', title = 'Más'}, | ||
['más'] = {class = 'switch-icon plus', title = 'Más'}, | |||
['pro'] = {class = 'pro-icon controller-outline', title = 'Pro'}, | ['pro'] = {class = 'pro-icon controller-outline', title = 'Pro'}, | ||
['r'] = {class = 'switch-icon r', title = 'R'}, | ['r'] = {class = 'switch-icon r', title = 'R'}, | ||
['palancaderechatodasdirecciones'] = {class = 'switch-icon right-stick-all', title = ' | ['palancaderechatodasdirecciones'] = {class = 'switch-icon right-stick-all', title = 'Palanca derecha en todas direcciones'}, | ||
[' | ['palancaderechapresionada'] = {class = 'switch-icon right-stick-click', title = 'Palanca derecha presionada'}, | ||
['palancaderechaabajo'] = {class = 'switch-icon right-stick-down', title = ' | ['palancaderechaabajo'] = {class = 'switch-icon right-stick-down', title = 'Palanca derecha abajo'}, | ||
['palancaderechahorizontal'] = {class = 'switch-icon right-stick-left-right', title = ' | ['palancaderechahorizontal'] = {class = 'switch-icon right-stick-left-right', title = 'Palanca derecha horizontal'}, | ||
['palancaderechaizquierda'] = {class = 'switch-icon right-stick-left', title = ' | ['palancaderechaizquierda'] = {class = 'switch-icon right-stick-left', title = 'Palanca derecha izquierda'}, | ||
['palancaderechaderecha'] = {class = 'switch-icon right-stick-right', title = ' | ['palancaderechaderecha'] = {class = 'switch-icon right-stick-right', title = 'Palanca derecha derecha'}, | ||
['palancaderechavertical'] = {class = 'switch-icon right-stick-up-down', title = ' | ['palancaderechavertical'] = {class = 'switch-icon right-stick-up-down', title = 'Palanca derecha vertical'}, | ||
['palancaderechaarriba'] = {class = 'switch-icon right-stick-up', title = ' | ['palancaderechaarriba'] = {class = 'switch-icon right-stick-up', title = 'Palanca derecha arriba'}, | ||
['palancaderecha'] = {class = 'switch-icon right-stick', title = ' | ['palancaderecha'] = {class = 'switch-icon right-stick', title = 'Palanca derecha'}, | ||
['rs'] = {class = 'switch-icon right-stick', title = ' | ['rs'] = {class = 'switch-icon right-stick', title = 'Palanca derecha'}, | ||
['sl'] = {class = 'switch-icon sl', title = 'SL'}, | ['sl'] = {class = 'switch-icon sl', title = 'SL'}, | ||
['sr'] = {class = 'switch-icon sr', title = 'SR'}, | ['sr'] = {class = 'switch-icon sr', title = 'SR'}, |
Revisión actual - 15:17 12 feb 2024
La documentación para este módulo puede ser creada en Módulo:Botón/doc
--[[ This module compares and outputs a button depending on the game or system you've specified. ]]-- local b = {} local result = {} --[[ instead of typing the system over and over, these sys- variables have the name of the system, so it avoids typos and needing to change the comparisons manually. to make this consistent, for each new system prefix the variable with 'sys-' (e.g 'local sysDonkeyKongStation = 'DK Station') ]]-- local sysWiiU = 'Wii U' local sysSwitch = 'Switch' function gameToConsole(game) --[[ this function returns a console depending on what you set on the 'game' argument. On the original template, the system and 'game' parameters were pretty much the same, so the list needs also to include the console name as well. As mentioned in the b.main() later, the inputs from the template are automatically made lowercase, trimmed, and removes special characters (such as dashes), so just make the keys like 'cometobrazil' or 'donkeykong'. don't forget the comma at the end of each item! It's like a basic JSON. ]]-- local c = {} c = { ['wiiu'] = sysWiiU, ['s'] = sysWiiU, ['s1'] = sysWiiU, ['splatoon'] = sysWiiU, ['splatoon1'] = sysWiiU, ['switch'] = sysSwitch, ['s2'] = sysSwitch, ['splatoon2'] = sysSwitch, ['s3'] = sysSwitch, ['splatoon3'] = sysSwitch, ['octoexpansion'] = sysSwitch, ['oe'] = sysSwitch, ['splatoon 1'] = 'dummytest2', ['dummy'] = 'dummy', } -- just a fallback if no argument is passed to 'game' if not c[game] then return c[sysWiiU] else return c[game] end end function buttonOutput(system, button, frame) --[[ this function creates a nested comparison list. So if system, which has passed through gameToConsole() already (see on b.main() ), will check each "parent" list with the 'system' argument, then the "children" lists, with the 'button' argument. The 'frame' argument is just to pass the frames from b.main() to this function. In fact, to avoid visual bloat, you could move this function to a subpage, something like Module:Button/Output, because eventually this list will grow more and more I imagine. ]]-- local o = {} --[[ personally I would recommend the staff to adapt the Wii U buttons to the Switch style (icons through CSS rather than images) to keep consistency. The Switch's handheld icon uses an image instead of an icon, and doing a whole if-else checking just for that would be quite annoying. Moving the Wii U icons to the Switch style you're doing could remove the if-else statement at the bottom as well. and as mentioned later in the b.main(), the button and system input from the template/module is automatically trimmed and lowercase. Don't worry about dashes or anything else. ]]-- o = { [sysWiiU] = { ['a'] = '[[File:Wii U Icon A.png|28x28px|link=|A]]', ['b'] = '[[File:Wii U Icon B.png|28x28px|link=|B]]', ['cruceta'] = '[[File:Wii U Icon D-Pad.png|28x28px|link=|Cruceta]]', ['gamepad'] = '[[File:Wii U Icon Gamepad.png|28x28px|link=|Gamepad]]', ['home'] = '[[File:Wii U Icon Home.png|28x28px|link=|Home]]', ['l'] = '[[File:Wii U Icon L.png|28x28px|link=|L]]', ['palancaizquierda'] = '[[File:Wii U Icon LS.png|28x28px|link=|Palanca derecha]]', ['ls'] = '[[File:Wii U Icon LS.png|28x28px|link=|Palanca izquierda]]', ['menos'] = '[[File:Wii U Icon Minus.png|28x28px|link=|Menos]]', ['mas'] = '[[File:Wii U Icon Plus.png|28x28px|link=|Más]]', ['más'] = '[[File:Wii U Icon Plus.png|28x28px|link=|Más]]', ['r'] = '[[File:Wii U Icon R.png|28x28px|link=|R]]', ['palancaderecha'] = '[[File:Wii U Icon RS.png|28x28px|link=|Palanca derecha]]', ['rs'] = '[[File:Wii U Icon RS.png|28x28px|link=|Palanca derecha]]', ['x'] = '[[File:Wii U Icon X.png|28x28px|link=|X]]', ['y'] = '[[File:Wii U Icon Y.png|28x28px|link=|Y]]', ['z'] = '[[File:S_Icon_Zapfish.png|28x28px|link=|Z]]', ['zl'] = '[[File:Wii U Icon ZL.png|28x28px|link=|ZL]]', ['zl1'] = '[[File:S_Icon_ZR.png|28x28px|link=|ZL]]', ['zr'] = '[[File:Wii U Icon ZR.png|28x28px|link=|ZR]]', ['zr1'] = '[[File:S_Icon_ZL.png|28x28px|link=|ZR]]', }, [sysSwitch] = { ['a'] = {class = 'switch-icon a', title = 'A'}, ['b'] = {class = 'switch-icon b', title = 'B'}, ['captura'] = {class = 'switch-icon capture', title = 'Captura'}, ['controlleroutline'] = {class = 'switch-icon controller-outline', title = 'Controlador Pro'}, ['cruceta'] = {class = 'pro-icon d-pad', title = 'Cruceta'}, ['crucetaabajo'] = {class = 'pro-icon d-pad-down', title = 'Cruceta abajo'}, ['crucetaizquierda'] = {class = 'pro-icon d-pad-left', title = 'Cruceta izquierda'}, ['crucetaderecha'] = {class = 'pro-icon d-pad-right', title = 'Cruceta derecha'}, ['crucetaarriba'] = {class = 'pro-icon d-pad-up', title = 'Cruceta arriba'}, ['girovertical'] = {class = 'pro-icon gyro-pitch', title = 'Giro vertical'}, ['girohorizontal'] = {class = 'pro-icon gyro-roll', title = 'Giro horizontal'}, ['girolateral'] = {class = 'pro-icon gyro-yaw', title = 'Giro lateral'}, -- handheld uses an image, please change it to an icon like the others. ['home'] = {class = 'switch-icon home', title = 'Home'}, ['l'] = {class = 'switch-icon l', title = 'L'}, ['palancaizquierdatodasdirecciones'] = {class = 'switch-icon left-stick-all', title = 'Palanza izquierda en todas direcciones'}, ['palancaizquierdapresionada'] = {class = 'switch-icon left-stick-click', title = 'Palanza izquierda presionada'}, ['palancaizquierdaabajo'] = {class = 'switch-icon left-stick-down', title = 'Palanza izquierda abajo'}, ['palancaizquierdahorizontal'] = {class = 'switch-icon left-stick-left-right', title = 'Palanza izquierda horizontal'}, ['palancaizquierdaizquierda'] = {class = 'switch-icon left-stick-left', title = 'Palanza izquierda izquierda'}, ['palancaizquierdaderecha'] = {class = 'switch-icon left-stick-right', title = 'Palanza izquierda derecha'}, ['palancaizquierdavertical'] = {class = 'switch-icon left-stick-up-down', title = 'Palanza izquierda vertical'}, ['palancaizquierdaarriba'] = {class = 'switch-icon left-stick-up', title = 'Palanza izquierda arriba'}, ['palancaizquierda'] = {class = 'switch-icon left-stick', title = 'Palanza izquierda'}, ['ls'] = {class = 'switch-icon left-stick', title = 'Palanza izquierda'}, ['menos'] = {class = 'switch-icon minus', title = 'Menos'}, ['mas'] = {class = 'switch-icon plus', title = 'Más'}, ['más'] = {class = 'switch-icon plus', title = 'Más'}, ['pro'] = {class = 'pro-icon controller-outline', title = 'Pro'}, ['r'] = {class = 'switch-icon r', title = 'R'}, ['palancaderechatodasdirecciones'] = {class = 'switch-icon right-stick-all', title = 'Palanca derecha en todas direcciones'}, ['palancaderechapresionada'] = {class = 'switch-icon right-stick-click', title = 'Palanca derecha presionada'}, ['palancaderechaabajo'] = {class = 'switch-icon right-stick-down', title = 'Palanca derecha abajo'}, ['palancaderechahorizontal'] = {class = 'switch-icon right-stick-left-right', title = 'Palanca derecha horizontal'}, ['palancaderechaizquierda'] = {class = 'switch-icon right-stick-left', title = 'Palanca derecha izquierda'}, ['palancaderechaderecha'] = {class = 'switch-icon right-stick-right', title = 'Palanca derecha derecha'}, ['palancaderechavertical'] = {class = 'switch-icon right-stick-up-down', title = 'Palanca derecha vertical'}, ['palancaderechaarriba'] = {class = 'switch-icon right-stick-up', title = 'Palanca derecha arriba'}, ['palancaderecha'] = {class = 'switch-icon right-stick', title = 'Palanca derecha'}, ['rs'] = {class = 'switch-icon right-stick', title = 'Palanca derecha'}, ['sl'] = {class = 'switch-icon sl', title = 'SL'}, ['sr'] = {class = 'switch-icon sr', title = 'SR'}, ['x'] = {class = 'switch-icon x', title = 'X'}, ['y'] = {class = 'switch-icon y', title = 'Y'}, ['zl'] = {class = 'switch-icon zl', title = 'ZL'}, ['zr'] = {class = 'switch-icon zr', title = 'ZR'}, }, } local panel if system ~= sysWiiU then panel = '<span class="'.. o[system][button].class .. '" title="'.. o[system][button].title ..'"></span>' return panel else return o[system][button] end end function b.main(frame) -- the button input from the template local input = frame:getParent().args[1] or 'a' -- Wii U set as the default system local game = frame:getParent().args['game'] or frame:getParent().args[2] or sysWiiU -- removing whitespace and special characters from 'input' and 'game' input = mw.ustring.lower(mw.ustring.gsub(input, '[%p%c%s]', '')) game = gameToConsole(mw.ustring.lower(mw.ustring.gsub(game, '[%p%c%s]', ''))) table.insert(result, buttonOutput(game, input, frame)) return table.concat(result, '') end return b