Module:Tool:修订间差异
(Rain of Conflict in a Radiant Abyss特殊处理) |
(新增12段) |
||
第36行: | 第36行: | ||
end | end | ||
commentMatch=nil | commentMatch=nil | ||
result=result-17 --这里删掉因为sia和shirabe常驻而多统计的6+11=17个 | |||
result=result-17 --这里删掉因为sia和shirabe常驻而多统计的6+11=17个 | result=result-17 --这里删掉因为sia和shirabe常驻而多统计的6+11=17个 | ||
local text=mw.title.new(':曲包列表'):getContent() | local text=mw.title.new(':曲包列表'):getContent() | ||
第50行: | 第51行: | ||
mmr=mmr+number-4 --这里减去guardina innocence desive rainofconflict | mmr=mmr+number-4 --这里减去guardina innocence desive rainofconflict | ||
ann5=55 --五周年兑换券给的55个 | ann5=55 --五周年兑换券给的55个 | ||
course= | course=60 --段位模式给 的60 个 | ||
mission=15 --新手任务给的15个 | mission=15 --新手任务给的15个 | ||
if frame.args.type=="purchase" then return mmr | if frame.args.type=="purchase" then return mmr |
2024年12月18日 (三) 16:03的版本
可在Module:Tool/doc创建此模块的帮助文档
local p={}
-- 小工具集
--时间格式转换
function p.time(frame)
return os.date("%Y/%m/%d", frame.args.time)
end
--获取以太之滴总数
function p.Etherdrop(frame)
local text=mw.title.new(':世界模式'):getContent()
if frame.args.type=="limit" then text=string.match(text,"额外章:活动([%s%S]-)第1章:失落的世界")
else text=string.match(text,"额外章:活动([%s%S]-)Nintendo Switch版调整") end
local match=string.gmatch(text,"(%d?%d) 以太之滴")
local result=0
local number=nil
while true
do
number=match()
if number==nil then break end
result=result+number
end
--这里开始匹配注释
local commentMatch=string.gmatch(text,"<!%-%-([%s%S]-)%-%->")
while true
do
text=commentMatch()
if text==nil then break end
match=string.gmatch(text,"(%d?%d) 以太之滴")
while true
do
number=match()
if number==nil then break end
result=result-number
end
end
commentMatch=nil
result=result-17 --这里删掉因为sia和shirabe常驻而多统计的6+11=17个
result=result-17 --这里删掉因为sia和shirabe常驻而多统计的6+11=17个
local text=mw.title.new(':曲包列表'):getContent()
match=string.gmatch(text,"(%d)00记忆源点/整曲包")
local mmr=0
while true
do
number=match()
if number==nil then break end
mmr=mmr+number
end
match=string.gmatch(text,"单曲包\n|(%d?%d)")
number=match()
mmr=mmr+number-4 --这里减去guardina innocence desive rainofconflict
ann5=55 --五周年兑换券给的55个
course=60 --段位模式给的60个
mission=15 --新手任务给的15个
if frame.args.type=="purchase" then return mmr
elseif frame.args.type=="ann5" then return ann5
elseif frame.args.type=="course" then return course
elseif frame.args.type=="mission" then return mission
elseif frame.args.type=="max" then return result+mmr+ann5+course+mission
else return result
end
end
--从字符串中移除某字符
function p.LuaReomve(frame)
str=frame.args.str
remove=frame.args.remove
local lcSubStrTab = {}
while true do
local lcPos = string.find(str,remove)
if not lcPos then
lcSubStrTab[#lcSubStrTab+1] = str
break
end
local lcSubStr = string.sub(str,1,lcPos-1)
lcSubStrTab[#lcSubStrTab+1] = lcSubStr
str = string.sub(str,lcPos+1,#str)
end
local lcMergeStr =""
local lci = 1
while true do
if lcSubStrTab[lci] then
lcMergeStr = lcMergeStr .. lcSubStrTab[lci]
lci = lci + 1
else
break
end
end
return lcMergeStr
end
function link(frame)
local result=""
for i,k in ipairs(frame.args) do
result=result..'<span id="'..k..'"></span>'
end
return result
end
return p