--文件是自动生成,请勿手动修改.来自数据文件:today_function local L_CompressMaxColumn = 3 local L_CompressData = { 29482529715417313,19358339453,57000, --1,仙盟战,玩法时间:21:00-21:30,相关任务时间:[4ADDFF]开服第3天[-]#n#n开启本服第一次仙盟战,胜利后可获得粉装的合成材料。,19007_9;19008_9,3_3,,57000,,, 29484178995447010,19358339456,1340000, --2,剑灵阁,玩法时间:全天,相关任务时间:[4ADDFF]开服第3天[-]#n#n挑战剑灵阁可获得灵魄,同时层数越高在剑灵阁挂机的收益越多。,6307241_9;6307242_9,3_3,,1340000,,, 29485278494483971,210025992606082,1052000, --3,巅峰竞技,玩法时间:21:00-21:30,相关任务时间:[4ADDFF]每周一、二、四、五[-]#n#n实战1V1,激情无限,能获得极品宠物装备。,7000033_9;7000034_9,4_30,1_2_4_5,1052000,,, 29486378019461444,19358470532,1212000, --4,套装,玩法时间:全天,相关任务时间:[4ADDFF]开服第4天[-]#n#n首领中的套装首领可以掉落套装材料,激活套装可获得大量战力!,24013_9;1002_9,4_4,,1212000,,, 8928809143522949,19357815175,1223000, --5,福地论剑,玩法时间:21:30-21:45,相关任务时间:[4ADDFF]开服第2天[-]#n#n本服福地剑主之争。独有绝版称号,让你荣耀加身!,70085_9;82220_0;82223_1;82220_2;82223_3;,2_2,,1223000,,, 29489126797778022,23804039561,1271000, --6,神兽,玩法时间:全天,相关任务时间:[4ADDFF]开服第5到第10天[-]#n#n跨服玩法,击杀BOSS可获得神兽装备,可获得超高战力加成。,7000049_9;7000050_9,5_10,,1271000,,, 8928102898246631,19357815180,1222000, --7,仙盟福地,玩法时间:开服第2天,相关任务时间:[4ADDFF]开服第2天[-]#n#n击杀BOSS可获得圣装,凑齐圣装套装可获得海量战力!,4007721_9;4107721_9,2_2,,1222000,,, 8927159848153512,21353124239,1273000, --8,诸界远征(2服),玩法时间:全天,相关任务时间:[4ADDFF]开服第3天到第7天[-]#n#n跨2服的诸界远征,开启和其他服务器玩家战斗,获得更高等阶圣装。,4010821_9;4110821_9,3_7,,1273000,,, 29493524831709289,210975825645969,1272000, --9,八极阵图,玩法时间:21:00-21:30,相关任务时间:[4ADDFF]每周三、周六[-]#n#n神秘的八卦阵法,独特的城战玩法,集全服的力量和智慧争夺圣城!,83088_9;83087_9,11_30,3_6,1272000,,, 29495174141183274,211869178843540,1273000, --10,古魔封印,玩法时间:21:30-21:45,相关任务时间:[4ADDFF]每周一、周三、周五[-]#n#n诸界远征的全新玩法,全服狂欢战古魔,助战魔魂战力多!,1338_9;1337_9,11_30,1_3_5,1273000,,, 8925510580712107,19307745687,1273000, --11,诸界远征(4服),玩法时间:全天,相关任务时间:[4ADDFF]开服第8到第14天[-]#n#n诸界远征进入4服阶段,更广阔的地图,更强大的敌人,更高阶的装备。,4012821_9;4012821_9,8_14,,1273000,,, 6796306313523980,24938205594,1273000, --12,诸界远征(8服),玩法时间:全天,相关任务时间:[4ADDFF]开服第15-20天[-]#n#n诸界远征进入8服阶段,各服有自己的安全城市,更易获得高阶圣装。,4200033_9;4200066_9,15_20,,1273000,,, 29500121914043725,24213508509,1274000, --13,荒古神坛,玩法时间:全天,相关任务时间:[4ADDFF]开服第25-30天[-]#n#n击杀其中的怪物可获得坐骑脉轮,激活坐骑的神秘力量,获得超高战力!,8000407_9;8000631_9,25_30,,1274000,,, 29501771168903406,211366022402429,57000, --14,仙盟战,玩法时间:21:00-21:30,相关任务时间:[4ADDFF]每周日[-]#n#n定时开启本服仙盟战,连胜更能获得海量奖励和荣誉,为了仙盟而战!,19007_9;19008_9,4_30,7,57000,,, } 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,} local L_NamesByNum = { Id = 1, FunctionID = 8, Parm = 9, } local L_NamesByString = { Name = 2, TimeDes = 3, Des = 4, RewardItem = 5, OpenDay = 6, WeekDay = 7, } local L_ColNameIndexs = { Id = 0, Name = 1, TimeDes = 2, Des = 3, RewardItem = 4, OpenDay = 5, WeekDay = 6, FunctionID = 7, Parm = 8, } --local L_ColumnUseBitCount = {5,17,17,17,17,17,15,22,2,} --local L_ColumnList = {1,1,1,1,2,2,2,3,3,} --local L_ShiftDataList = {0,5,22,39,0,17,34,0,22,} --local L_AndDataList = {15,65535,65535,65535,65535,65535,16383,2097151,1,} local L_ColumnShiftAndList = {1,0,15,1,5,65535,1,22,65535,1,39,65535,2,0,65535,2,17,65535,2,34,16383,3,0,2097151,3,22,1,} local L_ColNum = 9; 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 = 14 } 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