Module:Songconstant:修订间差异
(判空) |
(重写) |
||
(未显示同一用户的2个中间版本) | |||
第11行: | 第11行: | ||
["[X]"]="infinity", | ["[X]"]="infinity", | ||
} | } | ||
-- 你维好像没有关于这个的 直接的 东西 | -- 你维好像没有关于这个的 直接的 东西 。有了请替换掉 | ||
local p={} | local p={} | ||
第20行: | 第20行: | ||
function p._main(args) | function p._main(args) | ||
-- | -- 指定曲目:id / name / nameAuto | ||
-- id 优先于 name | -- id 优先于 name 优先于 nameAuto | ||
-- | -- 指定数值:(优先于指定曲目) | ||
-- | -- PST曲目定数 / Past / PST | ||
-- PRS曲目定数 / Present / PRS | |||
-- FTR曲目定数 / Future / FTR | |||
-- BYD曲目定数 / Beyond / BYD | |||
-- ETR曲目定数 / Eternal / ETR | |||
local diffs={ | |||
args["PST曲目定数"] or args["Past"] or args["PST"], | |||
args["PRS曲目定数"] or args["Present"] or args["PRS"], | |||
args["FTR曲目定数"] or args["Future"] or args["FTR"], | |||
args["BYD曲目定数"] or args["Beyond"] or args["BYD"], | |||
args["ETR曲目 定数"] or args["Eternal"] or args["ETR"], | |||
} | |||
local id='' | local id='' | ||
if args["id"] and args["id"] ~= "" then | if args["id"] and args["id"] ~= "" then | ||
id=args["id"] | id=args["id"] | ||
elseif args["name"] then | elseif args["name"] or args["nameAuto"] then | ||
local name=args["name"] | local name=args["name"] or args["nameAuto"] | ||
if specialTransition[name] then | if specialTransition[name] then | ||
id=specialTransition[name] | id=specialTransition[name] | ||
第35行: | 第46行: | ||
end | end | ||
end | end | ||
if id=='' then | if not (id=='' or id==nil) then | ||
if constantTable[id] then | |||
for diff=1,5 do | |||
if constantTable[id][diff] then | |||
diffs[diff]=diffs[diff] or string.format("%.1f",constantTable[id][diff]["constant"]) | |||
end | |||
end | |||
end | |||
end | |||
local wikiText='{| class="wikitable" style="text-align:center" cellspacing="0" cellpadding="5"' | |||
local names={'Past','Present','Future','Beyond','Eternal'} | |||
for diff=1,5 do | |||
if diffs[diff] then | |||
wikiText=wikiText .. '\n!' .. names[diff] | |||
end | |||
end | end | ||
wikiText=wikiText .. '\n|-' | |||
if | for diff=1,5 do | ||
if diffs[diff] then | |||
wikiText=wikiText .. '\n|' .. diffs[diff] | |||
end | |||
end | end | ||
return | wikiText=wikiText .. '\n|}' | ||
return wikiText | |||
end | end | ||
return p | return p |
2024年11月23日 (六) 18:55的最新版本
可在Module:Songconstant/doc创建此模块的帮助文档
local getArgs = require('Module:Arguments').getArgs
local getData = require("Module:Arcaea Data")
local constantTable = mw.text.jsonDecode(mw.getCurrentFrame():expandTemplate{ title = 'ChartConstant.json' })
local specialTransition={
["Quon (DJ Noriken)"]="quonwacca",
["Quon (Feryquitous)"]="quon",
["Genesis (Iris)"]="genesis",
["Genesis (Morrigan)"]="genesischunithm",
["#1f1e33"]="ifi",
["AI[UE]OON"]="aiueoon",
["[X]"]="infinity",
}
-- 你维好像没有关于这个的 直接的 东西。有了请替换掉
local p={}
function p.main(frame)
local args = getArgs(frame)
return p._main(args)
end
function p._main(args)
-- 指定曲目:id / name / nameAuto
-- id 优先于 name 优先于 nameAuto
-- 指定数值:(优先于指定曲目)
-- PST曲目定数 / Past / PST
-- PRS曲目定数 / Present / PRS
-- FTR曲目定数 / Future / FTR
-- BYD曲目定数 / Beyond / BYD
-- ETR曲目定数 / Eternal / ETR
local diffs={
args["PST曲目定数"] or args["Past"] or args["PST"],
args["PRS曲目定数"] or args["Present"] or args["PRS"],
args["FTR曲目定数"] or args["Future"] or args["FTR"],
args["BYD曲目定数"] or args["Beyond"] or args["BYD"],
args["ETR曲目定数"] or args["Eternal"] or args["ETR"],
}
local id=''
if args["id"] and args["id"] ~= "" then
id=args["id"]
elseif args["name"] or args["nameAuto"] then
local name=args["name"] or args["nameAuto"]
if specialTransition[name] then
id=specialTransition[name]
else
id=getData.singleSongInformation(name,"name","mobile")("id")
end
end
if not (id=='' or id==nil) then
if constantTable[id] then
for diff=1,5 do
if constantTable[id][diff] then
diffs[diff]=diffs[diff] or string.format("%.1f",constantTable[id][diff]["constant"])
end
end
end
end
local wikiText='{| class="wikitable" style="text-align:center" cellspacing="0" cellpadding="5"'
local names={'Past','Present','Future','Beyond','Eternal'}
for diff=1,5 do
if diffs[diff] then
wikiText=wikiText .. '\n!' .. names[diff]
end
end
wikiText=wikiText .. '\n|-'
for diff=1,5 do
if diffs[diff] then
wikiText=wikiText .. '\n|' .. diffs[diff]
end
end
wikiText=wikiText .. '\n|}'
return wikiText
end
return p