全站通知:

模块:挑战任务

来自斯露德WIKI_BWIKI_哔哩哔哩
跳到导航 跳到搜索

输入

注:[,]和[;]均为英文字符

{{#invoke:挑战任务|main|内容1,5;内容2,12;内容乱七八糟的,114;内容整整齐齐的,514}}<br>
----
{{#invoke:挑战任务|main|要点1,5,源晶钻;要点2,12;要点3,114;要点4,514|AutoBr = true }}

呈现

内容1+Icon-bg-5星.png
源晶钻.png
5
内容2+Icon-bg-5星.png
源晶碎.png
12
内容乱七八糟的+Icon-bg-5星.png
源晶碎.png
114
内容整整齐齐的+Icon-bg-5星.png
源晶碎.png
514


要点1+Icon-bg-5星.png
源晶钻.png
5

要点2+Icon-bg-5星.png
源晶碎.png
12

要点3+Icon-bg-5星.png
源晶碎.png
114

要点4+Icon-bg-5星.png
源晶碎.png
514

代码部分


local p = {}

local function ProcessPart(input_string, custom_icon)
  local parts = mw.text.split(input_string, ",")

  local icon_value = custom_icon or parts[3] or "源晶碎"

  -- 使用 Lua 调用模板
  local icon = mw.getCurrentFrame():expandTemplate{ title = '图标', args = { '小拼图', icon_value, parts[2] } }

  return parts[1] .. "+" .. icon
end

function p.main(frame)
  local input_text = frame.args[1] or ""
  local auto_br = frame.args.AutoBr or false
  local parts = mw.text.split(input_text, ";")
  local output = ""

  for _, part in ipairs(parts) do
    local result = ProcessPart(part)
    output = output .. result
    if auto_br then
      output = output .. "<br>"
    end
  end

  return output
end

return p