Final Fantasy Wiki
Esplora
Pagina principale
Discuti
Tutte le pagine
Community
Mappe interattive
Post recenti dei blog
Final Fantasy VII Rebirth
Personaggi
Cloud Strife
Aerith Gainsborough
Tifa Lockhart
Barret Wallace
Red XIII
Yuffie Kisaragi
Cait Sith (Final Fantasy VII)
Vincent Valentine
Cid Highwind
Zack Fair
Antagonisti
Sephiroth
Rufus Shinra
Heidegger
Scarlet
Hojo
Jenova
Inventario
Spada potens
Materie magiche
Materie pratica
Materie di sostegno
Materie indipendenti
Materie di invocazione
Guide
Abiti
Jukebox
Materia eclettica
Manuali di combattimento
Simulatore di combattimento
Trofei
Articoli
La saga
Final Fantasy
Final Fantasy II
Final Fantasy III
Final Fantasy IV
Final Fantasy V
Final Fantasy VI
Final Fantasy VII
Final Fantasy VIII
Final Fantasy IX
Final Fantasy X
La saga (cont.)
Final Fantasy XI
Final Fantasy XII
Final Fantasy XIII
Final Fantasy XIV
Final Fantasy XV
Final Fantasy XVI
Altri capitoli
Final Fantasy IV: The After Years
Before Crisis -Final Fantasy VII-
Crisis Core -Final Fantasy VII-
Dirge of Cerberus -Final Fantasy VII-
Final Fantasy VII: Advent Children
Final Fantasy X-2
Final Fantasy Tactics
Final Fantasy Tactics Advance
Final Fantasy Tactics A2: Grimoire of the Rift
Final Fantasy XII: Revenant Wings
Altri capitoli (cont.)
Dissidia Final Fantasy
Dissidia 012 Final Fantasy
Dissidia Final Fantasy NT
Final Fantasy XIII-2
Lightning Returns: Final Fantasy XIII
Final Fantasy Type-0
Bravely Default
Bravely Second: End Layer
Lista di articoli
Directory
Categorie principali
Soluzioni
Community
Manuale di stile
Staff della Wiki
Progetto 00
Mondi
Personaggi
Supporti
Minion
Attributi
Veicoli
Invocazioni
Nemici e boss
Oggetti
FANDOM
Giochi
Film
TV
Wiki
Esplora le wiki
Wiki della Community
Crea una wiki
Non hai un account?
Iscriviti
Accedi
FANDOM
Explore
Current Wiki
Crea una wiki
Non hai un account?
Iscriviti
Accedi
Accedi
Iscriviti
Final Fantasy Wiki
2ย 825
pagine
Esplora
Pagina principale
Discuti
Tutte le pagine
Community
Mappe interattive
Post recenti dei blog
Final Fantasy VII Rebirth
Personaggi
Cloud Strife
Aerith Gainsborough
Tifa Lockhart
Barret Wallace
Red XIII
Yuffie Kisaragi
Cait Sith (Final Fantasy VII)
Vincent Valentine
Cid Highwind
Zack Fair
Antagonisti
Sephiroth
Rufus Shinra
Heidegger
Scarlet
Hojo
Jenova
Inventario
Spada potens
Materie magiche
Materie pratica
Materie di sostegno
Materie indipendenti
Materie di invocazione
Guide
Abiti
Jukebox
Materia eclettica
Manuali di combattimento
Simulatore di combattimento
Trofei
Articoli
La saga
Final Fantasy
Final Fantasy II
Final Fantasy III
Final Fantasy IV
Final Fantasy V
Final Fantasy VI
Final Fantasy VII
Final Fantasy VIII
Final Fantasy IX
Final Fantasy X
La saga (cont.)
Final Fantasy XI
Final Fantasy XII
Final Fantasy XIII
Final Fantasy XIV
Final Fantasy XV
Final Fantasy XVI
Altri capitoli
Final Fantasy IV: The After Years
Before Crisis -Final Fantasy VII-
Crisis Core -Final Fantasy VII-
Dirge of Cerberus -Final Fantasy VII-
Final Fantasy VII: Advent Children
Final Fantasy X-2
Final Fantasy Tactics
Final Fantasy Tactics Advance
Final Fantasy Tactics A2: Grimoire of the Rift
Final Fantasy XII: Revenant Wings
Altri capitoli (cont.)
Dissidia Final Fantasy
Dissidia 012 Final Fantasy
Dissidia Final Fantasy NT
Final Fantasy XIII-2
Lightning Returns: Final Fantasy XIII
Final Fantasy Type-0
Bravely Default
Bravely Second: End Layer
Lista di articoli
Directory
Categorie principali
Soluzioni
Community
Manuale di stile
Staff della Wiki
Progetto 00
Mondi
Personaggi
Supporti
Minion
Attributi
Veicoli
Invocazioni
Nemici e boss
Oggetti
Modifica di
Modulo:HF
Ritorna alla pagina
Modifica sorgente
Cronologia
Discussione (0)
Modifica pagina
Modulo:HF
Attenzione:
non hai effettuato l'accesso. Se effettuerai delle modifiche il tuo indirizzo IP sarร visibile pubblicamente. Se
accedi
o
crei un'utenza
, le tue modifiche saranno attribuite al tuo nome utente, insieme ad altri benefici.
Controllo anti-spam.
NON
riempirlo!
local HF = {} HF.getArgs = require('Dev:Arguments').getArgs HF.L = require('Dev:List') -- String Functions function HF.lettersequencenumber(str) str = str:upper() local sct = string.tochartable(str) local tot = 0 for i=1, #sct do local q, l = string.byte(sct[i])-64, #sct-i tot = tot + q*(26^l) end return tot end function HF.lettersequence(number) if not number then local obj = {_lower = false} obj.lower = function(self, bool) if bool and bool==false then self._lower = false else self._lower = true end return self end obj.__index = function(self, key) if rawget(obj, key) then return rawget(obj, key) end if type(key)=="number" then local x = HF.lettersequence(key) if self._lower then return x:lower() end return x else return HF.lettersequencenumber(key) end end setmetatable(obj, obj) return obj end if number < 1 then return nil end number = number - 1 local nad = {} while number > 25 do table.insert(nad, 1, (number % 26)) number = math.floor(number/26)-1 end table.insert(nad, 1, number) local o = "" for i=1, #nad do o = o .. string.char(nad[i]+65) end return o end -- Date Functions function HF.formatDate( field ) -- InfoboxBuilder return HF.__formatDate( field.Value ) end function HF._formatDate( frame ) -- invoke return HF.__formatDate( frame.args[1] ) end function HF.__formatDate( var ) -- internal return language:formatDate("F j, Y", var) end -- List Functions function HF.list( field, vars ) -- InfoboxBuilder return HF.__list( field.ListType, field.Value ) end function HF._list( frame ) -- invoked local listtype = frame.args['type'] or frame.args[1] local divisible = frame.args return HF.__list( listtype, divisible ) end function HF.__list( listtype, divisible ) -- internal local items = HF.explode( ';', divisible ) if (listtype == 'horizontal') then items.class = 'hwrap plainlinks' end return HF.L.makeList( listtype , items ) end function HF.horizontal( frame ) -- invoked return HF.__list('horizontal', frame.args[1]) end function HF.bulleted( frame ) -- invoked return HF.__list('bulleted', frame.args[1]) end function HF.unbulleted( frame ) -- invoked return HF.__list('unbulleted', frame.args[1]) end function HF.elementlookup( frame ) -- invoked local args = HF.getArgs(frame, { trim = true, removeBlanks = true }) return HF._elementlookup( args ) end function HF.statuslookup( frame ) -- invoked local args = HF.getArgs(frame, { trim = true, removeBlanks = true }) return HF._statuslookup( args ) end -- Wikitext parsers -- mw.uri.encode( s, 'WIKI' ) should be used instead. function HF.tounderscore(val) return string.gsub(val, " ", "_") .. ""; end -- Conditionals ---Returns true if the value is not an empty string. --@param val The string to be tested. --@return Boolean: whether val is not an empty string. function HF.ifnotblank(val) return val ~= nil and val ~= ""; end -- Debugging ---Generates an error message. TODO: Change to mw.html. function HF.err(str) return '<strong class="error">ERROR: ' .. str .. '</strong>'; end -- frame ---Convert frame.args to #lengthable table --@param f - frame.args --@return table: Standard table form of frame.args. function HF.reargs(f) local n = {} for k, v in pairs(f) do n[k] = v end return n end ---Turn blank values into nil --@param f - frame.args --@return table: frame.args with all empty strings turned into nil function HF.emptystring(f) local n = {} for k, v in pairs(f) do if mw.text.trim(v) ~= "" then n[k] = v end end return n end function HF.expandTemplate(...) --this function doesn't work in console local t if type(arg[1])~="table" then if type(arg[2])~="table" then t = { title = table.remove(arg, 1), args = arg } else t = { title = arg[1], args = arg[2] } end else t = arg[1] end return mw.getCurrentFrame():expandTemplate(t) end function HF.toromannumeral(num) local rn = { i = 1, v = 5, x = 10 , l = 50, c = 100, d = 500, m = 1000 } local nD = math.floor(num/500) num = num%500 local nL = math.floor(num/50) num = num%50 local nV = math.floor(num/5) num = num%5 local nI = num local nX = math.floor(nV/2) nV = nV%2 local nC = math.floor(nL/2) nL = nL%2 local nM = math.floor(nD/2) nD = nD%2 local output = "" output = ("m"):rep(nM) if nC == 4 then output = output .. "c" .. (nD==0 and "d" or "m") else output = output .. ("d"):rep(nD) .. ("c"):rep(nC) end if nX == 4 then output = output .. "x" .. (nL==0 and "l" or "c") else output = output .. ("l"):rep(nL) .. ("x"):rep(nX) end if nI == 4 then output = output .. "i" .. (nV==0 and "v" or "x") else output = output .. ("v"):rep(nV) .. ("i"):rep(nI) end return output:upper() end function HF.fromromannumeral(str)--designed to be fairly accepting of invalid RN strings local rn = { i = 1, v = 5, x = 10 , l = 50, c = 100, d = 500, m = 1000 } local char = str:lower():tochartable() local rank = {0,0,0,0,0} local split = {""} local currank, lasrank = 0, 0 for i=1, #char do lasrank = currank currank = rn[char[i]] if currank <= lasrank then split[#split+1] = "" end split[#split] = split[#split] .. char[i] end for i=1, #split do local x = split[i]:tochartable() split[i] = rn[x[#x]] for j=#x-1, 1, -1 do split[i] = split[i] - rn[x[j]] end end local total = 0 for i=1, #split do total = total + split[i] end return total end return HF
Oggetto:
Si prega di notare che tutti i contributi effetuati su Final Fantasy Wiki sono considerati distribuiti sotto la CC-BY-SA
Annulla
Guida
(si apre in una nuova finestra)
Follow on IG
TikTok
Join Fan Lab