--文件是自动生成,请勿手动修改.来自数据文件:limit_gold_shop local L_CompressMaxColumn = 3 local L_CompressData = { 18739174549989237,338093642036712239,11975881567243192, --10101,超级升级丹1灵物·经验1法宝精粹(大)10,等级礼包,开服狂欢【修炼狂人】等级礼包,等级快人亿步!!!,1,1,2068_1_1_9;15113_1_1_9;81002_10_1_9,1_180,1_150;160_1,,300,3000,56000,172800,1,, 36753573059471222,450683633670198065,11975882604351392, --10102,灵魄·经验1装备强化石18活跃药水(100点)1灵物·经验1,等级礼包,开服狂欢【修炼狂人】等级礼包,等级快人亿步!!!,1,2,15103_1_1_9;60002_18_1_9;1033_1_1_9;15113_1_1_9,1_480,1_150;160_1,,400,4000,119300,172800,1,, 54767971568953207,563273624911123250,11975885799232392, --10103,玉魄·经验1灵物·经验2元宝4500,等级礼包,开服狂欢【修炼狂人】等级礼包,等级快人亿步!!!,1,3,15104_1_1_9;15113_2_1_9;12_4500_1_9,1_1280,1_150;160_1,,500,5000,314300,172800,1,, 19302151198713817,338093693576319797,10491540918897592, --10201,初级坐骑精魄18青龙御魂10白虎御魂10,坐骑礼包,开服狂欢【一骑当先】坐骑礼包,神驹伴你驰骋仙界!!!,2,1,10001_18_1_9;10004_10_1_9;10005_10_1_9,1_180,1_150;160_3,,300,3000,59000,86400,1,, 37316549708195802,450683685209805623,10491541918322592, --10202,中级坐骑精魄20青龙御魂18白虎御魂18,坐骑礼包,开服狂欢【一骑当先】坐骑礼包,神驹伴你驰骋仙界!!!,2,2,10002_20_1_9;10004_18_1_9;10005_18_1_9,1_480,1_150;160_3,,400,4000,120000,86400,1,, 55330948217677787,563273676450730808,10491544130163592, --10203,高级坐骑精魄22玄武御魂29朱雀御魂29,坐骑礼包,开服狂欢【一骑当先】坐骑礼包,神驹伴你驰骋仙界!!!,2,3,10003_22_1_9;10006_29_1_9;10007_29_1_9,1_1280,1_150;160_3,,500,5000,255000,86400,1,, 19865126922135613,338093745115927355,10491540935281592, --10301,法宝精粹(大)50乾坤御魂11番天御魂11,法宝礼包,开服狂欢【炼器宗师】等级礼包,上古神器,求道修仙!!!,3,1,81002_50_1_9;12004_11_1_9;12005_11_1_9,1_180,1_150;160_4,,300,3000,60000,86400,1,, 37879525431617598,450683736749413181,10491541915045792, --10302,灵魄·战斗1乾坤御魂4番天御魂4,法宝礼包,开服狂欢【炼器宗师】等级礼包,上古神器,求道修仙!!!,3,2,15106_1_1_9;12004_4_1_9;12005_4_1_9,1_480,1_150;160_4,,400,4000,119800,86400,1,, 55893923941099583,563273727990338366,10491544946086792, --10303,玉魄·战斗1元宝5000,法宝礼包,开服狂欢【炼器宗师】等级礼包,上古神器,求道修仙!!!,3,3,15107_1_1_9;12_5000_1_9,1_1280,1_150;160_4,,500,5000,304800,86400,1,, 20428102645557409,338093796655534913,10491540935281592, --10401,初级宠物精魄10噬骨魂珠5神佑魂珠5,宠物礼包,开服狂欢【御宠天尊】宠物礼包,萌宠随你快意仙界!!!,4,1,16001_10_1_9;16198_5_1_9;16196_5_1_9,1_180,1_150;160_5,,300,3000,60000,86400,1,, 38442501155039394,450683788289020739,10491541901938592, --10402,金色宠物装备箱1中级宠物精魄7噬骨魂珠5神佑魂珠5,宠物礼包,开服狂欢【御宠天尊】宠物礼包,萌宠随你快意仙界!!!,4,2,83084_1_1_9;16002_7_1_9;16198_5_1_9;16196_5_1_9,1_480,1_150;160_5,,400,4000,119000,86400,1,, 56456899664521379,563273779529945924,10491544097395592, --10403,红色宠物装备箱1高级宠物精魄5噬骨魂珠8神佑魂珠8,宠物礼包,开服狂欢【御宠天尊】宠物礼包,萌宠随你快意仙界!!!,4,3,83085_1_1_9;16003_5_1_9;16198_8_1_9;16196_8_1_9,1_1280,1_150;160_5,,500,5000,253000,86400,1,, 20991078368979205,338093848195142471,10491541033585592, --10501,3级红宝石33级绿宝石3,宝石礼包,开服狂欢【五光十色】宝石礼包,属性暴涨,战力飞升!!!,5,1,20003_3_1_9;21003_3_1_9,1_180,1_150;160_6,,300,3000,66000,86400,1,, 39005476878461190,450683839828628297,10491542114930592, --10502,4级红宝石34级绿宝石3,宝石礼包,开服狂欢【五光十色】宝石礼包,属性暴涨,战力飞升!!!,5,2,20004_3_1_9;21004_3_1_9,1_480,1_150;160_6,,400,4000,132000,86400,1,, 57019875387943175,563273831069553482,10491544179315592, --10503,6级红宝石26级绿宝石2,宝石礼包,开服狂欢【五光十色】宝石礼包,属性暴涨,战力飞升!!!,5,3,20006_2_1_9;21006_2_1_9,1_1280,1_150;160_6,,500,5000,258000,86400,1,, 21554054092401001,338093899734750029,10491540931185592, --10601,红色灵魄基础箱11装备强化石13,战力礼包,开服狂欢【器化融神】战力礼包,助力修仙,称霸仙界!!!,6,1,82394_1_1_9;60002_13_1_9,1_180,1_150;160_7,,300,3000,59750,86400,1,, 39568452601882986,450683891368260798,10491541934706592, --10602,红色神兽自选1装备洗练石100洞虚套自选箱14,战力礼包,开服狂欢【器化融神】战力礼包,助力修仙,称霸仙界!!!,6,2,81104_1_1_9;60003_100_1_9;81012_14_1_0;81013_14_1_1;81012_14_1_2;81013_14_1_3,1_480,1_150;160_7,,400,4000,121000,86400,1,, 57582851111364971,563273882609161040,10491544138355592, --10603,神兽_头盔_红色_3星1传世套装石宝箱10洞虚套自选箱17,战力礼包,开服狂欢【器化融神】战力礼包,助力修仙,称霸仙界!!!,6,3,3007301_1_1_9;81012_10_1_0;81013_10_1_1;81012_10_1_2;81013_10_1_3;81097_17_1_9,1_1280,1_150;160_7,,500,5000,255500,86400,1,, 22117029815822797,338093951274357587,10491540648561592, --10701,灭魔书卷·神兽2复活令·神兽2神兽源晶·中70,神兽礼包,【神兽礼包】神兽装备,冲榜助力!,7,1,1012_2_1_9;1051_2_1_9;3099983_70_1_9,1_180,160_8,,300,3000,42500,86400,1,, 40131428325304782,450683942907843413,10491541672562592, --10702,红色神兽自选1神兽源晶·中1202,神兽礼包,【神兽礼包】神兽装备,冲榜助力!,7,2,81104_1_1_9;3099983_120_1_9,1_480,160_8,,400,4000,105000,86400,1,, 58145826834786767,563273934148768598,10491544867443592, --10703,神兽_铠甲_红色_3星1神兽灵石1,神兽礼包,【神兽礼包】神兽装备,冲榜助力!,7,3,3007303_1_1_9;60052_1_1_9,1_1280,160_8,,500,5000,300000,86400,1,, 22680005539244593,338094002813965145,10491540894321592, --10801,初级神兵结晶15诛仙阵灵10九曲阵灵10,神兵礼包,【神兵礼包】神兵择主,荣登仙界!,8,1,14001_15_1_9;14004_10_1_9;14005_10_1_9,1_180,160_9,,300,3000,57500,86400,1,, 40694404048726578,450683994447450971,10491541910130592, --10802,中级神兵结晶13诛仙阵灵20九曲阵灵20,神兵礼包,【神兵礼包】神兵择主,荣登仙界!,8,2,14002_13_1_9;14004_20_1_9;14005_20_1_9,1_480,160_9,,400,4000,119500,86400,1,, 58708802558208563,563273985688376156,10491544130163592, --10803,高级神兵结晶21太极阵灵30玄阴阵灵30,神兵礼包,【神兵礼包】神兵择主,荣登仙界!,8,3,14003_21_1_9;14006_30_1_9;14007_30_1_9,1_1280,160_9,,500,5000,255000,86400,1,, 23242981262666389,338094054353572703,10491540894321592, --10901,初级仙羽精华15巨鹏羽灵10白鹤羽灵10,仙羽礼包,【仙羽造化】仙羽加身,超脱凡尘!,9,1,11001_15_1_9;11004_10_1_9;11005_10_1_9,1_180,160_10,,300,3000,57500,86400,1,, 41257379772148374,450684045987058529,10491541910130592, --10902,中级仙羽精华13巨鹏羽灵20白鹤羽灵20,仙羽礼包,【仙羽造化】仙羽加身,超脱凡尘!,9,2,11002_13_1_9;11004_20_1_9;11005_20_1_9,1_480,160_10,,400,4000,119500,86400,1,, 59271778281630359,563274037227983714,10491544130163592, --10903,高级仙羽精华21金乌羽灵30孔雀羽灵30,仙羽礼包,【仙羽造化】仙羽加身,超脱凡尘!,9,3,11003_21_1_9;11006_30_1_9;11007_30_1_9,1_1280,160_10,,500,5000,255000,86400,1,, } local L_MainKeyDic = { [10101]=1,[10102]=2,[10103]=3,[10201]=4,[10202]=5,[10203]=6,[10301]=7,[10302]=8,[10303]=9,[10401]=10,[10402]=11,[10403]=12,[10501]=13,[10502]=14,[10503]=15, [10601]=16,[10602]=17,[10603]=18,[10701]=19,[10702]=20,[10703]=21,[10801]=22,[10802]=23,[10803]=24,[10901]=25,[10902]=26,[10903]=27,} local L_NamesByNum = { Id = 1, Group = 4, Sort = 5, Percentage = 9, Discount = 10, OriginalPrice = 11, Time = 12, BuyNum = 13, } local L_NamesByString = { Name = 2, Desc = 3, Reward = 6, Price = 7, Condition = 8, } local L_ColNameIndexs = { Id = 0, Name = 1, Desc = 2, Group = 3, Sort = 4, Reward = 5, Price = 6, Condition = 7, Percentage = 8, Discount = 9, OriginalPrice = 10, Time = 11, BuyNum = 12, } --local L_ColumnUseBitCount = {15,17,17,5,3,17,16,17,10,14,20,19,2,} --local L_ColumnList = {1,1,1,1,1,2,2,2,2,3,3,3,3,} --local L_ShiftDataList = {0,15,32,49,54,0,17,33,50,0,14,34,53,} --local L_AndDataList = {16383,65535,65535,15,3,65535,32767,65535,511,8191,524287,262143,1,} local L_ColumnShiftAndList = {1,0,16383,1,15,65535,1,32,65535,1,49,15,1,54,3,2,0,65535,2,17,32767,2,33,65535,2,50,511,3,0,8191,3,14,524287,3,34,262143,3,53,1,} local L_ColNum = 13; 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