模块:测试调用数据:修订间差异

无编辑摘要
无编辑摘要
第1行: 第1行:
local p = {}
local p = {}
local db = require('模块:测试数据库')
local db = mw.loadData('模块:角色属性数据')
local dataList = db.char_skill_data
local dataList = db.char_self_data
local query_num = frg['角色序号']
local elements = {"HP", "SP", "ATK", "DEF", "MAG", "MDEF", "CRT", "SPD"}


p["编号查询"] = function(frame)  
p["测试调用"] = function(frame)  
    -- 查询角色编号
     for _, char in ipairs(dataList) do
    local owner_num = frame.args['角色编号']
         if query_num == char.owner_order then
    if not owner_num then
             for _, element in ipairs(elements) do
        return "缺少角色编号参数"
                local maxAttr = "MAX" .. element
    end
                local maxAttrValue = char.Data_jp[maxAttr]
    mw.log("收到参数: " .. owner_num)
                testTable(maxAttr, maxAttrValue)
 
                 local baseAttr = "Base" .. element
    -- 提取数据
                local baseAttrValue = char.Data_jp[maxAttr]
    local filteredData = {}
                testTable(baseAttr, baseAttrValue)
     for _i, v in ipairs(dataList) do
         if v.owner_order == owner_num then
             for _, skill in ipairs(v.owner_skill) do
                 table.insert(filteredData, skill)
             end
             end
            mw.log("成功查询到角色编号: " .. owner_num)
         end
         end
     end
     end
end


    if #filteredData > 0 then
function testTable(a,b)
        -- 按 skill_order 排序
    table.insert(result, a .. "".. b)
        table.sort(filteredData, function(a, b)
            return tonumber(a.skill_order) < tonumber(b.skill_order)
        end)
        mw.log("完成排序")
 
        -- 创建 HTML
        local html = mw.html.create('ul')
        for _i, v in ipairs(filteredData) do
            if v.skill_name_cn then
                html:tag('li'):wikitext(v.skill_name_cn)
            end
        end
 
        return tostring(html)
    else
        mw.log("未找到匹配的技能数据")
        return "未找到匹配的技能数据"
    end
end
end


return p
return p

2024年6月26日 (三) 17:37的版本

可在模块:测试调用数据/doc创建此模块的帮助文档

local p = {}
local db = mw.loadData('模块:角色属性数据')
local dataList = db.char_self_data
local query_num = frg['角色序号']
local elements = {"HP", "SP", "ATK", "DEF", "MAG", "MDEF", "CRT", "SPD"}

p["测试调用"] = function(frame) 
    for _, char in ipairs(dataList) do
        if query_num == char.owner_order then
            for _, element in ipairs(elements) do
                local maxAttr = "MAX" .. element
                local maxAttrValue = char.Data_jp[maxAttr]
                testTable(maxAttr, maxAttrValue)
                local baseAttr = "Base" .. element
                local baseAttrValue = char.Data_jp[maxAttr]
                testTable(baseAttr, baseAttrValue)
            end
        end
    end
end

function testTable(a,b)
    table.insert(result, a .. ":".. b)
end

return p