Mudanças entre as edições de "Módulo:TesteBossYawn"
Ir para navegação
Ir para pesquisar
| (22 revisões intermediárias pelo mesmo usuário não estão sendo mostradas) | |||
| Linha 1: | Linha 1: | ||
local p = {} | local p = {} | ||
function p.loadBossData(bossName) | |||
local normalizedName = bossName:gsub("^%l", string.upper) | |||
local success, bossData = pcall(function() | |||
return require("Módulo:"..normalizedName.."/data") | |||
end) | |||
if not success then | |||
return normalizedName .. " nao encontrado" | |||
end | |||
return bossData | |||
end | |||
function p.render(frame) | function p.render(frame) | ||
local bossName = frame.args.boss | local bossName = frame.args.boss | ||
if not bossName or bossName == "" then | |||
return "<b>Erro:</b> Parâmetro 'boss' não especificado." | |||
end | |||
local bossData = p.loadBossData(bossName) | |||
if not bossData then | if not bossData then | ||
return "<b>Erro:</b> Boss '" .. | return "<b>Erro:</b> Boss '" .. bossName .. "' não encontrado." | ||
end | end | ||
local | local skillsWikiText = "{{Reward|t|itens=14;1}}" | ||
-- Usa o parser completo | |||
local skillsHTML = frame:preprocess(skillsWikiText) | |||
bossData.recompensasHTML = skillsHTML; | |||
local jsonData = mw.text.jsonEncode(bossData) | |||
jsonData = mw.text.encode(jsonData) | |||
return frame:preprocess([[ | return frame:preprocess([[ | ||
<div class="boss-component" data-json="]] .. jsonData .. [["> | |||
{{#widget:TesteBossYawnv3}} | |||
</div> | |||
]]) | |||
end | end | ||
return p | return p | ||
Edição atual tal como às 23h11min de 9 de abril de 2026
A documentação para este módulo pode ser criada em Módulo:TesteBossYawn/doc
local p = {}
function p.loadBossData(bossName)
local normalizedName = bossName:gsub("^%l", string.upper)
local success, bossData = pcall(function()
return require("Módulo:"..normalizedName.."/data")
end)
if not success then
return normalizedName .. " nao encontrado"
end
return bossData
end
function p.render(frame)
local bossName = frame.args.boss
if not bossName or bossName == "" then
return "<b>Erro:</b> Parâmetro 'boss' não especificado."
end
local bossData = p.loadBossData(bossName)
if not bossData then
return "<b>Erro:</b> Boss '" .. bossName .. "' não encontrado."
end
local skillsWikiText = "{{Reward|t|itens=14;1}}"
-- Usa o parser completo
local skillsHTML = frame:preprocess(skillsWikiText)
bossData.recompensasHTML = skillsHTML;
local jsonData = mw.text.jsonEncode(bossData)
jsonData = mw.text.encode(jsonData)
return frame:preprocess([[
<div class="boss-component" data-json="]] .. jsonData .. [[">
{{#widget:TesteBossYawnv3}}
</div>
]])
end
return p