模块:Hydrogina/sandbox/charskill

来自PRTS
跳到导航 跳到搜索

干员专精页面获得干员的专精或职能

例如:

{{#invoke:Hydrogina/sandbox/charskill|get|华法琳}} {{#invoke:Hydrogina/sandbox/charskill|get|华法琳|searchlabel=职能}}

【专精】临床医学 血液学 急救

【职能】医生


p={}

function p.get(frame)
	local args = (frame == mw.getCurrentFrame() and frame.args) or frame
	
	local rtn=""
	
	local argv = 0
	while(args[argv+1])do
		argv=argv+1
	end
	
	local char="华法琳"
	local searchlabel="专精"
	local web=":干员专精"
	
	if(args["char"])then
		char=args["char"]
	end
	
	if(args[1])then
		char=args[1]
	end
	
	if(args["searchlabel"])then
		searchlabel=args["searchlabel"]
	end
	
	if(args["web"])then
		web=args["web"]
	end

	----------------------------------------------------------------------------------
	
	local str=frame:expandTemplate{title = web, args = {}}
	
	----------------------------------------------------------------------------------
	
	local sep="|-"
	local chareach=mw.text.split(str, sep ,true)
	
	
	--rtn2=table.concat(chareach,"\n---------------------------------\n")
	----------------------------------------------------------------------------------
	
	local fndchar=nil
	for i = 1, #chareach do
		local fnd=string.find (chareach[i], "%[%["..char.."]]")
		
		if(fnd)then
			fndchar=chareach[i]
			break
		end
		
	end
	
	----------------------------------------------------------------------------------
	
	if(fndchar)then
		local sep="|"
		local itemeach=mw.text.split(fndchar, sep ,true)
		
		--rtn2=table.concat(itemeach,"\n---------------------------------\n")
		
		for i = 1, #itemeach do
			local fnd=string.find (itemeach[i], searchlabel)
			
			if(fnd)then
				rtn=itemeach[i]
				rtn=string.gsub(rtn,"\n","");
				break
			end
		end
	end
	
	----------------------------------------------------------------------------------
	
	
	----------------------------------------------------------------------------------
	--return rtn.."aaa"..rtn2
	return rtn
end
return p