Files
2025-01-25 04:38:09 +08:00

167 lines
6.7 KiB
Lua
Raw Permalink Blame History

This file contains ambiguous Unicode characters

This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.

--文件是自动生成,请勿手动修改.来自数据文件:npc_friend_talk
local L_CompressMaxColumn = 1
local L_CompressData = {
11990907012787177,
--1001,1,1,1,143,我在你身上留下了传音印记,这下不用担心你错过我的信息了。,,
11992006541200362,
--1002,1,2,1,155,你可听说,有一种新的悟道法门,名为鸿蒙悟道,能抽取灵玉的精髓,转化为经验与元宝。,,
11992386950949867,
--1003,1,3,7,1,才这般年轻便已至金丹境界都快赶上师姐我了。达成金丹后你的肉身就承受5阶装备了快去收集吧。,,
11993655833824236,
--1004,1,4,1,178,有人托我问你,可有意寻一段仙缘?嘻,你若是有心,大可去看看,总不会比直面妖王难。,,
11994755362237421,
--1005,1,5,1,185,我刚从VIP首领回来那里的首领个个身怀重宝却又只有第一个打败它的人能拿走你要不要去试试。凭你轩辕剑主的威势定不会空手而归。,,
11995122113235950,
--1006,1,6,3,,那怕以后天各一方,我也会记得你今天的情义……,,
11995671869582319,
--1007,1,7,4,,你我之间,倒也无需那套你来我往的客套。可要是你也想回赠我情义,我也不会推辞,嘻嘻。,,
11996221625928688,
--1008,1,8,5,,正在闭关……,,
11996784988597233,
--1009,1,9,6,2_3,三大福地现世,诸多仙盟必会争个你死我活。你是仙盟一员,最好也不要错过这份机缘。,,
11997334761720818,
--1010,1,10,7,2,修成元婴你就可以承受7阶装备了只是你也离化神也更近了。那可是会触发天禁责罚的境界。,,
11998010304195571,
--1011,1,11,6,3_3,打心底里,我并不愿与你为敌,此番传信,只是告知你福地掉落的圣装阶数已经随着世界等级提升,那天墟神女也变得更强,你可别大意。,,
11999153478536180,
--1012,1,12,6,4_3,今晚就要开启巅峰竞技,天下的修仙强者都期待着与你这轩辕剑主一较高下。这次的奖励中,还包含了极其罕见的宠物装备,那些老头真是下了血本呢。,,
11999650822335477,
--1013,1,13,6,5_5,嘿,这三大仙盟夺了福地还不够,还要在今晚举行福地论剑,决出个福地剑主来。不过这唯一的剑主称号,也确是耀目非常。,,
12000802771160054,
--1014,1,14,6,6_3,今天诸界远征便要开启,很快你便会知道天外诸界争夺的残酷。为了那传说中的天雷圣装,即使是天外的人族也会对你们刀剑相向。,,
12001902299573239,
--1015,1,15,6,11_3,我听到了来自天外虚空之中的魔族呼唤,诸界远征的浩大争夺终于惊醒了上古魔魂。古魔入侵已经开启,你们又该如何应对。,,
12003001827986424,
--1016,1,16,6,11_10,既然上古魔魂苏醒那么用来镇压魔魂的八极阵图也会现世。只是要开启阵图需要连接4个小世界的力量或许阵图还需要些时间方能真正现世。,,
12004101356399609,
--1017,1,17,6,25_5,玄天宗可真是了不得,连荒古神坛这种上古妖族圣地都找到了,于人而言或许没什么用,可其中蕴含的脉轮之力,对你们终身相伴的坐骑可是大有裨益。,,
12004542731930618,
--1018,1,18,7,3,既然已无天禁的限制,达到化神之境,便可以上古神灵之道开拓经脉,强化自身,甚至能感悟强大的新技能。,,
12005031309634555,
--1019,1,19,7,4,合体境界,即使在诸界也少有人能触及。与诸界大道合为一体之后,你一路修炼的心法便会发生本质上的蜕变,感悟全新的技能。,,
}
local L_MainKeyDic = {
[1001]=1,[1002]=2,[1003]=3,[1004]=4,[1005]=5,[1006]=6,[1007]=7,[1008]=8,[1009]=9,[1010]=10,[1011]=11,[1012]=12,[1013]=13,[1014]=14,[1015]=15,
[1016]=16,[1017]=17,[1018]=18,[1019]=19,}
local L_NamesByNum = {
Id = 1,
Gruopid = 2,
Order = 3,
Type = 4,
}
local L_NamesByString = {
Parm = 5,
Talk = 6,
}
local L_ColNameIndexs = {
Id = 0,
Gruopid = 1,
Order = 2,
Type = 3,
Parm = 4,
Talk = 5,
}
--local L_ColumnUseBitCount = {11,2,6,4,16,16,}
--local L_ColumnList = {1,1,1,1,1,1,}
--local L_ShiftDataList = {0,11,13,19,23,39,}
--local L_AndDataList = {1023,1,31,7,32767,32767,}
local L_ColumnShiftAndList = {1,0,1023,1,11,1,1,13,31,1,19,7,1,23,32767,1,39,32767,}
local L_ColNum = 6;
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]
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 = 19
}
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