模块:勋章:修订间差异
外观
建立内容为“-- --处理勋章的模块 -- local p = {} --处理单个勋章 function renderAwardDiv(awardNum, args) --添加新的div local awardDiv = mw.html.creat…”的新页面 |
标签:回退 |
||
(未显示3个用户的19个中间版本) | |||
第31行: | 第31行: | ||
:css('text-align', 'center') | :css('text-align', 'center') | ||
:css('max-width', '200px') | :css('max-width', '200px') | ||
:css('min-width', '200px') | |||
:attr('border', '1') | :attr('border', '1') | ||
:attr('cellspacing', '0') | :attr('cellspacing', '0') | ||
if args['limited' .. awardNum] then | |||
local EXP = infoTable:tag('tr') | |||
EXP | |||
:tag('th') | |||
:wikitext('限定贩售期间') | |||
:done() | |||
:tag('td') | |||
:wikitext(args['limited' .. awardNum]) | |||
:done() | |||
end | |||
if args['cost' .. awardNum] then | |||
local cost = infoTable:tag('tr') | |||
cost | |||
:tag('th') | |||
:wikitext('获取条件') | |||
:done() | |||
:tag('td') | |||
:wikitext(args['cost' .. awardNum]) | |||
:done() | |||
end | |||
if args['price' .. awardNum] then | |||
local price = infoTable:tag('tr') | |||
price | |||
:tag('th') | |||
:wikitext('价格') | |||
:done() | |||
:tag('td') | |||
:wikitext(args['price' .. awardNum]) | |||
:done() | |||
end | |||
if args['Purchase' .. awardNum] then | |||
local Purchase = infoTable:tag('tr') | |||
Purchase | |||
:tag('th') | |||
:wikitext('购买条件') | |||
:done() | |||
:tag('td') | |||
:wikitext(args['Purchase' .. awardNum]) | |||
:done() | |||
end | |||
if args['Effect' .. awardNum] then | |||
local Effect = infoTable:tag('tr') | |||
Effect | |||
:tag('th') | |||
:wikitext('效果') | |||
:done() | |||
:tag('td') | |||
:wikitext(args['Effect' .. awardNum]) | |||
:done() | |||
end | |||
if args['EXP' .. awardNum] then | if args['EXP' .. awardNum] then | ||
local EXP = infoTable:tag('tr') | local EXP = infoTable:tag('tr') | ||
第41行: | 第93行: | ||
:tag('td') | :tag('td') | ||
:wikitext(args['EXP' .. awardNum]) | :wikitext(args['EXP' .. awardNum]) | ||
:done() | |||
end | |||
if args['upgrade' .. awardNum] then | |||
local upgrade = infoTable:tag('tr') | |||
upgrade | |||
:tag('th') | |||
:wikitext('升级说明') | |||
:done() | |||
:tag('td') | |||
:wikitext(args['upgrade' .. awardNum]) | |||
:done() | |||
end | |||
if args['requirements' .. awardNum] then | |||
local requirements = infoTable:tag('tr') | |||
requirements | |||
:tag('th') | |||
:wikitext('升级要求') | |||
:done() | |||
:tag('td') | |||
:wikitext(args['requirements' .. awardNum]) | |||
:done() | |||
end | |||
if args['ability' .. awardNum] then | |||
local ability = infoTable:tag('tr') | |||
ability | |||
:tag('th') | |||
:wikitext('升级能力') | |||
:done() | |||
:tag('td') | |||
:wikitext(args['ability' .. awardNum]) | |||
:done() | |||
end | |||
if args['ranking' .. awardNum] then | |||
local ranking = infoTable:tag('tr') | |||
ranking | |||
:tag('th') | |||
:wikitext('名次') | |||
:done() | |||
:tag('td') | |||
:wikitext(args['ranking' .. awardNum]) | |||
:done() | :done() | ||
end | end | ||
第51行: | 第143行: | ||
:tag('td') | :tag('td') | ||
:wikitext(args['author' .. awardNum]) | :wikitext(args['author' .. awardNum]) | ||
:done() | |||
end | |||
if args['inspiration' .. awardNum] then | |||
local inspiration = infoTable:tag('tr') | |||
inspiration | |||
:tag('th') | |||
:wikitext('灵感') | |||
:done() | |||
:tag('td') | |||
:wikitext(args['inspiration' .. awardNum]) | |||
:done() | |||
end | |||
if args['testimonials' .. awardNum] then | |||
local testimonials = infoTable:tag('tr') | |||
testimonials | |||
:tag('th') | |||
:wikitext('感言') | |||
:done() | |||
:tag('td') | |||
:wikitext(args['testimonials' .. awardNum]) | |||
:done() | :done() | ||
end | end | ||
第63行: | 第175行: | ||
end | end | ||
return awardDiv:node(infoTable) | return awardDiv:node(infoTable) | ||
第72行: | 第185行: | ||
--在这里mainDiv添加样式 | --在这里mainDiv添加样式 | ||
:css('overflow', 'auto') | :css('overflow', 'auto') | ||
:css('max-width', '800px') | :css('max-width', '800px') | ||
--循环处理每一个勋章 | --循环处理每一个勋章 | ||
for i, awardNum in ipairs(awardNums) do | --splitCount为分割的数量 | ||
mainDiv:node(renderAwardDiv(awardNum, args)) | local splitCount = tonumber(args['splitCount']) | ||
if splitCount then | |||
for i, awardNum in ipairs(awardNums) do | |||
mainDiv:node(renderAwardDiv(awardNum, args)) | |||
if i%splitCount==0 then mainDiv:tag('br') end | |||
end | |||
else | |||
for i, awardNum in ipairs(awardNums) do | |||
mainDiv:node(renderAwardDiv(awardNum, args)) | |||
end | |||
end | end | ||
2022年6月7日 (二) 13:45的最新版本
-{}- if args['cost' .. awardNum] then local cost = infoTable:tag('tr') cost :tag('th') :wikitext('获取条件') :done() :tag('td') :wikitext(args['cost' .. awardNum]) :done() end
-{}- {{勋章 |file1 = [[file:D级消费勋章-同盟DIVE.gif]] |name1 = 同盟DIVE |EXP1 = 30天 |author1 = kzdds123 |description1 = 发帖是不可能发帖的,这辈子不可能发帖的, 做活动又不会做 ,就是潜水这种东西 ,才能维持的了生活这样子 }}
-{}- {{勋章 |file1 = [[File:限制会员勋章.gif]] |name1 = 限制会员 |author1 = - |cost1 = - |EXP1 = 永久 |description1 = 限制在新手村的时候还请好好学习版规噢! }}
-{}- {{勋章 |file1 = [[File:限制会员勋章.gif]] |name1 = LV0:战五路线 |price1 = 5[[节操]] |Purchase1 = 回帖战斗力+100(触发 100%) |EXP1 = 永久 |Effect1 = - |upgrade1 =战斗狂人 |requirements1 = 战斗力≥0 |ability1 = 无效果 |description1 = 主要用于新人因连续两月做降低战斗力任务,<br> 导致战斗力低于-250而无法购买大部分勋章的情况时的补救措施。 }}

LV0:战五路线
价格 | 5节操 |
---|---|
购买条件 | 回帖战斗力+100(触发 100%) |
效果 | - |
有效期 | 永久 |
升级说明 | 战斗狂人 |
升级要求 | 战斗力≥0 |
升级能力 | 无效果 |
主要用于新人因连续两月做降低战斗力任务, 导致战斗力低于-250而无法购买大部分勋章的情况时的补救措施。 |
--
--处理勋章的模块
--
local p = {}
--处理单个勋章
function renderAwardDiv(awardNum, args)
--添加新的div
local awardDiv = mw.html.create('div')
if args['file' .. awardNum] then
awardDiv
--div样式
--:attr('align', 'center')
:css('width', '200px')
:css('margin', '15px')
:css('display', 'inline-block')
:css('vertical-align', 'top')
:css('position', 'relative')
:css('text-align', 'center')
:wikitext(args['file' .. awardNum])
:wikitext('<br>')
:wikitext(args['name' .. awardNum])
end
--创建表格
local infoTable = mw.html.create('table')
infoTable
:css('margin', 'auto')
:css('text-align', 'center')
:css('max-width', '200px')
:css('min-width', '200px')
:attr('border', '1')
:attr('cellspacing', '0')
if args['limited' .. awardNum] then
local EXP = infoTable:tag('tr')
EXP
:tag('th')
:wikitext('限定贩售期间')
:done()
:tag('td')
:wikitext(args['limited' .. awardNum])
:done()
end
if args['cost' .. awardNum] then
local cost = infoTable:tag('tr')
cost
:tag('th')
:wikitext('获取条件')
:done()
:tag('td')
:wikitext(args['cost' .. awardNum])
:done()
end
if args['price' .. awardNum] then
local price = infoTable:tag('tr')
price
:tag('th')
:wikitext('价格')
:done()
:tag('td')
:wikitext(args['price' .. awardNum])
:done()
end
if args['Purchase' .. awardNum] then
local Purchase = infoTable:tag('tr')
Purchase
:tag('th')
:wikitext('购买条件')
:done()
:tag('td')
:wikitext(args['Purchase' .. awardNum])
:done()
end
if args['Effect' .. awardNum] then
local Effect = infoTable:tag('tr')
Effect
:tag('th')
:wikitext('效果')
:done()
:tag('td')
:wikitext(args['Effect' .. awardNum])
:done()
end
if args['EXP' .. awardNum] then
local EXP = infoTable:tag('tr')
EXP
:tag('th')
:wikitext('有效期')
:done()
:tag('td')
:wikitext(args['EXP' .. awardNum])
:done()
end
if args['upgrade' .. awardNum] then
local upgrade = infoTable:tag('tr')
upgrade
:tag('th')
:wikitext('升级说明')
:done()
:tag('td')
:wikitext(args['upgrade' .. awardNum])
:done()
end
if args['requirements' .. awardNum] then
local requirements = infoTable:tag('tr')
requirements
:tag('th')
:wikitext('升级要求')
:done()
:tag('td')
:wikitext(args['requirements' .. awardNum])
:done()
end
if args['ability' .. awardNum] then
local ability = infoTable:tag('tr')
ability
:tag('th')
:wikitext('升级能力')
:done()
:tag('td')
:wikitext(args['ability' .. awardNum])
:done()
end
if args['ranking' .. awardNum] then
local ranking = infoTable:tag('tr')
ranking
:tag('th')
:wikitext('名次')
:done()
:tag('td')
:wikitext(args['ranking' .. awardNum])
:done()
end
if args['author' .. awardNum] then
local author = infoTable:tag('tr')
author
:tag('th')
:wikitext('作者')
:done()
:tag('td')
:wikitext(args['author' .. awardNum])
:done()
end
if args['inspiration' .. awardNum] then
local inspiration = infoTable:tag('tr')
inspiration
:tag('th')
:wikitext('灵感')
:done()
:tag('td')
:wikitext(args['inspiration' .. awardNum])
:done()
end
if args['testimonials' .. awardNum] then
local testimonials = infoTable:tag('tr')
testimonials
:tag('th')
:wikitext('感言')
:done()
:tag('td')
:wikitext(args['testimonials' .. awardNum])
:done()
end
if args['description' .. awardNum] then
local description = infoTable:tag('tr')
description
:tag('td')
:attr('colspan', '2')
:css('padding', '0 10px 0 10px')
:wikitext(args['description' .. awardNum])
:done()
end
return awardDiv:node(infoTable)
end
--处理表格
function renderMainDiv(awardNums, args)
local mainDiv = mw.html.create('div')--创建mainDiv
--在这里mainDiv添加样式
:css('overflow', 'auto')
:css('max-width', '800px')
--循环处理每一个勋章
--splitCount为分割的数量
local splitCount = tonumber(args['splitCount'])
if splitCount then
for i, awardNum in ipairs(awardNums) do
mainDiv:node(renderAwardDiv(awardNum, args))
if i%splitCount==0 then mainDiv:tag('br') end
end
else
for i, awardNum in ipairs(awardNums) do
mainDiv:node(renderAwardDiv(awardNum, args))
end
end
return mainDiv
end
function p.awards(frame)
local args={}
local awardNums={}
--获取页面传来得参数,而不是模板的参数
local parent_args = frame:getParent().args;
--将获取的参数传给args
for k, v in pairs(parent_args) do
if v ~= 'nil' then
args[k] = v
end
end
for k, v in pairs(args) do
--依靠file个数,计算勋章个数
local awardNum = ('' .. k):match('^file(%d+)$')
if awardNum then table.insert(awardNums, tonumber(awardNum)) end
end
table.sort(awardNums)
--处理勋章
local mainDiv = renderMainDiv(awardNums, args)
return tostring(mainDiv)
end
return p