本模块用来生成新版Template:ISMLTimer的主体结构,请尽量避免直接调用本模块。
在每届大会开始之前,请根据日程表对本模块进行维护。
具体的维护内容包括:
赛程方面的更新请参阅当年章程,赛程方面的更新同样会反映到当年度的日程表中,可以互做参照。
根据赛事阶段的不同,请用不同的颜色进行标识,参见{{ISML}}。
具体的更新要求请参见模块中具体注释,请勿删除--后的注释文字。
诚挚的向维护者表示感谢。
local p = {}
function p.main(frame)
--这里的表格是不同阶段的日程表,维护时只需修改这些数字即可,淘汰赛每个阶段单独一行
--注意不要删去0,这是判断轮次的依据之一
--同时注意:在常规赛七个阶段轮次不统一时,需要在2-8行(即常规赛)少的一边补充0至所有数组的元素数量相同
local days={{1006,1010,1013,1017,1020,1024,0}, --预选阶段
{1110,1114,1117,1121,1124,1128,0}, --第一阶段(原:海蓝宝石)
{1208,1212,1215,1219,1222,1226,0}, --第二阶段(原:紫水晶)
{105,109,112,116,119,123,0}, --第三阶段(原:红宝石)
{202,206,209,213,216,220,0}, --第四阶段(原:绿宝石)
{302,306,309,313,316,320,0}, --第五阶段(原:黄玉)
--{0,0,0,0,0,0,0}, --红宝石
--{0,0,0,0,0,0,0}, --钻石
{326,0}, --淘汰赛 - 恒星联赛淘汰赛预赛&新星联赛淘汰赛瑞士制第一轮
{330,0}, --淘汰赛 - 恒星联赛胜者组第一轮&败者组第一轮&新星联赛淘汰赛瑞士制第二轮
{403,0}, --淘汰赛 - 恒星联赛败者组第二轮&新星联赛淘汰赛瑞士制第三轮
{407,0}, --淘汰赛 - 恒星联赛胜者组第二轮&败者组第三轮&新星联赛淘汰赛瑞士制第四轮
{411,0}, --淘汰赛 - 恒星联赛败者组第四轮&新星联赛淘汰赛瑞士制第五轮
{415,0}, --淘汰赛 - 恒星联赛胜者组第三轮&败者组第五轮&新星联赛淘汰赛决胜赛第一轮
{419,0}, --淘汰赛 - 恒星联赛败者组第六轮&新星联赛淘汰赛决胜赛第二轮
{423,0}, --恒星联赛总决赛&新星联赛淘汰赛决胜赛第三轮
{427,0}, --恒星联赛总决赛加赛&新星联赛总决赛
{501,0}} --新星联赛总决赛加赛
--如果颜色发生了改变,在这里进行修改
--[[参考值:
英文名, 中文名, 颜色代码
'Preliminary', '预选阶段', 'FF4500'
'Aquamarine', '海蓝宝石', '30C090'
'Topaz', '黄玉', 'D0A050'
'Amethyst', '紫水晶', 'A050C0'
'Sapphire', '蓝宝石', '4466BB'
'Emerald', '绿宝石', '208020'
'Ruby', '红宝石', 'CF1020'
'Diamond', '钻石', 'C9C9C9'
'Round of 16', '淘汰赛 - 16强赛','F20C78'
'Quarterfinals','淘汰赛 - 8强赛',
'Semifinals', '淘汰赛 - 半决赛',
'Finals', '淘汰赛 - 总决赛',
]]
local data={{'Preliminary','预选阶段','FF4500'},
{'First Group Stage','第一阶段','30C090'},
{'Second Group Stage','第二阶段','A050C0'},
{'Third Group Stage','第三阶段','CF1020'},
{'Fourth Group Stage','第四阶段','208020'},
{'Fifth Group Stage','第五阶段','D0A050'},
{'Playoff Round 1','淘汰赛 - 第1轮','F20C78'},
{'Playoff Round 2','淘汰赛 - 第2轮','F20C78'},
{'Playoff Round 3','淘汰赛 - 第3轮','F20C78'},
{'Playoff Round 4','淘汰赛 - 第4轮','F20C78'},
{'Playoff Round 5','淘汰赛 - 第5轮','F20C78'},
{'Playoff Round 6','淘汰赛 - 第6轮','F20C78'},
{'Playoff Round 7','淘汰赛 - 第7轮','F20C78'},
{'Finals','淘汰赛 - 第8轮','F20C78'},
{'Finals Plus','淘汰赛 - 第9轮','F20C78'},
{'Finals Plus','淘汰赛 - 第10轮','F20C78'}}
local stage = 0
local round = 0
local en = ''
local zh = ''
local out = ''
local args = tonumber(frame.args[1])
--根据 args 在 days 表中查找,以确定当前所处的阶段(stage)和轮次(round)
for i, phase in ipairs(days) do
for j, day in ipairs(phase) do
if args == day then
stage = i
round = j
end
end
end
if stage == 0 or type(args) == 'nil' then
return 0
elseif days[stage][round+1] == 0 and data[stage][3] ~= 'FF4500' and data[stage][3] ~= 'E87B27' then
en='style=\"width:250px;color:white;background:#'..data[stage][3]..'\"|'..data[stage][1]..' Necklace Showdown\n|'
zh='-align=\"middle\"\n|style=\"width:250px;color:white;background:#'..data[stage][3]..'\"|<big><big>'..data[stage][2]..' - 项链及垂饰赛</big></big>'
out = en..zh
return out
elseif days[stage][2] == 0 then
en='style=\"width:250px;color:white;background:#'..data[stage][3]..'\"|'..data[stage][1]..'\n|'
zh='-align=\"middle\"\n|style=\"width:250px;color:white;background:#'..data[stage][3]..'\"|<big><big>'..data[stage][2]..'</big></big>'
out = en..zh
return out
else
en='style=\"width:250px;color:white;background:#'..data[stage][3]..'\"|'..data[stage][1]..' '..round..'\n|'
zh='-align=\"middle\"\n|style=\"width:250px;color:white;background:#'..data[stage][3]..'\"|<big><big>'..data[stage][2]..' - 第'..round..'轮</big></big>'
out = en..zh
return out
end
end
return p