193 lines
7.8 KiB
Lua
193 lines
7.8 KiB
Lua
|
--文件是自动生成,请勿手动修改.来自数据文件:FunctionOpenTips
|
|||
|
local L_CompressMaxColumn = 3
|
|||
|
local L_CompressData = {
|
|||
|
133653487551489,1069266035811516,19219358907,
|
|||
|
--1,170000,,9_40100_120_0_0_0_130_0,坐骑,仙狐应召,遨游九州,26级任务获得,n_icon_zjm_shangma,1017_10_1_9,,1,,
|
|||
|
133662076526082,1069334755812503,19219358849,
|
|||
|
--2,155000,,9_6100001_400_0_-30_0_180_0,法宝,本命法宝,杀怪利器,64级主线获得,n_zaohua,1017_10_1_9,,1,,
|
|||
|
2854594563,208039194404324,19219359203,
|
|||
|
--3,2660000,,,传道,传道开启,65级开启,n_chuandao,1017_10_1_9,,1,,
|
|||
|
2687554564,211492348240968,19219358790,
|
|||
|
--4,50000,,,仙盟,仙盟开启,81级开启,n_xianmeng,1017_10_1_9,,1,,
|
|||
|
2696514565,1069403475813581,19219358849,
|
|||
|
--5,190000,,,宠物,宠物开启,86级主线开启,n_zaohua,1017_10_1_9,,1,,
|
|||
|
2694664966,1069437835814051,19219358879,
|
|||
|
--6,161100,,,装备强化,装备强化开启,105级主线开启,n_lianqi,1017_10_1_9,,1,,
|
|||
|
2763208967,1069489375867690,19219358767,
|
|||
|
--7,1232100,,,凌云妖塔,凌云妖塔开启,143级开启,n_richang,1017_10_1_9,,1,,
|
|||
|
2869314568,1069540915868461,19219359124,
|
|||
|
--8,2890000,,,境界金丹,突破至金丹境界,开启新装备,160级开启,n_icon_zjm_ jingjie,1017_10_1_9,,1,,
|
|||
|
133694288524809,1069592455821272,19219358849,
|
|||
|
--9,151000,,9_9100101_200_0_120_0_180_0,仙羽,羽化登仙,乘风万里,突破金丹开启,n_zaohua,1017_10_1_9,,1,,
|
|||
|
2694677770,209276146951334,19219358879,
|
|||
|
--10,161300,,,装备合成,装备合成开启,165级开启,n_lianqi,1017_10_1_9,,1,,
|
|||
|
133707327026699,922446877042128,19219359182,
|
|||
|
--11,2551000,,0_9103002_300_-100_260_45_90_0;1_9103102_230_0_180_45_90_0;2_9103202_220_60_120_-45_-90_0;3_9103202_220_60_120_-45_-90_0,机缘寻宝,机缘寻宝开启,170级开启,n_xunbao,1017_10_1_9,,1,,
|
|||
|
2688194572,1069643995853701,19219358824,
|
|||
|
--12,60000,,,婚姻,一生一世一双人,178级开启,n_hunyin,1017_10_1_9,,1,,
|
|||
|
2698562573,1069729895818471,19219358949,
|
|||
|
--13,222000,,,圣装,集齐圣装套装,战力飙升,200级开启,n_shengzhuang,1017_10_1_9,,1,,
|
|||
|
2843848974,1069781435872059,19219359124,
|
|||
|
--14,2492100,,,境界元婴,突破至元婴境界,解锁等级上限,210级开启,n_icon_zjm_ jingjie,1017_10_1_9,,1,,
|
|||
|
2694210575,208949730878610,19219358849,
|
|||
|
--15,154000,,,神兵,神兵临凡,神威耀世,220级开启,n_zaohua,1017_10_1_9,,1,,
|
|||
|
2694671376,208949731009700,19219358879,
|
|||
|
--16,161200,,,装备洗炼,装备洗炼开启,220级开启,n_lianqi,1017_10_1_9,,1,,
|
|||
|
2770114577,1069850155820071,19219359088,
|
|||
|
--17,1340000,,,剑灵阁,开服第3天,剑灵挂机开启,230级开启,n_icon_zjm_jianlingge,1017_10_1_9,,1,,
|
|||
|
2765826578,1071035576493382,19219358790,
|
|||
|
--18,1273000,,,诸界远征,开服第3天,诸界远征开启,获得高阶圣装,开服第3天开启,n_xianmeng,1017_10_1_9,,1,,
|
|||
|
2751682579,1069884515820336,19219358971,
|
|||
|
--19,1052000,,,巅峰竞技,开服第4天,1v1激情对决,240级开启,n_paihangbang,1017_10_1_9,,1,,
|
|||
|
2694786580,209499487478957,17487045791,
|
|||
|
--20,163000,,,套装激活,开服第4天,套装激活开启,250级开启,n_lianqi,81112_1_1_0;81113_1_1_1;81112_1_1_2;81113_1_1_3,,1,,
|
|||
|
2697794581,1069970415874886,19220702331,
|
|||
|
--21,210000,,,神兽助战,开服第5天,年兽封域开启,获得神兽装备,275级开启,n_zhuzhan,1017_10_1_9;81026_1_1_9,,1,,
|
|||
|
2843855382,1077959055831884,19219359124,
|
|||
|
--22,2492200,,,境界化神,突破至化神境界,解锁等级上限,340级开启,n_icon_zjm_ jingjie,1017_10_1_9,,1,,
|
|||
|
2772674583,1070073496085879,19220931958,
|
|||
|
--23,1380000,,,魂甲,开服第11天开启,八极降世,魂甲加身,350级开启,n_icon_zjm_hunjia,83086_10_1_9,,1,,
|
|||
|
133765309213208,166824694261203,19219359182,
|
|||
|
--24,2553000,,0_9103003_300_-100_260_45_90_0;1_9103103_240_-30_210_45_90_0;2_9103203_220_40_150_-45_-90_0;3_9103203_220_60_120_-45_-90_0,造化寻宝,造化寻宝开启,飞升10级开启,n_xunbao,1017_10_1_9,,1,,
|
|||
|
2843861785,1070210935878484,19219359124,
|
|||
|
--25,2492300,,,境界合体,突破至合体境界,解锁等级上限,飞升100级开启,n_icon_zjm_ jingjie,1017_10_1_9,,1,,
|
|||
|
2843868186,1070262475879255,19219359124,
|
|||
|
--26,2492400,,,境界大乘,突破至大乘境界,解锁等级上限,飞升260级开启,n_icon_zjm_ jingjie,1017_10_1_9,,1,,
|
|||
|
2843874587,1070314015880026,19219359124,
|
|||
|
--27,2492500,,,境界地仙,突破至地仙境界,解锁等级上限,飞升380级开启,n_icon_zjm_ jingjie,1017_10_1_9,,1,,
|
|||
|
}
|
|||
|
local L_MainKeyDic = {
|
|||
|
[1]=1,[2]=2,[3]=3,[4]=4,[5]=5,[6]=6,[7]=7,[8]=8,[9]=9,[10]=10,[11]=11,[12]=12,[13]=13,[14]=14,[15]=15,
|
|||
|
[16]=16,[17]=17,[18]=18,[19]=19,[20]=20,[21]=21,[22]=22,[23]=23,[24]=24,[25]=25,[26]=26,[27]=27,}
|
|||
|
local L_NamesByNum = {
|
|||
|
Id = 1,
|
|||
|
FunctionId = 2,
|
|||
|
ActiveDay = 10,
|
|||
|
IsShow = 11,
|
|||
|
}
|
|||
|
local L_NamesByString = {
|
|||
|
MainModelRes = 3,
|
|||
|
ModelRes = 4,
|
|||
|
Name = 5,
|
|||
|
Desc = 6,
|
|||
|
OpenDesc = 7,
|
|||
|
Icon = 8,
|
|||
|
AwardItem = 9,
|
|||
|
}
|
|||
|
local L_ColNameIndexs = {
|
|||
|
Id = 0,
|
|||
|
FunctionId = 1,
|
|||
|
MainModelRes = 2,
|
|||
|
ModelRes = 3,
|
|||
|
Name = 4,
|
|||
|
Desc = 5,
|
|||
|
OpenDesc = 6,
|
|||
|
Icon = 7,
|
|||
|
AwardItem = 8,
|
|||
|
ActiveDay = 9,
|
|||
|
IsShow = 10,
|
|||
|
}
|
|||
|
--local L_ColumnUseBitCount = {6,23,2,17,17,17,17,15,17,2,2,}
|
|||
|
--local L_ColumnList = {1,1,1,1,2,2,2,3,3,3,3,}
|
|||
|
--local L_ShiftDataList = {0,6,29,31,0,17,34,0,15,32,34,}
|
|||
|
--local L_AndDataList = {31,4194303,1,65535,65535,65535,65535,16383,65535,1,1,}
|
|||
|
local L_ColumnShiftAndList = {1,0,31,1,6,4194303,1,29,1,1,31,65535,2,0,65535,2,17,65535,2,34,65535,3,0,16383,3,15,65535,3,32,1,3,34,1,}
|
|||
|
local L_ColNum = 11;
|
|||
|
local L_UseDataK = setmetatable({ },{ __mode = 'k'});
|
|||
|
local L_UseDataV = setmetatable({ },{ __mode = 'v'});
|
|||
|
local L_UseDataRow = setmetatable({ },{ __mode = 'v'});
|
|||
|
local L_IsCache = false;
|
|||
|
local mt = {}
|
|||
|
local function GetData(row, column)
|
|||
|
local startIndex = (column - 1) * 3
|
|||
|
local _compressData = L_CompressData[(row - 1)*L_CompressMaxColumn+L_ColumnShiftAndList[startIndex + 1]]
|
|||
|
local _tempData = _compressData >> L_ColumnShiftAndList[startIndex + 2]
|
|||
|
local _data = _tempData & L_ColumnShiftAndList[startIndex + 3]
|
|||
|
local _andSign = L_ColumnShiftAndList[startIndex + 3] + 1
|
|||
|
local _isMinus = (_andSign & _tempData) == _andSign
|
|||
|
return _isMinus and -_data or _data;
|
|||
|
end
|
|||
|
|
|||
|
mt.__index = function (t,key)
|
|||
|
local _key = L_UseDataK[t];
|
|||
|
local _row = L_MainKeyDic[_key];
|
|||
|
local _column = L_NamesByNum[key];
|
|||
|
if _column ~= nil then
|
|||
|
if L_IsCache then
|
|||
|
local _data = L_UseDataRow[_row * L_ColNum + _column]
|
|||
|
if not _data then
|
|||
|
_data = GetData(_row, _column)
|
|||
|
L_UseDataRow[_row * L_ColNum + _column] = _data
|
|||
|
end
|
|||
|
return _data
|
|||
|
else
|
|||
|
return GetData(_row, _column)
|
|||
|
end
|
|||
|
end
|
|||
|
_column = L_NamesByString[key]
|
|||
|
if _column ~= nil then
|
|||
|
return StringDefines[GetData(_row, _column)]
|
|||
|
end
|
|||
|
if string.find(key, '_') then
|
|||
|
local _newKey = string.gsub(key, '_', '')
|
|||
|
_column = L_NamesByString[_newKey]
|
|||
|
if _column ~= nil then
|
|||
|
return GetData(_row, _column)
|
|||
|
end
|
|||
|
end
|
|||
|
if key ~= '_OnCopyAfter_' then
|
|||
|
return
|
|||
|
end
|
|||
|
end
|
|||
|
|
|||
|
local M = {
|
|||
|
_CompressData_ = L_CompressData,
|
|||
|
_ColumnShiftAndList_ = L_ColumnShiftAndList,
|
|||
|
_CompressMaxColumn_ = L_CompressMaxColumn,
|
|||
|
_ColumnNameIndexs_ = L_ColNameIndexs,
|
|||
|
Count = 27
|
|||
|
}
|
|||
|
|
|||
|
function M:Foreach(func)
|
|||
|
for i=1,M.Count do
|
|||
|
local _key = GetData(i, 1)
|
|||
|
func(_key, M[_key])
|
|||
|
end
|
|||
|
end
|
|||
|
|
|||
|
function M:ForeachCanBreak(func)
|
|||
|
for i = 1,M.Count do
|
|||
|
local _key = GetData(i, 1)
|
|||
|
if func(_key, M[_key]) then
|
|||
|
break
|
|||
|
end
|
|||
|
end
|
|||
|
end
|
|||
|
|
|||
|
function M:GetByIndex(index)
|
|||
|
return M[GetData(index, 1)];
|
|||
|
end
|
|||
|
|
|||
|
function M:IsContainKey(key)
|
|||
|
return not(not L_MainKeyDic[key]);
|
|||
|
end
|
|||
|
|
|||
|
function M:SetIsCache(isCh)
|
|||
|
L_IsCache = isCh;
|
|||
|
end
|
|||
|
|
|||
|
setmetatable(M, {__index = function(t, key)
|
|||
|
if not L_MainKeyDic[key] then
|
|||
|
return;
|
|||
|
end
|
|||
|
local _t = L_UseDataV[key];
|
|||
|
if not _t then
|
|||
|
_t = setmetatable({}, mt);
|
|||
|
L_UseDataV[key] = _t;
|
|||
|
L_UseDataK[_t] = key;
|
|||
|
end
|
|||
|
return _t
|
|||
|
end})
|
|||
|
|
|||
|
return M
|