全站通知:
            
            
        
模块:Quest/GenerateNameMap
                  
                  
                  刷
                  
                     
                               
                               历
                            
                  
                    
                      
                        
                        编
                      
                    
                < 模块:Quest
            
            
            
            跳到导航
            跳到搜索
            
            -- Module:Quests/GenerateNameMap (临时调试用)
local p = {}
function p.generateMap(frame)
    local questData = mw.loadData("Module:Quests/data")
    
    -- 存储名称出现次数
    local nameCount = {}
    -- 存储结果
    local result = {}
    
    -- 第一遍:统计重名
    for id, info in pairs(questData) do
        local parts = {}
        for match in (info.."/"):gmatch("(.-)/") do
            table.insert(parts, match)
        end
        local name = parts[2] or ""
        
        if name and name ~= "" then
            nameCount[name] = (nameCount[name] or 0) + 1
        end
    end
    
    -- 存储每个名称的当前序号
    local currentCount = {}
    
    -- 第二遍:生成映射(按ID排序)
    local sortedIds = {}
    for id in pairs(questData) do
        table.insert(sortedIds, id)
    end
    table.sort(sortedIds, function(a, b) return tonumber(a) < tonumber(b) end)
    
    for _, id in ipairs(sortedIds) do
        local info = questData[id]
        local parts = {}
        for match in (info.."/"):gmatch("(.-)/") do
            table.insert(parts, match)
        end
        local name = parts[2] or ""
        
        if name and name ~= "" then
            local finalName = name
            
            -- 如果有重名,添加序号
            if nameCount[name] > 1 then
                currentCount[name] = (currentCount[name] or 0) + 1
                finalName = name .. currentCount[name]
            end
            
            table.insert(result, string.format('    ["%s"] = "%s",', 
                finalName:gsub('"', '\\"'), id))
        end
    end
    
    return '<pre>local questNameToId = {\n' .. table.concat(result, '\n') .. '\n}</pre>'
end
--[[
    ["神秘的齐1"] = "2",  -- 彩虹贝壳
    ["神秘的齐2"] = "3",  -- 甜菜
    ["神秘的齐3"] = "4",  -- 太阳精华
    ["神秘的齐4"] = "5",  -- 木材堆
    ["入门1"] = "15",  -- 击杀史莱姆
    ["入门2"] = "16",  -- 进入探险家公会 
    ["考古发现1"] = "23",  -- 去博物馆
    ["考古发现2"] = "24",  -- 捐赠古物
    ["……1"] = "128",  -- 阿比盖尔项链
    ["……2"] = "129",  -- 卡洛琳项链
--]]
return p
                
                    沪公网安备 31011002002714 号