Module:Tool:修订间差异

来自Arcaea中文维基
(增加获取以太之滴总数)
(添加仅限限时功能,修复bug)
第8行: 第8行:


--获取以太之滴总数
--获取以太之滴总数
function p.Etherdrop()
function p.Etherdrop(frame)
local text=mw.getCurrentFrame():expandTemplate{ title = ':世界模式' }
local text=mw.getCurrentFrame():expandTemplate{ title = ':世界模式' }
match=string.gmatch (text,"(%d?%d) 以太之滴")
if frame.args.type==limit then text=string.match(text,"额外章:活动([%s%S]*)第1章:失落的世界") end
local match=string.gmatch (text,"(%d?%d) 以太之滴")
local result=0
local result=0
local number=nil
while true
while true
do
do
第18行: 第20行:
result=result+number
result=result+number
end
end
return result
return result-6
end
end



2021年3月17日 (三) 12:24的版本

可在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.getCurrentFrame():expandTemplate{ title = ':世界模式' }
	if frame.args.type==limit then text=string.match(text,"额外章:活动([%s%S]*)第1章:失落的世界") 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
	return result-6
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

return p