模块:卡拉彼丘
刷
历
编
跳到导航
跳到搜索
该模块用于存放一些经常使用的函数和表。
local p = {}
--道具稀有度颜色表
p.qualityColor = {
["私服"] = "#F78653",
["传说"] = "#F85555",
["完美"] = "#FFC555",
["卓越"] = "#F285FF",
["精致"] = "#60A3F7",
["初始"] = "#ECECEC",
}
local itemsTypeRanges = {
{ min = 1, max = 99, type = "货币" },
{ min = 101, max = 999, type = "超弦体" },
{ min = 10201, max = 10399, type = "消耗品" },
{ min = 10401, max = 10499, type = "特别行动加速卡" },
{ min = 10501, max = 10599, type = "排位赛消耗品" },
{ min = 10601, max = 10699, type = "商城优惠券" },
{ min = 10801, max = 10899, type = "特别行动升级卡" },
{ min = 20001, max = 20999, type = "礼盒礼包" },
{ min = 21001, max = 24999, type = "盲盒礼包" },
{ min = 25001, max = 25999, type = "礼盒礼包" },
{ min = 26001, max = 26999, type = "挑战赛宝箱" },
{ min = 27001, max = 27999, type = "超弦体体验卡" },
{ min = 28001, max = 28099, type = "卡牌包" },
{ min = 29001, max = 29099, type = "消耗品12" },
{ min = 40001, max = 40999, type = "抽奖道具" },
{ min = 70001, max = 79999, type = "宿舍手办" },
{ min = 80001, max = 89999, type = "卡牌" },
{ min = 90001, max = 91000, type = "头套" },
{ min = 93001, max = 93999, type = "房间外观" },
{ min = 110100, max = 199999, type = "超弦体体验卡" },
{ min = 200001, max = 299999, type = "战令商城礼盒" },
{ min = 300001, max = 399999, type = "限时商城定向匣" },
{ min = 400001, max = 499999, type = "通用道具" },
{ min = 3010001, max = 3019999, type = "头像" },
{ min = 3020001, max = 3029999, type = "头像框" },
{ min = 10100001, max = 19999999, type = "武器外观" },
{ min = 20101001, max = 20999999, type = "超弦体时装" },
{ min = 21101001, max = 21999999, type = "超弦体动作" },
{ min = 22101001, max = 19999999, type = "超弦体语音" },
{ min = 30000001, max = 30999999, type = "喷漆" },
{ min = 31000001, max = 31999999, type = "基板" },
{ min = 32000001, max = 32999999, type = "封装" },
{ min = 33000001, max = 33999999, type = "勋章" },
{ min = 60000001, max = 60999999, type = "表情" },
{ min = 61000001, max = 61999999, type = "互动道具" },
{ min = 70000001, max = 70999999, type = "聊天气泡" },
{ min = 101000010, max = 199999999, type = "武器外观体验卡" },
{ min = 201010010, max = 209999999, type = "超弦体外观体验卡" },
-- 按需继续添加区间(保持升序且不重叠)
}
-- 内部:确保 ranges 按 min 升序并返回排序后的引用
local function ensure_sorted(ranges)
table.sort(ranges, function(a, b) return a.min < b.min end)
return ranges
end
-- 内部二分查找,返回 type 或 nil(需要 ranges 已排序且不重叠)
local function binary_search(ranges, id)
local lo, hi = 1, #ranges
while lo <= hi do
local mid = math.floor((lo + hi) / 2)
local r = ranges[mid]
if id < r.min then
hi = mid - 1
elseif id > r.max then
lo = mid + 1
else
return r.type
end
end
return nil
end
-- 获取道具类型函数
function p.items_type(id)
local n = tonumber(id)
if not n then return nil end
ensure_sorted(itemsTypeRanges)
return binary_search(itemsTypeRanges, n)
end
--获取页面标题函数
function p.get_page_title(frame,getRoot)
local title = mw.title.getCurrentTitle()
if getRoot then
-- 获取最上层父页面(basePageTitle 会一直向上)
while title.basePageTitle and title.basePageTitle.fullText ~= title.fullText do
title = title.basePageTitle
end
-- 返回父页面名(不包含命名空间)
return title.text
end
-- 默认返回当前页面名
return mw.title.getCurrentTitle().text
end
--稀有度标签函数
function p.rarity_tag(frame, quality)
return frame:expandTemplate { title = '稀有度标签', args = { quality } }
end
return p

沪公网安备 31011002002714 号