--這是[[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