这里是ultim_0在萌娘百科练习Lua的地方。
本模块现有函数如下:
函数名称 |
函数用法及输出示例 |
说明
|
p.main
|
{{#invoke:Sandbox/Ultim 0|main}}
|
示例函数。
|
参考
--这是[[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