2023年政策修订增补工作正在进行中,欢迎参与!
  • Moegirl.ICU:萌娘百科流亡社群 581077156(QQ),欢迎对萌娘百科运营感到失望的编辑者加入
  • Moegirl.ICU:账号认领正在试运行,有意者请参照账号认领流程

Module:Sandbox/Ultim 0

萌娘百科,万物皆可萌的百科全书!转载请标注来源页面的网页链接,并声明引自萌娘百科。内容不可商用。
跳转到导航 跳转到搜索
Template-info.svg 模块文档  [查看] [编辑] [历史] [刷新]

这里是ultim_0在萌娘百科练习Lua的地方。

本模块现有函数如下:

函数名称 函数用法及输出示例 说明
p.main

{{#invoke:Sandbox/Ultim 0|main}}

  • Hello World!
示例函数。

参考

--这是[[User:Ultim 0]]在萌娘百科练习Lua的地方。
local p={}

function p.sgsWords(frame)	--生成[[三国杀]]武将页面中的台词列表 
	local content='<table class="wikitable" style="text-align:center">'
	if type(frame.args["skin"])~="nil" then
		content =content .. "<tr><th>皮肤</th><td colspan=2>" .. frame.args["skin"] .. "</td></tr>"
	end
	content=content .. '<tr><th>技能</th><th colspan=2>台词</th><tr>'	--表头字段
	local i=0	--计数用
	while (frame.args[i+1]~="-" and frame.args[i+1]~="-\n")	-- 当输入完所有技能及台词后,在其后的参数填“-”
	do
		if(frame.args[i+3]=="-" or frame.args[i+3]=="-\n") then	--如果某一技能只有1个台词,请在唯一台词后的参数填“-”
			content=content .. "<tr><th>"
			content=content .. frame.args[i+1]	--技能名称
			content=content .. "</th><td colspan=2>"
			content=content .. frame.args[i+2]	--台词名称
			content=content .. "</td></tr>"
		else
			content=content .. "<tr><th>"
			content=content .. frame.args[i+1]	--技能名称
			content=content .. "</th><td>"
			content=content .. frame.args[i+2]	--台词1
			content=content .. "</td><td>"
			content=content .. frame.args[i+3]	--台词2
			content=content .. "</td></tr>"
		end
		i=i+3
	end
	if type(frame.args["death"])~="nil" then
		content=content .. "<tr><th>阵亡</th><td colspan=2>" .. frame.args["death"] .. "</td></tr>"
	end
	content=content .. "</table>"
	return content
end

function p.sgsWords2(frame)	--生成[[三国杀]]武将页面中的台词列表,但是把HTML标签换成了wikitext
	local content=""
	if type(frame.args["multi"])=="nil" or (type(frame.args["multi"])~="nil" and type(frame.args["head"])~="nil") then 
		content=content .. '{| class="wikitable" style="text-align:center"\n'
	else
		content=content .. "| colspan=3 |\n|-\n"
	end
	if type(frame.args["skin"])~="nil" then
		content =content .. "| '''皮肤'''\n| colspan=2 |" .. frame.args["skin"] .. "\n|-\n"
	end
	content=content .. '! 技能 !! colspan=2 | 台词\n|-\n'	--表头字段
	local i=0	--计数用
	while (frame.args[i+1]~="-" and frame.args[i+1]~="-\n")	-- 当输入完所有技能及台词后,在其后的参数填“-”
	do
		if(frame.args[i+3]=="-" or frame.args[i+3]=="-\n") then	--如果某一技能只有1个台词,请在唯一台词后的参数填“-”
			content=content .. "| '''"
			content=content .. frame.args[i+1]	--技能名称
			content=content .. "''' || colspan=2 |"
			content=content .. frame.args[i+2]	--台词名称
			content=content .. "\n|-\n"
		else
			content=content .. "| '''"
			content=content .. frame.args[i+1]	--技能名称
			content=content .. "''' || "
			content=content .. frame.args[i+2]	--台词1
			content=content .. " || "
			content=content .. frame.args[i+3]	--台词2
			content=content .. "\n|-\n"
		end
		i=i+3
	end
	if type(frame.args["death"])~="nil" then
		content=content .. "| '''阵亡''' || colspan=2 | " .. frame.args["death"] .. "\n|-\n"
	end
	if type(frame.args["multi"])=="nil" or (type(frame.args["multi"])~="nil" and type(frame.args["foot"])~="nil") then 
		content=content .. "|}\n"
	end
	return content
end

function p.main()	--示例函数
	local text="Hello World!"
	return text
end

return p