diff --git a/!src-dist/src/global.classic_yq.lua b/!src-dist/src/global.classic_yq.lua index aa7d057dc..e2ca70b87 100644 --- a/!src-dist/src/global.classic_yq.lua +++ b/!src-dist/src/global.classic_yq.lua @@ -1003,6 +1003,7 @@ SetOnlineFrameAnchor = FunctionType SetTarget = FunctionType SetTeamMark = FunctionType SETTING_CAST_MODE = TableType +SetWorldMark = FunctionType SFX_REPRESENT = TableType SHARE_QUEST = TableType SHOP_SYSTEM_RESPOND_CODE = TableType diff --git a/!src-dist/src/global.zhcn_hd.lua b/!src-dist/src/global.zhcn_hd.lua index 9c52917a0..568f69e43 100644 --- a/!src-dist/src/global.zhcn_hd.lua +++ b/!src-dist/src/global.zhcn_hd.lua @@ -393,6 +393,8 @@ DOMESTICATE_EMOTION_TYPE = TableType DOMESTICATE_FODDER_SUB_TYPE = TableType DOMESTICATE_OPERATION_RESULT_CODE = TableType DOODAD_KIND = TableType +DUNGEON_EXCELLENT_ID = TableType +DUNGEON_FIGHT_DATA = TableType DUNGEON_SERVER_EVENT_CODE = TableType DYNAMIC_SKILL_GROUP_TYPE = TableType EditBox_GetChannel = FunctionType @@ -420,6 +422,7 @@ EQUIPMENT_USAGE_TYPE = TableType EquipType2ItemType = TableType error = FunctionType ERROR_CODE_TYPE = TableType +EXCELLENT_SHOW_TYPE = TableType ExecuteScriptCommand = FunctionType ExportExternalLib = FunctionType EXT_POINT = TableType @@ -864,6 +867,7 @@ KG_Table = TableType KGUIEncrypt = FunctionType KICK_ACCOUNT_REASON_CODE = TableType KPENDENT_TYPE = TableType +KUNGFU_FIGHT_TYPE = TableType KUNGFU_TYPE = TableType LAND_OBJECT_CATEGORY = TableType LAND_OBJECT_TYPE = TableType @@ -1913,6 +1917,7 @@ Table_GetOperationActCounterID = FunctionType Table_GetOperationActivity = FunctionType Table_GetOperationActUserData = FunctionType Table_GetOrangeWeaponInfoByForceID = FunctionType +Table_GetOrangeWeaponLevel = FunctionType Table_GetPanelFilter = FunctionType Table_GetPanelForbidMap = FunctionType Table_GetPartnerActSetting = FunctionType @@ -2105,6 +2110,8 @@ Table_GetSortedDlcList = FunctionType Table_GetSoundSetting = FunctionType Table_GetSpacebarMiniGameInfo = FunctionType Table_GetSpecailGift = FunctionType +Table_GetSpecialActivityInfo = FunctionType +Table_GetSpecialActivityType = FunctionType Table_GetSpecialHorseOnJump = FunctionType Table_GetSpecialTimeToItemCount = FunctionType Table_GetStructTypeList = FunctionType diff --git a/CHANGELOG.md b/CHANGELOG.md index 947a57498..9c85a8705 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -1,5 +1,19 @@ # 更新日志 +## 茗伊插件集 v29.0.3 + +* [聊天过滤] 修复聊天过滤报错的问题 + +## 茗伊插件集 v29.0.2 + +* [游戏字体] 字体包加载位置移动到用户目录 + +## 茗伊插件集 v29.0.1 + +* [团队工具] 修复重伤记录显示问题 +* [团队监控] 修复重要气劲列表心法显示问题 +* [背包助手] 修复背包助手可能报错的问题 + ## 茗伊插件集 v29.0.0 * [团队面板] 修复队友心法可能显示错误的问题 diff --git a/MY_!Base/info.ini b/MY_!Base/info.ini index 6e4870ec2..e69371ab8 100644 --- a/MY_!Base/info.ini +++ b/MY_!Base/info.ini @@ -108,10 +108,15 @@ lua_100=src\DebugLogs.lua lua_101=src\Dev_UIManager.lua lua_102=src\Dev_UIEditor.lua lua_103=src\Dev_UIFindStation.lua -lua_104=src\PS.Welcome.lua -lua_105=src\PS.GlobalConfig.lua -lua_106=src\PS.UISample.lua -lua_107=src\MY_Serendipity.lua -lua_108=src\MY_Bidding.lua -lua_109=src\MY_RSS.lua -lua_110=src\MY_ShareKnowledge.lua +lua_104=src\Dev_BgMsgSender.lua +lua_105=src\Dev_BgMsgViewer.lua +lua_106=src\Dev_BgMsgViewer_Detail.lua +lua_107=src\Dev_BgMsgSegmentViewer.lua +lua_108=src\Dev_BgMsgSegmentViewer_Detail.lua +lua_109=src\PS.Welcome.lua +lua_110=src\PS.GlobalConfig.lua +lua_111=src\PS.UISample.lua +lua_112=src\MY_Serendipity.lua +lua_113=src\MY_Bidding.lua +lua_114=src\MY_RSS.lua +lua_115=src\MY_ShareKnowledge.lua diff --git a/MY_!Base/info.ini.zh_TW b/MY_!Base/info.ini.zh_TW index d685de68e..11b3ca33a 100644 --- a/MY_!Base/info.ini.zh_TW +++ b/MY_!Base/info.ini.zh_TW @@ -108,10 +108,15 @@ lua_100=src\DebugLogs.lua lua_101=src\Dev_UIManager.lua lua_102=src\Dev_UIEditor.lua lua_103=src\Dev_UIFindStation.lua -lua_104=src\PS.Welcome.lua -lua_105=src\PS.GlobalConfig.lua -lua_106=src\PS.UISample.lua -lua_107=src\MY_Serendipity.lua -lua_108=src\MY_Bidding.lua -lua_109=src\MY_RSS.lua -lua_110=src\MY_ShareKnowledge.lua +lua_104=src\Dev_BgMsgSender.lua +lua_105=src\Dev_BgMsgViewer.lua +lua_106=src\Dev_BgMsgViewer_Detail.lua +lua_107=src\Dev_BgMsgSegmentViewer.lua +lua_108=src\Dev_BgMsgSegmentViewer_Detail.lua +lua_109=src\PS.Welcome.lua +lua_110=src\PS.GlobalConfig.lua +lua_111=src\PS.UISample.lua +lua_112=src\MY_Serendipity.lua +lua_113=src\MY_Bidding.lua +lua_114=src\MY_RSS.lua +lua_115=src\MY_ShareKnowledge.lua diff --git a/MY_!Base/lang/Dev/zhcn.jx3dat b/MY_!Base/lang/Dev/zhcn.jx3dat index 92320e231..3cb1947d4 100644 --- a/MY_!Base/lang/Dev/zhcn.jx3dat +++ b/MY_!Base/lang/Dev/zhcn.jx3dat @@ -9,6 +9,67 @@ return { -- Dev_UIEditor.lua ['Dev_UIEditor'] = 'ڲ鿴', + -- Dev_BgMsgViewer.lua + ['BgMsgViewer'] = 'Ϣ鿴', + ['Recording'] = '¼', + ['Clear'] = '', + ['Segment Viewer'] = 'Ƭ鿴', + ['BgMsg Sender'] = 'Ϣ', + ['Time'] = 'ʱ', + ['Dir'] = '', + ['Status'] = '״̬', + ['Channel'] = 'Ƶ', + ['MsgID'] = 'ϢID', + ['Sender'] = '', + ['Preview'] = 'Ԥ', + ['Replay'] = 'ط', + ['View Detail'] = '鿴', + ['Blue: Outbound message'] = 'ɫվϢ', + ['Green: Inbound message from self'] = 'ɫվϢԼͣ', + ['Yellow: Incomplete message'] = 'ɫվϢδϢ', + ['White: Inbound message from others'] = 'ɫվϢ˷ͣ', + + -- Dev_BgMsgViewer_Detail.lua + ['BgMsgDetail'] = 'Ϣ', + ['Copy to clipboard'] = 'Ƶа', + ['Open in TextEditor'] = 'ı༭д', + ['Detail has been copied to clipboard'] = 'ѸƵа', + ['Time:'] = 'ʱ䣺', + ['Direction:'] = '', + ['MsgUUID:'] = 'ϢUUID', + ['Channel:'] = 'Ƶ', + ['Sender:'] = 'ߣ', + ['IsSelf:'] = 'ǷԼ', + ['SegCount:'] = 'Ƭ', + ['SegIndex:'] = 'Ƭ', + ['Complete:'] = 'Ƿ', + ['Decoded Data:'] = 'ݣ', + ['(Not yet decoded or decode failed)'] = '(δʧ)', + + -- Dev_BgMsgSender.lua + ['BgMsgSender'] = 'Ϣ', + ['Channel:'] = 'Ƶ', + ['Select channel'] = 'ѡƵ', + ['Target:'] = 'Ŀ꣺', + ['MsgID:'] = 'ϢID', + ['Data:'] = 'ݣ', + ['Send'] = '', + ['Please select a channel first.'] = 'ѡƵ', + ['Please input MsgID.'] = 'ϢID', + ['Data decode failed, please check Lua syntax.'] = 'ݽʧܣLua﷨', + ['Whisper channel requires target name.'] = 'ƵҪĿ֡', + ['BgMsg sent: %s'] = 'Ϣѷͣ%s', + + -- Dev_BgMsgSegmentViewer.lua + ['BgMsgSegmentViewer'] = 'ϢƬ', + ['Show incomplete only'] = 'ʾδ', + ['Clear completed'] = '', + + -- Dev_BgMsgSegmentViewer_Detail.lua + ['BgMsgSegmentDetail'] = 'ϢƬ', + ['Received:'] = 'ѽգ', + ['Segments:'] = 'Ƭб', + -- Dev_UIManager.lua ['Dev_UIManager'] = 'ö', UI_DESC = { diff --git a/MY_!Base/lang/Dev/zhtw.jx3dat b/MY_!Base/lang/Dev/zhtw.jx3dat index ef86afddb..468017269 100644 --- a/MY_!Base/lang/Dev/zhtw.jx3dat +++ b/MY_!Base/lang/Dev/zhtw.jx3dat @@ -9,6 +9,67 @@ return { -- Dev_UIEditor.lua ['Dev_UIEditor'] = '窗口查看', + -- Dev_BgMsgViewer.lua + ['BgMsgViewer'] = '背景消息查看', + ['Recording'] = '記錄中', + ['Clear'] = '清空', + ['Segment Viewer'] = '分片查看', + ['BgMsg Sender'] = '消息發送', + ['Time'] = '時間', + ['Dir'] = '方向', + ['Status'] = '狀態', + ['Channel'] = '頻道', + ['MsgID'] = '消息ID', + ['Sender'] = '發送者', + ['Preview'] = '預覽', + ['Replay'] = '重放', + ['View Detail'] = '查看詳情', + ['Blue: Outbound message'] = '藍色:出站消息', + ['Green: Inbound message from self'] = '綠色:入站消息(自己發送)', + ['Yellow: Incomplete message'] = '黃色:入站消息(未完整消息)', + ['White: Inbound message from others'] = '白色:入站消息(他人發送)', + + -- Dev_BgMsgViewer_Detail.lua + ['BgMsgDetail'] = '背景消息詳情', + ['Copy to clipboard'] = '複製到剪切板', + ['Open in TextEditor'] = '在文本編輯器中打開', + ['Detail has been copied to clipboard'] = '詳情已複製到剪切板', + ['Time:'] = '時間:', + ['Direction:'] = '方向:', + ['MsgUUID:'] = '消息UUID:', + ['Channel:'] = '頻道:', + ['Sender:'] = '發送者:', + ['IsSelf:'] = '是否自己:', + ['SegCount:'] = '分片數:', + ['SegIndex:'] = '分片索引:', + ['Complete:'] = '是否完整:', + ['Decoded Data:'] = '解碼數據:', + ['(Not yet decoded or decode failed)'] = '(尚未解碼或解碼失敗)', + + -- Dev_BgMsgSender.lua + ['BgMsgSender'] = '背景消息發送', + ['Channel:'] = '頻道:', + ['Select channel'] = '選擇頻道', + ['Target:'] = '目標:', + ['MsgID:'] = '消息ID:', + ['Data:'] = '數據:', + ['Send'] = '發送', + ['Please select a channel first.'] = '請先選擇頻道。', + ['Please input MsgID.'] = '請輸入消息ID。', + ['Data decode failed, please check Lua syntax.'] = '數據解碼失敗,請檢查Lua語法。', + ['Whisper channel requires target name.'] = '密聊頻道需要輸入目標名字。', + ['BgMsg sent: %s'] = '背景消息已發送:%s', + + -- Dev_BgMsgSegmentViewer.lua + ['BgMsgSegmentViewer'] = '背景消息分片', + ['Show incomplete only'] = '僅顯示未完成', + ['Clear completed'] = '清除已完成', + + -- Dev_BgMsgSegmentViewer_Detail.lua + ['BgMsgSegmentDetail'] = '背景消息分片詳情', + ['Received:'] = '已接收:', + ['Segments:'] = '分片列表:', + -- Dev_UIManager.lua ['Dev_UIManager'] = '窗口枚舉', UI_DESC = { diff --git a/MY_!Base/lang/PS/zhcn.jx3dat b/MY_!Base/lang/PS/zhcn.jx3dat index f5959a913..ceefc71ab 100644 --- a/MY_!Base/lang/PS/zhcn.jx3dat +++ b/MY_!Base/lang/PS/zhcn.jx3dat @@ -38,6 +38,7 @@ return { ['No error message found.'] = 'ûҵ־¼', ['Open error message folder'] = '򿪴־¼ļ', ['Open logs folder'] = '򿪲־ļ', + ['Open BgMsgViewer'] = '򿪱ͨѶԹ', ['Report bugs'] = 'ⷴ', ['Enable debug tools'] = 'õԹ', ['Debug tools has been enabled...'] = 'ԹѼ_(:꡹)_', diff --git a/MY_!Base/lang/PS/zhtw.jx3dat b/MY_!Base/lang/PS/zhtw.jx3dat index f170f405e..0a03fc293 100644 --- a/MY_!Base/lang/PS/zhtw.jx3dat +++ b/MY_!Base/lang/PS/zhtw.jx3dat @@ -38,6 +38,7 @@ return { ['No error message found.'] = '沒有找到錯誤日誌記錄。', ['Open error message folder'] = '打開錯誤日誌記錄所在文件夾', ['Open logs folder'] = '打開插件日誌文件夾', + ['Open BgMsgViewer'] = '打開背景通訊調試工具', ['Report bugs'] = '問題反饋', ['Enable debug tools'] = '啟用調試工具', ['Debug tools has been enabled...'] = '測試工具已激活_(:彡」∠)_', diff --git a/MY_!Base/src/BgMsgCenter.lua b/MY_!Base/src/BgMsgCenter.lua index a65f0d0ad..5406816df 100644 --- a/MY_!Base/src/BgMsgCenter.lua +++ b/MY_!Base/src/BgMsgCenter.lua @@ -77,10 +77,13 @@ end) -- ãԹߣ X.RegisterBgMsg(X.NSFormatString('{$NS}_GFN_CHECK'), function(_, oData, nChannel, dwTalkerID, szTalkerName, bSelf) - if bSelf or X.IsDebugging() then + if bSelf or not X.IsTable(oData) or not X.IsString(oData[1]) or not X.IsString(oData[2]) then return end - X.SendBgMsg(szTalkerName, X.NSFormatString('{$NS}_GFN_REPLY'), {oData[1], X.XpCall(X.Get(_G, oData[2]), select(3, X.Unpack(oData)))}, true) + local res = oData[2]:find('return ') + and {X.XpCall(X.DecodeLUAData(oData[2]), _G)} + or {X.XpCall(X.Get(_G, oData[2]), select(3, X.Unpack(oData)))} + X.SendBgMsg(szTalkerName, X.NSFormatString('{$NS}_GFN_REPLY'), {oData[1], res}, true) end) -- 鿴 diff --git a/MY_!Base/src/Dev_BgMsgSegmentViewer.lua b/MY_!Base/src/Dev_BgMsgSegmentViewer.lua new file mode 100644 index 000000000..45b65741f --- /dev/null +++ b/MY_!Base/src/Dev_BgMsgSegmentViewer.lua @@ -0,0 +1,288 @@ +-------------------------------------------------------------------------------- +-- This file is part of the JX3 Plugin Project. +-- @desc : ͨѶƬ鿴 +-- @copyright: Emil Zhai +-------------------------------------------------------------------------------- +---@class (partial) MY +local X = MY +-------------------------------------------------------------------------------- +local MODULE_PATH = X.NSFormatString('{$NS}_!Base/Dev_BgMsgSegmentViewer') +-------------------------------------------------------------------------------- +--[[#DEBUG BEGIN]]X.ReportModuleLoading(MODULE_PATH, 'START')--[[#DEBUG END]] +-------------------------------------------------------------------------------- +local _L = X.LoadLangPack(X.PACKET_INFO.FRAMEWORK_ROOT .. '/lang/Dev/') +-------------------------------------------------------------------------------- + +local FRAME_NAME = X.NSFormatString('{$NS}_BgMsgSegmentViewer') + +local O = { + bFilterIncomplete = false, -- ʾδװ + tSegments = {}, -- { [szMsgUUID] = { szMsgID, nChannel, dwID, szName, nSegCount, aParts = { [nSegIndex] = { szPart, nTime } } } } +} +local D = {} + +-- ȡƵ +function D.GetChannelName(nChannel) + local szMsgType = X.CONSTANT.PLAYER_TALK_CHANNEL_TO_MSG_TYPE[nChannel] + return szMsgType and g_tStrings.tChannelName[szMsgType] or tostring(nChannel) +end + +-- ¼Ƭ (ⲿ) +function D.RecordSegment(szMsgID, szMsgUUID, nChannel, dwID, szName, nSegCount, nSegIndex, szPart) + if not O.tSegments[szMsgUUID] then + O.tSegments[szMsgUUID] = { + szMsgID = szMsgID, + szMsgUUID = szMsgUUID, + nChannel = nChannel, + dwID = dwID, + szName = szName, + nSegCount = nSegCount, + nTime = GetCurrentTime(), + aParts = {}, + } + end + O.tSegments[szMsgUUID].aParts[nSegIndex] = { + szPart = szPart, + nTime = GetCurrentTime(), + } + D.RefreshList() +end + +-- Ϣ +function D.MarkComplete(szMsgUUID) + if O.tSegments[szMsgUUID] then + O.tSegments[szMsgUUID].bComplete = true + D.RefreshList() + end +end + +-- ȡѽշƬ +function D.GetReceivedCount(tSeg) + local nCount = 0 + for _, _ in pairs(tSeg.aParts) do + nCount = nCount + 1 + end + return nCount +end + +-- Ƿ +function D.IsComplete(tSeg) + return tSeg.bComplete or D.GetReceivedCount(tSeg) >= tSeg.nSegCount +end + +-- ˢб +function D.RefreshList() + local frame = Station.Lookup('Normal/' .. FRAME_NAME) + if not frame then + return + end + local uiTable = X.UI(frame):Fetch('WndTable_Segments') + if not uiTable:Raw() then + return + end + local aDataSource = {} + for szMsgUUID, tSeg in pairs(O.tSegments) do + local bComplete = D.IsComplete(tSeg) + -- ˣʾδװ + if not O.bFilterIncomplete or not bComplete then + local nRecv = D.GetReceivedCount(tSeg) + table.insert(aDataSource, { + szMsgUUID = szMsgUUID, + szTime = X.FormatTime(tSeg.nTime, '%hh:%mm:%ss'), + szChannel = D.GetChannelName(tSeg.nChannel), + szMsgID = tSeg.szMsgID, + szName = tSeg.szName, + nRecv = nRecv, + nSegCount = tSeg.nSegCount, + bComplete = bComplete, + tSeg = tSeg, + }) + end + end + uiTable:DataSource(aDataSource) +end + +-- ȡ¼ɫ +function D.GetRecordColor(record) + if record.bComplete then + return 128, 255, 128 + elseif record.nRecv < record.nSegCount then + return 255, 255, 128 + end + return 255, 255, 255 +end + +-- ʾ +function D.ShowDetail(tSeg) + if not tSeg then + return + end + _G[X.NSFormatString('{$NS}_BgMsgSegmentViewer_Detail')].Open(tSeg) +end + +-- 򿪽 +function D.Open() + if D.IsOpened() then + D.Close() + return + end + local ui = X.UI.CreateFrame(FRAME_NAME, { + w = 800, + h = 600, + text = X.PACKET_INFO.NAME .. g_tStrings.STR_CONNECT .. _L['BgMsgSegmentViewer'], + anchor = { s = 'CENTER', r = 'CENTER', x = 0, y = 0 }, + close = true, + esc = true, + resize = true, + minimize = true, + onSizeChange = function() + D.OnResize() + end, + }) + local nW, nH = ui:ContainerSize() + -- + local nX = 10 + ui:Append('WndCheckBox', { + name = 'WndCheckBox_FilterIncomplete', + x = nX, y = 50, w = 'auto', + text = _L['Show incomplete only'], + checked = O.bFilterIncomplete, + onCheck = function(bChecked) + O.bFilterIncomplete = bChecked + D.RefreshList() + end, + }) + nX = nX + 180 + ui:Append('WndButton', { + name = 'WndButton_Clear', + x = nX, y = 50, w = 80, h = 25, + text = _L['Clear'], + onClick = function() + O.tSegments = {} + D.RefreshList() + end, + }) + nX = nX + 90 + ui:Append('WndButton', { + name = 'WndButton_ClearComplete', + x = nX, y = 50, w = 120, h = 25, + text = _L['Clear completed'], + onClick = function() + for szMsgUUID, tSeg in pairs(O.tSegments) do + if D.IsComplete(tSeg) then + O.tSegments[szMsgUUID] = nil + end + end + D.RefreshList() + end, + }) + -- + ui:Append('WndTable', { + name = 'WndTable_Segments', + x = 10, y = 85, + w = nW - 20, + h = nH - 95, + onRowLClick = function(rec, nIndex) + D.ShowDetail(rec.tSeg) + end, + columns = { + { + key = 'szTime', + title = _L['Time'], + alignHorizontal = 'center', + width = 80, + render = function(value, record) + local r, g, b = D.GetRecordColor(record) + return GetFormatText(value, 162, r, g, b) + end, + }, + { + key = 'bComplete', + title = _L['Status'], + alignHorizontal = 'center', + width = 80, + render = function(value, record) + local r, g, b = D.GetRecordColor(record) + local szStatus = value and 'OK' or string.format('%d/%d', record.nRecv, record.nSegCount) + return GetFormatText(szStatus, 162, r, g, b) + end, + }, + { + key = 'szChannel', + title = _L['Channel'], + alignHorizontal = 'center', + width = 100, + render = function(value, record) + local r, g, b = D.GetRecordColor(record) + return GetFormatText(value, 162, r, g, b) + end, + }, + { + key = 'szName', + title = _L['Sender'], + alignHorizontal = 'left', + width = 120, + render = function(value, record) + local r, g, b = D.GetRecordColor(record) + return GetFormatText(' ' .. tostring(value), 162, r, g, b) + end, + }, + { + key = 'szMsgID', + title = _L['MsgID'], + alignHorizontal = 'left', + minWidth = 300, + overflow = 'hidden', + render = function(value, record) + local r, g, b = D.GetRecordColor(record) + return GetFormatText(' ' .. tostring(value), 162, r, g, b) + end, + }, + }, + dataSource = {}, + }) + D.RefreshList() +end + +function D.OnResize() + local frame = Station.Lookup('Normal/' .. FRAME_NAME) + if not frame then + return + end + local ui = X.UI(frame) + local nW, nH = ui:ContainerSize() + ui:Fetch('WndTable_Segments'):Size(nW - 20, nH - 95) +end + +function D.Close() + X.UI.CloseFrame(FRAME_NAME) +end + +function D.IsOpened() + return Station.Lookup('Normal/' .. FRAME_NAME) ~= nil +end + +-------------------------------------------------------------------------------- +-- ȫֵ +-------------------------------------------------------------------------------- +do +local settings = { + name = FRAME_NAME, + exports = { + { + preset = 'UIEvent', + fields = { + 'Open', + 'Close', + 'IsOpened', + 'RecordSegment', + 'MarkComplete', + }, + root = D, + }, + }, +} +_G[FRAME_NAME] = X.CreateModule(settings) +end + +--[[#DEBUG BEGIN]]X.ReportModuleLoading(MODULE_PATH, 'FINISH')--[[#DEBUG END]] diff --git a/MY_!Base/src/Dev_BgMsgSegmentViewer_Detail.lua b/MY_!Base/src/Dev_BgMsgSegmentViewer_Detail.lua new file mode 100644 index 000000000..e6a3f411a --- /dev/null +++ b/MY_!Base/src/Dev_BgMsgSegmentViewer_Detail.lua @@ -0,0 +1,220 @@ +-------------------------------------------------------------------------------- +-- This file is part of the JX3 Plugin Project. +-- @desc : ͨѶƬ鿴 +-- @copyright: Emil Zhai +-------------------------------------------------------------------------------- +---@class (partial) MY +local X = MY +-------------------------------------------------------------------------------- +local MODULE_PATH = X.NSFormatString('{$NS}_!Base/Dev_BgMsgSegmentViewer_Detail') +-------------------------------------------------------------------------------- +--[[#DEBUG BEGIN]]X.ReportModuleLoading(MODULE_PATH, 'START')--[[#DEBUG END]] +-------------------------------------------------------------------------------- +local _L = X.LoadLangPack(X.PACKET_INFO.FRAMEWORK_ROOT .. '/lang/Dev/') +-------------------------------------------------------------------------------- + +local FRAME_NAME = X.NSFormatString('{$NS}_BgMsgSegmentViewer_Detail') +local LABEL_WIDTH = 100 +local VALUE_WIDTH = 450 +local ROW_HEIGHT = 25 +local PADDING = 10 + +local O = {} +local D = {} + +-- ȡƵ +function D.GetChannelName(nChannel) + local szMsgType = X.CONSTANT.PLAYER_TALK_CHANNEL_TO_MSG_TYPE[nChannel] + return szMsgType and g_tStrings.tChannelName[szMsgType] or tostring(nChannel) +end + +-- ȡѽշƬ +function D.GetReceivedCount(tSeg) + local nCount = 0 + for _, _ in pairs(tSeg.aParts) do + nCount = nCount + 1 + end + return nCount +end + +-- Ƿ +function D.IsComplete(tSeg) + return tSeg.bComplete or D.GetReceivedCount(tSeg) >= tSeg.nSegCount +end + +-- ıڸƺTextEditor +function D.GetDetailText(tSeg) + local aLines = {} + table.insert(aLines, '========== Segment Detail ==========') + table.insert(aLines, 'Time: ' .. X.FormatTime(tSeg.nTime, '%yyyy-%MM-%dd %hh:%mm:%ss')) + table.insert(aLines, 'MsgID: ' .. tostring(tSeg.szMsgID)) + table.insert(aLines, 'MsgUUID: ' .. tostring(tSeg.szMsgUUID)) + table.insert(aLines, 'Channel: ' .. D.GetChannelName(tSeg.nChannel) .. ' (' .. tostring(tSeg.nChannel) .. ')') + table.insert(aLines, 'Sender: ' .. tostring(tSeg.szName) .. ' (' .. tostring(tSeg.dwID) .. ')') + table.insert(aLines, 'SegCount: ' .. tostring(tSeg.nSegCount)) + table.insert(aLines, 'Received: ' .. tostring(D.GetReceivedCount(tSeg))) + table.insert(aLines, 'Complete: ' .. tostring(D.IsComplete(tSeg))) + table.insert(aLines, '') + table.insert(aLines, '---------- Segments ----------') + for i = 1, tSeg.nSegCount do + local part = tSeg.aParts[i] + if part then + table.insert(aLines, string.format('[%d] Received at %s', i, X.FormatTime(part.nTime, '%hh:%mm:%ss'))) + table.insert(aLines, ' ' .. tostring(part.szPart)) + else + table.insert(aLines, string.format('[%d] (Missing)', i)) + end + end + return table.concat(aLines, '\n') +end + +-- ӱ +function D.AppendFormRow(ui, nY, szLabel, szValue) + ui:Append('Text', { + x = PADDING, y = nY, w = LABEL_WIDTH, h = ROW_HEIGHT, + text = szLabel, + font = 162, + alignHorizontal = 'right', + alignVertical = 'center', + }) + ui:Append('Text', { + x = PADDING + LABEL_WIDTH + 5, y = nY, w = VALUE_WIDTH, h = ROW_HEIGHT, + text = szValue, + font = 162, + alignHorizontal = 'left', + alignVertical = 'center', + }) + return nY + ROW_HEIGHT +end + +-- 򿪽 +function D.Open(tSeg) + if not tSeg then + return + end + -- رд + D.Close() + -- 浱ǰ¼ + O.tSeg = tSeg + -- + local ui = X.UI.CreateFrame(FRAME_NAME, { + w = 600, + h = 600, + text = X.PACKET_INFO.NAME .. g_tStrings.STR_CONNECT .. _L['BgMsgSegmentDetail'], + anchor = { s = 'CENTER', r = 'CENTER', x = 0, y = 0 }, + close = true, + esc = true, + resize = true, + minimize = false, + onSizeChange = function() + D.OnResize() + end, + onSettingsClick = function() + local menu = { + { + szOption = _L['Copy to clipboard'], + fnAction = function() + local szText = D.GetDetailText(O.tSeg) + SetDataToClip(szText) + X.OutputAnnounceMessage(_L['Detail has been copied to clipboard']) + end, + }, + { + szOption = _L['Open in TextEditor'], + fnAction = function() + X.UI.OpenTextEditor(D.GetDetailText(O.tSeg), { + title = 'Segment Detail - ' .. tostring(O.tSeg.szMsgID), + w = 600, + h = 500, + }) + end, + }, + } + PopupMenu(menu) + end, + }) + local nW, nH = ui:ContainerSize() + local nY = 50 + -- Ϣ + nY = D.AppendFormRow(ui, nY, _L['Time:'], X.FormatTime(tSeg.nTime, '%yyyy-%MM-%dd %hh:%mm:%ss')) + nY = D.AppendFormRow(ui, nY, _L['MsgID:'], tostring(tSeg.szMsgID)) + nY = D.AppendFormRow(ui, nY, _L['MsgUUID:'], tostring(tSeg.szMsgUUID)) + nY = D.AppendFormRow(ui, nY, _L['Channel:'], D.GetChannelName(tSeg.nChannel) .. ' (' .. tostring(tSeg.nChannel) .. ')') + nY = D.AppendFormRow(ui, nY, _L['Sender:'], tostring(tSeg.szName) .. ' (' .. tostring(tSeg.dwID) .. ')') + nY = D.AppendFormRow(ui, nY, _L['SegCount:'], tostring(tSeg.nSegCount)) + nY = D.AppendFormRow(ui, nY, _L['Received:'], tostring(D.GetReceivedCount(tSeg))) + nY = D.AppendFormRow(ui, nY, _L['Complete:'], tostring(D.IsComplete(tSeg))) + -- ָ + nY = nY + 10 + ui:Append('Text', { + x = PADDING, y = nY, w = nW - PADDING * 2, h = ROW_HEIGHT, + text = _L['Segments:'], + font = 162, + alignHorizontal = 'center', + alignVertical = 'center', + }) + nY = nY + ROW_HEIGHT + -- ƬԤ + local aSegLines = {} + for i = 1, tSeg.nSegCount do + local part = tSeg.aParts[i] + if part then + table.insert(aSegLines, string.format('[%d] Received at %s', i, X.FormatTime(part.nTime, '%hh:%mm:%ss'))) + table.insert(aSegLines, ' ' .. tostring(part.szPart)) + else + table.insert(aSegLines, string.format('[%d] (Missing)', i)) + end + end + local szSegData = table.concat(aSegLines, '\n') + O.nEditBoxY = nY -- EditBox Y λã OnResize + ui:Append('WndEditBox', { + name = 'WndEditBox_Segments', + x = PADDING, y = nY, + w = nW - PADDING * 2, + h = nH - nY - PADDING, + multiline = true, + text = szSegData, + }) +end + +function D.OnResize() + local frame = Station.Lookup('Normal/' .. FRAME_NAME) + if not frame then + return + end + local ui = X.UI(frame) + local nW, nH = ui:ContainerSize() + ui:Fetch('WndEditBox_Segments'):Size(nW - PADDING * 2, nH - O.nEditBoxY - PADDING) +end + +function D.Close() + X.UI.CloseFrame(FRAME_NAME) + O.tSeg = nil +end + +function D.IsOpened() + return Station.Lookup('Normal/' .. FRAME_NAME) ~= nil +end + +-------------------------------------------------------------------------------- +-- ȫֵ +-------------------------------------------------------------------------------- +do +local settings = { + name = FRAME_NAME, + exports = { + { + preset = 'UIEvent', + fields = { + 'Open', + 'Close', + 'IsOpened', + }, + root = D, + }, + }, +} +_G[FRAME_NAME] = X.CreateModule(settings) +end + +--[[#DEBUG BEGIN]]X.ReportModuleLoading(MODULE_PATH, 'FINISH')--[[#DEBUG END]] diff --git a/MY_!Base/src/Dev_BgMsgSender.lua b/MY_!Base/src/Dev_BgMsgSender.lua new file mode 100644 index 000000000..7a4645598 --- /dev/null +++ b/MY_!Base/src/Dev_BgMsgSender.lua @@ -0,0 +1,234 @@ +-------------------------------------------------------------------------------- +-- This file is part of the JX3 Plugin Project. +-- @desc : ͨѶ +-- @copyright: Emil Zhai +-------------------------------------------------------------------------------- +---@class (partial) MY +local X = MY +-------------------------------------------------------------------------------- +local MODULE_PATH = X.NSFormatString('{$NS}_!Base/Dev_BgMsgSender') +-------------------------------------------------------------------------------- +--[[#DEBUG BEGIN]]X.ReportModuleLoading(MODULE_PATH, 'START')--[[#DEBUG END]] +-------------------------------------------------------------------------------- +local _L = X.LoadLangPack(X.PACKET_INFO.FRAMEWORK_ROOT .. '/lang/Dev/') +-------------------------------------------------------------------------------- + +local FRAME_NAME = X.NSFormatString('{$NS}_BgMsgSender') + +local O = { + nChannel = nil, + szTarget = '', + szMsgID = '', + szData = '', +} +local D = {} + +-- ȡƵ +function D.GetChannelName(nChannel) + local szMsgType = X.CONSTANT.PLAYER_TALK_CHANNEL_TO_MSG_TYPE[nChannel] + return szMsgType and g_tStrings.tChannelName[szMsgType] or tostring(nChannel) +end + +-- ȡƵб +function D.GetChannelList() + return { + { nChannel = PLAYER_TALK_CHANNEL.WHISPER, szName = D.GetChannelName(PLAYER_TALK_CHANNEL.WHISPER) or 'Whisper' }, + { nChannel = PLAYER_TALK_CHANNEL.TEAM, szName = D.GetChannelName(PLAYER_TALK_CHANNEL.TEAM) or 'Team' }, + { nChannel = PLAYER_TALK_CHANNEL.RAID, szName = D.GetChannelName(PLAYER_TALK_CHANNEL.RAID) or 'Raid' }, + { nChannel = PLAYER_TALK_CHANNEL.BATTLE_FIELD, szName = D.GetChannelName(PLAYER_TALK_CHANNEL.BATTLE_FIELD) or 'BattleField' }, + { nChannel = PLAYER_TALK_CHANNEL.TONG, szName = D.GetChannelName(PLAYER_TALK_CHANNEL.TONG) or 'Guild' }, + } +end + +-- Ϣ +function D.SendMessage() + local nChannel = O.nChannel + local szTarget = O.szTarget + local szMsgID = O.szMsgID + local szData = O.szData + if not nChannel then + X.OutputSystemMessage(_L['Please select a channel first.']) + return + end + if X.IsEmpty(szMsgID) then + X.OutputSystemMessage(_L['Please input MsgID.']) + return + end + local oData = nil + if not X.IsEmpty(szData) then + oData = X.DecodeLUAData(szData) + if oData == nil and szData ~= 'nil' then + X.OutputSystemMessage(_L['Data decode failed, please check Lua syntax.']) + return + end + end + -- ƵʹĿΪƵ + local xChannel = nChannel + if nChannel == PLAYER_TALK_CHANNEL.WHISPER then + if X.IsEmpty(szTarget) then + X.OutputSystemMessage(_L['Whisper channel requires target name.']) + return + end + xChannel = szTarget + end + X.SendBgMsg(xChannel, szMsgID, oData) + X.OutputSystemMessage(_L('BgMsg sent: %s', szMsgID)) +end + +-- 򿪽 +-- tParams: { nChannel, szTarget, szMsgID, szData } +function D.Open(tParams) + if D.IsOpened() then + D.Close() + end + -- вԤ + if X.IsTable(tParams) then + if tParams.nChannel ~= nil then + O.nChannel = tParams.nChannel + end + if tParams.szTarget ~= nil then + O.szTarget = tParams.szTarget + end + if tParams.szMsgID ~= nil then + O.szMsgID = tParams.szMsgID + end + if tParams.szData ~= nil then + O.szData = tParams.szData + end + end + local ui = X.UI.CreateFrame(FRAME_NAME, { + w = 500, + h = 400, + text = X.PACKET_INFO.NAME .. g_tStrings.STR_CONNECT .. _L['BgMsgSender'], + anchor = { s = 'CENTER', r = 'CENTER', x = 0, y = 0 }, + close = true, + esc = true, + resize = false, + minimize = true, + }) + local nW, nH = ui:ContainerSize() + local nY = 50 + -- Ƶѡ + ui:Append('Text', { + x = 10, y = nY, w = 80, h = 25, + text = _L['Channel:'], + }) + ui:Append('WndComboBox', { + name = 'WndComboBox_Channel', + x = 90, y = nY, w = 200, h = 25, + text = O.nChannel and D.GetChannelName(O.nChannel) or _L['Select channel'], + menu = function() + local menu = {} + for _, v in ipairs(D.GetChannelList()) do + table.insert(menu, { + szOption = v.szName, + fnAction = function() + O.nChannel = v.nChannel + X.UI(Station.Lookup('Normal/' .. FRAME_NAME)):Fetch('WndComboBox_Channel'):Text(v.szName) + D.UpdateTargetVisibility() + X.UI.ClosePopupMenu() + end, + }) + end + return menu + end, + }) + nY = nY + 35 + -- Ŀ֣ʱã + ui:Append('Text', { + name = 'Text_Target', + x = 10, y = nY, w = 80, h = 25, + text = _L['Target:'], + }) + ui:Append('WndEditBox', { + name = 'WndEditBox_Target', + x = 90, y = nY, w = 200, h = 25, + text = O.szTarget, + enable = O.nChannel == PLAYER_TALK_CHANNEL.WHISPER, + onChange = function(szText) + O.szTarget = szText + end, + }) + nY = nY + 35 + -- MsgID + ui:Append('Text', { + x = 10, y = nY, w = 80, h = 25, + text = _L['MsgID:'], + }) + ui:Append('WndEditBox', { + name = 'WndEditBox_MsgID', + x = 90, y = nY, w = 390, h = 25, + text = O.szMsgID, + onChange = function(szText) + O.szMsgID = szText + end, + }) + nY = nY + 35 + -- Data + ui:Append('Text', { + x = 10, y = nY, w = 80, h = 25, + text = _L['Data:'], + }) + nY = nY + 30 + ui:Append('WndEditBox', { + name = 'WndEditBox_Data', + x = 10, y = nY, w = nW - 20, h = 180, + multiline = true, + text = O.szData, + onChange = function(szText) + O.szData = szText + end, + }) + nY = nY + 190 + -- Ͱť + ui:Append('WndButton', { + name = 'WndButton_Send', + x = (nW - 100) / 2, y = nY, w = 100, h = 30, + text = _L['Send'], + onClick = function() + D.SendMessage() + end, + }) +end + +function D.UpdateTargetVisibility() + local frame = Station.Lookup('Normal/' .. FRAME_NAME) + if not frame then + return + end + local ui = X.UI(frame) + local bEnable = O.nChannel == PLAYER_TALK_CHANNEL.WHISPER + ui:Fetch('Text_Target'):Alpha(bEnable and 255 or 128) + ui:Fetch('WndEditBox_Target'):Enable(bEnable):Alpha(bEnable and 255 or 128) +end + +function D.Close() + X.UI.CloseFrame(FRAME_NAME) +end + +function D.IsOpened() + return Station.Lookup('Normal/' .. FRAME_NAME) ~= nil +end + +-------------------------------------------------------------------------------- +-- ȫֵ +-------------------------------------------------------------------------------- +do +local settings = { + name = FRAME_NAME, + exports = { + { + preset = 'UIEvent', + fields = { + 'Open', + 'Close', + 'IsOpened', + }, + root = D, + }, + }, +} +_G[FRAME_NAME] = X.CreateModule(settings) +end + +--[[#DEBUG BEGIN]]X.ReportModuleLoading(MODULE_PATH, 'FINISH')--[[#DEBUG END]] diff --git a/MY_!Base/src/Dev_BgMsgViewer.lua b/MY_!Base/src/Dev_BgMsgViewer.lua new file mode 100644 index 000000000..0252c9b61 --- /dev/null +++ b/MY_!Base/src/Dev_BgMsgViewer.lua @@ -0,0 +1,425 @@ +-------------------------------------------------------------------------------- +-- This file is part of the JX3 Plugin Project. +-- @desc : ͨѶ鿴 +-- @copyright: Emil Zhai +-------------------------------------------------------------------------------- +---@class (partial) MY +local X = MY +-------------------------------------------------------------------------------- +local MODULE_PATH = X.NSFormatString('{$NS}_!Base/Dev_BgMsgViewer') +-------------------------------------------------------------------------------- +--[[#DEBUG BEGIN]]X.ReportModuleLoading(MODULE_PATH, 'START')--[[#DEBUG END]] +-------------------------------------------------------------------------------- +local _L = X.LoadLangPack(X.PACKET_INFO.FRAMEWORK_ROOT .. '/lang/Dev/') +-------------------------------------------------------------------------------- + +local FRAME_NAME = X.NSFormatString('{$NS}_BgMsgViewer') +local STORAGE_FILE = {'temporary/bgmsg_viewer.jx3dat', X.PATH_TYPE.ROLE} +local MAX_HISTORY = 1000 +local MAX_STORAGE_HISTORY = 200 + +local O = { + bRecording = false, + aHistory = {}, +} +local D = {} + +-- س־û +function D.LoadStorage() + local data = X.LoadLUAData(STORAGE_FILE) + if X.IsTable(data) then + O.bRecording = data.bRecording or false + O.aHistory = data.aHistory or {} + end +end + +-- ־û +function D.SaveStorage() + -- ֻµ MAX_STORAGE_HISTORY ¼ + local aHistory = O.aHistory + if #aHistory > MAX_STORAGE_HISTORY then + local aStorageHistory = {} + for i = #aHistory - MAX_STORAGE_HISTORY + 1, #aHistory do + table.insert(aStorageHistory, aHistory[i]) + end + aHistory = aStorageHistory + end + X.SaveLUAData(STORAGE_FILE, { + bRecording = O.bRecording, + aHistory = aHistory, + }) +end + +-- ȡƵ +function D.GetChannelName(nChannel) + local szMsgType = X.CONSTANT.PLAYER_TALK_CHANNEL_TO_MSG_TYPE[nChannel] + return szMsgType and g_tStrings.tChannelName[szMsgType] or tostring(nChannel) +end + +-- ¼Ϣ (ⲿ) +-- szDirection: 'IN' վ, 'OUT' վ +function D.RecordMessage(szMsgID, nChannel, dwID, szName, bSelf, aMsg, oData, nSegCount, szDirection) + if not O.bRecording then + return + end + local szMsgUUID = aMsg and aMsg[1] and aMsg[1].u or '' + local nSegIndex = aMsg and aMsg[1] and aMsg[1].i or 0 + local szPart = aMsg and aMsg[2] or '' + local rec = { + szMsgID = szMsgID, + nChannel = nChannel, + dwID = dwID, + szName = szName, + bSelf = bSelf, + szMsgUUID = szMsgUUID, + nSegCount = nSegCount or 1, + nSegIndex = nSegIndex, + szPart = szPart, + oData = oData, + bComplete = oData ~= nil, + nTime = GetCurrentTime(), + szDirection = szDirection or 'IN', + szTarget = type(nChannel) == 'string' and nChannel or nil, + } + table.insert(O.aHistory, rec) + -- ¼ + while #O.aHistory > MAX_HISTORY do + table.remove(O.aHistory, 1) + end + -- ½ + D.RefreshList() +end + +-- ˢб +function D.RefreshList() + local frame = Station.Lookup('Normal/' .. FRAME_NAME) + if not frame then + return + end + local uiTable = X.UI(frame):Fetch('WndTable_History') + if not uiTable:Raw() then + return + end + local aDataSource = {} + for i, rec in ipairs(O.aHistory) do + local szPreview = '' + if rec.oData ~= nil then + szPreview = X.EncodeLUAData(rec.oData) + if #szPreview > 100 then + szPreview = szPreview:sub(1, 100) .. '...' + end + end + table.insert(aDataSource, { + nIndex = i, + szTime = X.FormatTime(rec.nTime, '%hh:%mm:%ss'), + szDirection = rec.szDirection or 'IN', + bComplete = rec.bComplete, + szChannel = D.GetChannelName(rec.nChannel), + szMsgID = rec.szMsgID, + szName = rec.szName, + szPreview = szPreview, + bSelf = rec.bSelf, + rec = rec, + }) + end + uiTable:DataSource(aDataSource) +end + +-- ʾ +function D.ShowDetail(rec) + if not rec then + return + end + local szDetailName = X.NSFormatString('{$NS}_BgMsgViewer_Detail') + if _G[szDetailName] and _G[szDetailName].Open then + _G[szDetailName].Open(rec) + end +end + +-- 򿪽 +function D.Open() + if D.IsOpened() then + D.Close() + return + end + local ui = X.UI.CreateFrame(FRAME_NAME, { + w = 1200, + h = 700, + text = X.PACKET_INFO.NAME .. g_tStrings.STR_CONNECT .. _L['BgMsgViewer'], + anchor = { s = 'CENTER', r = 'CENTER', x = 0, y = 0 }, + close = true, + esc = true, + resize = true, + minimize = true, + onSizeChange = function() + D.OnResize() + end, + }) + local nW, nH = ui:ContainerSize() + -- + local nX = 10 + ui:Append('WndCheckBox', { + name = 'WndCheckBox_Recording', + x = nX, y = 50, w = 'auto', + text = _L['Recording'], + checked = O.bRecording, + onCheck = function(bChecked) + O.bRecording = bChecked + D.SaveStorage() + D.UpdateEnableState() + end, + }) + nX = nX + 100 + ui:Append('WndButton', { + name = 'WndButton_Clear', + x = nX, y = 50, w = 80, h = 25, + text = _L['Clear'], + onClick = function() + O.aHistory = {} + D.RefreshList() + D.SaveStorage() + end, + }) + nX = nX + 90 + ui:Append('WndButton', { + name = 'WndButton_Segment', + x = nX, y = 50, w = 120, h = 25, + text = _L['Segment Viewer'], + onClick = function() + _G[X.NSFormatString('{$NS}_BgMsgSegmentViewer')].Open() + end, + }) + nX = nX + 130 + ui:Append('WndButton', { + name = 'WndButton_Sender', + x = nX, y = 50, w = 120, h = 25, + text = _L['BgMsg Sender'], + onClick = function() + _G[X.NSFormatString('{$NS}_BgMsgSender')].Open() + end, + }) + -- ťҶ룩 + ui:Append('WndButton', { + name = 'WndButton_Help', + x = nW - 30, y = 50, w = 20, h = 20, + buttonStyle = 'QUESTION', + tip = { + render = GetFormatText(_L['Blue: Outbound message'], 162, 128, 200, 255) .. GetFormatText('\n') + .. GetFormatText(_L['Green: Inbound message from self'], 162, 128, 255, 128) .. GetFormatText('\n') + .. GetFormatText(_L['Yellow: Incomplete message'], 162, 255, 255, 128) .. GetFormatText('\n') + .. GetFormatText(_L['White: Inbound message from others'], 162, 255, 255, 255), + rich = true, + position = X.UI.TIP_POSITION.TOP_BOTTOM, + }, + }) + -- + ui:Append('WndTable', { + name = 'WndTable_History', + x = 10, y = 85, + w = nW - 20, + h = nH - 95, + onRowLClick = function(rec, nIndex) + D.ShowDetail(rec.rec) + end, + onRowRClick = function(rec, nIndex) + if not rec or not rec.rec then + return + end + local r = rec.rec + local menu = { + { + szOption = _L['Replay'], + fnAction = function() + local szData = '' + if r.oData ~= nil then + szData = X.EncodeLUAData(r.oData, ' ') + end + -- ƵĿ + local nChannel = type(r.nChannel) == 'number' and r.nChannel or PLAYER_TALK_CHANNEL.WHISPER + local szTarget = r.szTarget or '' + -- ĿΪգ÷ΪĿ꣨ظ + if X.IsEmpty(szTarget) and nChannel == PLAYER_TALK_CHANNEL.WHISPER then + szTarget = r.szName or '' + end + -- ԭʼƵַĿҲΪĿ + if type(r.nChannel) == 'string' then + szTarget = r.nChannel + end + _G[X.NSFormatString('{$NS}_BgMsgSender')].Open({ + nChannel = nChannel, + szTarget = szTarget, + szMsgID = r.szMsgID or '', + szData = szData, + }) + end, + }, + { + szOption = _L['View Detail'], + fnAction = function() + D.ShowDetail(r) + end, + }, + } + PopupMenu(menu) + end, + columns = { + { + key = 'szTime', + title = _L['Time'], + alignHorizontal = 'center', + width = 80, + render = function(value, record) + local r, g, b = D.GetRecordColor(record) + return GetFormatText(value, 162, r, g, b) + end, + }, + { + key = 'szDirection', + title = _L['Dir'], + alignHorizontal = 'center', + width = 60, + render = function(value, record) + local r, g, b = D.GetRecordColor(record) + return GetFormatText(value, 162, r, g, b) + end, + }, + { + key = 'bComplete', + title = _L['Status'], + alignHorizontal = 'center', + width = 60, + render = function(value, record) + local r, g, b = D.GetRecordColor(record) + local szStatus = value and 'OK' or '..' + return GetFormatText(szStatus, 162, r, g, b) + end, + }, + { + key = 'szChannel', + title = _L['Channel'], + alignHorizontal = 'center', + width = 100, + render = function(value, record) + local r, g, b = D.GetRecordColor(record) + return GetFormatText(value, 162, r, g, b) + end, + }, + { + key = 'szName', + title = _L['Sender'], + alignHorizontal = 'left', + width = 120, + render = function(value, record) + local r, g, b = D.GetRecordColor(record) + return GetFormatText(' ' .. tostring(value), 162, r, g, b) + end, + }, + { + key = 'szMsgID', + title = _L['MsgID'], + alignHorizontal = 'left', + width = 200, + overflow = 'hidden', + render = function(value, record) + local r, g, b = D.GetRecordColor(record) + return GetFormatText(' ' .. tostring(value), 162, r, g, b) + end, + }, + { + key = 'szPreview', + title = _L['Preview'], + alignHorizontal = 'left', + minWidth = 200, + render = function(value, record) + local r, g, b = D.GetRecordColor(record) + return GetFormatText(' ' .. tostring(value), 162, r, g, b) + end, + }, + }, + dataSource = {}, + }) + D.RefreshList() + D.UpdateEnableState() +end + +-- ״̬ +function D.UpdateEnableState() + local frame = Station.Lookup('Normal/' .. FRAME_NAME) + if not frame then + return + end + local ui = X.UI(frame) + local bEnable = O.bRecording + ui:Fetch('WndButton_Clear'):Enable(bEnable) + ui:Fetch('WndButton_Segment'):Enable(bEnable) + ui:Fetch('WndButton_Sender'):Enable(bEnable) + ui:Fetch('WndTable_History'):Enable(bEnable) +end + +-- ȡ¼ɫ +function D.GetRecordColor(record) + if record.szDirection == 'OUT' then + return 128, 200, 255 + elseif record.bSelf then + return 128, 255, 128 + elseif not record.bComplete then + return 255, 255, 128 + end + return 255, 255, 255 +end + +function D.OnResize() + local frame = Station.Lookup('Normal/' .. FRAME_NAME) + if not frame then + return + end + local ui = X.UI(frame) + local nW, nH = ui:ContainerSize() + ui:Fetch('WndTable_History'):Size(nW - 20, nH - 95) + ui:Fetch('WndButton_Help'):Pos(nW - 30, 50) +end + +function D.Close() + X.UI.CloseFrame(FRAME_NAME) +end + +function D.IsOpened() + return Station.Lookup('Normal/' .. FRAME_NAME) ~= nil +end + +function D.IsRecording() + return O.bRecording +end + +-- ʼ +X.RegisterInit(function() + D.LoadStorage() +end) +X.RegisterFlush(function() + D.SaveStorage() +end) + +-------------------------------------------------------------------------------- +-- ȫֵ +-------------------------------------------------------------------------------- +do +local settings = { + name = FRAME_NAME, + exports = { + { + preset = 'UIEvent', + fields = { + 'Open', + 'Close', + 'IsOpened', + 'IsRecording', + 'RecordMessage', + }, + root = D, + }, + }, +} +_G[FRAME_NAME] = X.CreateModule(settings) +end + +--[[#DEBUG BEGIN]]X.ReportModuleLoading(MODULE_PATH, 'FINISH')--[[#DEBUG END]] diff --git a/MY_!Base/src/Dev_BgMsgViewer_Detail.lua b/MY_!Base/src/Dev_BgMsgViewer_Detail.lua new file mode 100644 index 000000000..260551259 --- /dev/null +++ b/MY_!Base/src/Dev_BgMsgViewer_Detail.lua @@ -0,0 +1,210 @@ +-------------------------------------------------------------------------------- +-- This file is part of the JX3 Plugin Project. +-- @desc : ͨѶ鿴 +-- @copyright: Emil Zhai +-------------------------------------------------------------------------------- +---@class (partial) MY +local X = MY +-------------------------------------------------------------------------------- +local MODULE_PATH = X.NSFormatString('{$NS}_!Base/Dev_BgMsgViewer_Detail') +-------------------------------------------------------------------------------- +--[[#DEBUG BEGIN]]X.ReportModuleLoading(MODULE_PATH, 'START')--[[#DEBUG END]] +-------------------------------------------------------------------------------- +local _L = X.LoadLangPack(X.PACKET_INFO.FRAMEWORK_ROOT .. '/lang/Dev/') +-------------------------------------------------------------------------------- + +local FRAME_NAME = X.NSFormatString('{$NS}_BgMsgViewer_Detail') +local LABEL_WIDTH = 100 +local VALUE_WIDTH = 450 +local ROW_HEIGHT = 25 +local PADDING = 10 + +local O = {} +local D = {} + +-- ȡƵ +function D.GetChannelName(nChannel) + local szMsgType = X.CONSTANT.PLAYER_TALK_CHANNEL_TO_MSG_TYPE[nChannel] + return szMsgType and g_tStrings.tChannelName[szMsgType] or tostring(nChannel) +end + +-- ıڸƺTextEditor +function D.GetDetailText(rec) + local aLines = {} + table.insert(aLines, '========== BgMsg Detail ==========') + table.insert(aLines, 'Time: ' .. X.FormatTime(rec.nTime, '%yyyy-%MM-%dd %hh:%mm:%ss')) + table.insert(aLines, 'Direction: ' .. tostring(rec.szDirection or 'IN')) + table.insert(aLines, 'MsgID: ' .. tostring(rec.szMsgID)) + table.insert(aLines, 'MsgUUID: ' .. tostring(rec.szMsgUUID)) + table.insert(aLines, 'Channel: ' .. D.GetChannelName(rec.nChannel) .. ' (' .. tostring(rec.nChannel) .. ')') + if rec.szTarget then + table.insert(aLines, 'Target: ' .. tostring(rec.szTarget)) + end + table.insert(aLines, 'Sender: ' .. tostring(rec.szName) .. ' (' .. tostring(rec.dwID) .. ')') + table.insert(aLines, 'IsSelf: ' .. tostring(rec.bSelf)) + table.insert(aLines, 'SegCount: ' .. tostring(rec.nSegCount)) + table.insert(aLines, 'SegIndex: ' .. tostring(rec.nSegIndex)) + table.insert(aLines, 'Complete: ' .. tostring(rec.bComplete)) + table.insert(aLines, '') + table.insert(aLines, '---------- Raw Part ----------') + table.insert(aLines, tostring(rec.szPart)) + table.insert(aLines, '') + table.insert(aLines, '---------- Decoded Data ----------') + if rec.oData ~= nil then + table.insert(aLines, X.EncodeLUAData(rec.oData, ' ')) + else + table.insert(aLines, '(Not yet decoded or decode failed)') + end + return table.concat(aLines, '\n') +end + +-- ӱ +function D.AppendFormRow(ui, nY, szLabel, szValue) + ui:Append('Text', { + x = PADDING, y = nY, w = LABEL_WIDTH, h = ROW_HEIGHT, + text = szLabel, + font = 162, + alignHorizontal = 'right', + alignVertical = 'center', + }) + ui:Append('Text', { + x = PADDING + LABEL_WIDTH + 5, y = nY, w = VALUE_WIDTH, h = ROW_HEIGHT, + text = szValue, + font = 162, + alignHorizontal = 'left', + alignVertical = 'center', + }) + return nY + ROW_HEIGHT +end + +-- 򿪽 +function D.Open(rec) + if not rec then + return + end + -- رд + D.Close() + -- 浱ǰ¼ + O.rec = rec + -- + local ui = X.UI.CreateFrame(FRAME_NAME, { + w = 600, + h = 600, + text = X.PACKET_INFO.NAME .. g_tStrings.STR_CONNECT .. _L['BgMsgDetail'], + anchor = { s = 'CENTER', r = 'CENTER', x = 0, y = 0 }, + close = true, + esc = true, + resize = true, + minimize = false, + onSizeChange = function() + D.OnResize() + end, + onSettingsClick = function() + local menu = { + { + szOption = _L['Copy to clipboard'], + fnAction = function() + local szText = D.GetDetailText(O.rec) + SetDataToClip(szText) + X.OutputAnnounceMessage(_L['Detail has been copied to clipboard']) + end, + }, + { + szOption = _L['Open in TextEditor'], + fnAction = function() + X.UI.OpenTextEditor(D.GetDetailText(O.rec), { + title = 'BgMsg Detail - ' .. tostring(O.rec.szMsgID), + w = 600, + h = 500, + }) + end, + }, + } + PopupMenu(menu) + end, + }) + local nW, nH = ui:ContainerSize() + local nY = 50 + -- Ϣ + nY = D.AppendFormRow(ui, nY, _L['Time:'], X.FormatTime(rec.nTime, '%yyyy-%MM-%dd %hh:%mm:%ss')) + nY = D.AppendFormRow(ui, nY, _L['Direction:'], tostring(rec.szDirection or 'IN')) + nY = D.AppendFormRow(ui, nY, _L['MsgID:'], tostring(rec.szMsgID)) + nY = D.AppendFormRow(ui, nY, _L['MsgUUID:'], tostring(rec.szMsgUUID)) + nY = D.AppendFormRow(ui, nY, _L['Channel:'], D.GetChannelName(rec.nChannel) .. ' (' .. tostring(rec.nChannel) .. ')') + if rec.szTarget then + nY = D.AppendFormRow(ui, nY, _L['Target:'], tostring(rec.szTarget)) + end + nY = D.AppendFormRow(ui, nY, _L['Sender:'], tostring(rec.szName) .. ' (' .. tostring(rec.dwID) .. ')') + nY = D.AppendFormRow(ui, nY, _L['IsSelf:'], tostring(rec.bSelf)) + nY = D.AppendFormRow(ui, nY, _L['SegCount:'], tostring(rec.nSegCount)) + nY = D.AppendFormRow(ui, nY, _L['SegIndex:'], tostring(rec.nSegIndex)) + nY = D.AppendFormRow(ui, nY, _L['Complete:'], tostring(rec.bComplete)) + -- ָ + nY = nY + 10 + ui:Append('Text', { + x = PADDING, y = nY, w = nW - PADDING * 2, h = ROW_HEIGHT, + text = _L['Decoded Data:'], + font = 162, + alignHorizontal = 'center', + alignVertical = 'center', + }) + nY = nY + ROW_HEIGHT + -- Ԥ + local szData = '' + if rec.oData ~= nil then + szData = X.EncodeLUAData(rec.oData, ' ') + else + szData = _L['(Not yet decoded or decode failed)'] + end + O.nEditBoxY = nY -- EditBox Y λã OnResize + ui:Append('WndEditBox', { + name = 'WndEditBox_Data', + x = PADDING, y = nY, + w = nW - PADDING * 2, + h = nH - nY - PADDING, + multiline = true, + text = szData, + }) +end + +function D.OnResize() + local frame = Station.Lookup('Normal/' .. FRAME_NAME) + if not frame then + return + end + local ui = X.UI(frame) + local nW, nH = ui:ContainerSize() + ui:Fetch('WndEditBox_Data'):Size(nW - PADDING * 2, nH - O.nEditBoxY - PADDING) +end + +function D.Close() + X.UI.CloseFrame(FRAME_NAME) + O.rec = nil +end + +function D.IsOpened() + return Station.Lookup('Normal/' .. FRAME_NAME) ~= nil +end + +-------------------------------------------------------------------------------- +-- ȫֵ +-------------------------------------------------------------------------------- +do +local settings = { + name = FRAME_NAME, + exports = { + { + preset = 'UIEvent', + fields = { + 'Open', + 'Close', + 'IsOpened', + }, + root = D, + }, + }, +} +_G[FRAME_NAME] = X.CreateModule(settings) +end + +--[[#DEBUG BEGIN]]X.ReportModuleLoading(MODULE_PATH, 'FINISH')--[[#DEBUG END]] diff --git a/MY_!Base/src/MY_RSS.lua b/MY_!Base/src/MY_RSS.lua index 182c5bb0f..6adef5210 100644 --- a/MY_!Base/src/MY_RSS.lua +++ b/MY_!Base/src/MY_RSS.lua @@ -22,19 +22,20 @@ end -------------------------------------------------------------------------------- local D = {} local RSS_FILE = {'temporary/rss.jx3dat', X.PATH_TYPE.GLOBAL} -local RSS_DATA = X.LoadLUAData(RSS_FILE) +local RSS_DATA = X.LoadLUAData(RSS_FILE) or {} local RSS_ADAPTER = {} local RSS_DATA_CACHE = {} +local RSS_BASE_URL = 'https://rss.j3cx.com' local RSS_PULL_BASE_URL = 'https://pull.j3cx.com' local RSS_PUSH_BASE_URL = 'https://push.j3cx.com' local RSS_PAGE_BASE_URL = 'https://page.j3cx.com' function D.Get(szKey) - if not RSS_DATA then + if X.IsNil(RSS_DATA) then return end if not RSS_DATA_CACHE[szKey] then - local data = RSS_DATA[szKey] + local data = X.Clone(RSS_DATA[szKey]) if RSS_ADAPTER[szKey] then data = RSS_ADAPTER[szKey](data) end @@ -46,35 +47,76 @@ end function D.RegisterAdapter(szKey, fnAdapter) RSS_ADAPTER[szKey] = fnAdapter RSS_DATA_CACHE[szKey] = nil - if not RSS_DATA then + if X.IsNil(RSS_DATA) then return end FireUIEvent('MY_RSS_UPDATE', szKey) end function D.Sync() - X.Ajax({ - url = RSS_PULL_BASE_URL .. '/config/all' + local RSS_URL = { + RSS_BASE_URL .. '/rss' .. '?l=' .. X.ENVIRONMENT.GAME_LANG .. '&L=' .. X.ENVIRONMENT.GAME_EDITION .. '&_=' .. GetCurrentTime(), - success = function(html, status) - RSS_DATA = X.DecodeJSON(html) - if X.IsTable(RSS_DATA) and not X.IsNumber(RSS_DATA.EXPIRES) then - local year, month, day, hour, minute, second = X.TimeToDate(GetCurrentTime()) - if hour >= 7 then - day = day + 1 + RSS_PULL_BASE_URL .. '/config/all' + .. '?l=' .. X.ENVIRONMENT.GAME_LANG + .. '&L=' .. X.ENVIRONMENT.GAME_EDITION + .. '&_=' .. GetCurrentTime(), + } + local tData, tDataIndex = {}, {} + local nPending = #RSS_URL + do + local nYear, nMonth, nDay, nHour, nMinute, nSecond = X.TimeToDate(GetCurrentTime()) + if nHour >= 7 then + nDay = nDay + 1 + end + tData.EXPIRES = X.DateToTime(nYear, nMonth, nDay, 7, 0, 0) + end + local function fnAction(nIndex, data) + if X.IsTable(data) then + if X.IsNumber(data.EXPIRES) then + tData.EXPIRES = math.min(tData.EXPIRES or math.huge, data.EXPIRES) + end + for k, v in pairs(data) do + if k ~= 'EXPIRES' and nIndex < (tDataIndex[k] or math.huge) then + tData[k] = v + tDataIndex[k] = nIndex + RSS_DATA[k] = v + RSS_DATA_CACHE[k] = nil + FireUIEvent('MY_RSS_UPDATE', k) end - RSS_DATA.EXPIRES = X.DateToTime(year, month, day, 7, 0, 0) end - X.SaveLUAData(RSS_FILE, RSS_DATA) - FireUIEvent('MY_RSS_UPDATE') - end, - }) + end + nPending = nPending - 1 + if nPending > 0 then + return + end + for k, _ in pairs(RSS_DATA) do + if X.IsNil(tData[k]) then + RSS_DATA[k] = nil + RSS_DATA_CACHE[k] = nil + FireUIEvent('MY_RSS_UPDATE', k) + end + end + X.SaveLUAData(RSS_FILE, RSS_DATA) + end + for nIndex, szURL in ipairs(RSS_URL) do + X.Ajax({ + url = szURL, + success = function(html, status) + local data = X.DecodeJSON(html) + fnAction(nIndex, data) + end, + error = function(errMsg, status) + fnAction(nIndex, nil) + end, + }) + end end X.RegisterInit('MY_RSS', function() - if not RSS_DATA or not X.IsNumber(RSS_DATA.EXPIRES) or RSS_DATA.EXPIRES < GetCurrentTime() then + if not X.IsNumber(RSS_DATA.EXPIRES) or RSS_DATA.EXPIRES < GetCurrentTime() then D.Sync() else FireUIEvent('MY_RSS_UPDATE') diff --git a/MY_!Base/src/MY_ShareKnowledge.lua b/MY_!Base/src/MY_ShareKnowledge.lua index 4212518e6..dfd69cf77 100644 --- a/MY_!Base/src/MY_ShareKnowledge.lua +++ b/MY_!Base/src/MY_ShareKnowledge.lua @@ -50,6 +50,9 @@ MY_RSS.RegisterAdapter('share-event', function(data) end) X.RegisterEvent('MY_RSS_UPDATE', function() + if arg0 and arg0 ~= 'share-event' then + return + end for k, _ in pairs(CURRENT_EVENT) do X.RegisterEvent(k, 'MY_ShareKnowledge__Event', false) end @@ -449,6 +452,9 @@ MY_RSS.RegisterAdapter('share-msg', function(data) end) X.RegisterEvent('MY_RSS_UPDATE', function() + if arg0 and arg0 ~= 'share-msg' then + return + end for k, _ in pairs(CURRENT_MSG_CHANNEL) do X.RegisterMsgMonitor(k, 'MY_ShareKnowledge__MSG', false) end diff --git a/MY_!Base/src/PS.GlobalConfig.lua b/MY_!Base/src/PS.GlobalConfig.lua index 35c89ce57..53133bed1 100644 --- a/MY_!Base/src/PS.GlobalConfig.lua +++ b/MY_!Base/src/PS.GlobalConfig.lua @@ -205,25 +205,25 @@ function PS.OnPanelActive(wnd) nY = nY + 40 local uiMemory = ui:Append('Text', { - x = nX, y = nY, w = 150, + x = nX, y = nY, w = W - nX - nPaddingX, alpha = 150, font = 162, }) nY = nY + 25 local uiSize = ui:Append('Text', { - x = nX, y = nY, w = 150, + x = nX, y = nY, w = W - nX - nPaddingX, alpha = 150, font = 162, }) nY = nY + 25 local uiUIScale = ui:Append('Text', { - x = nX, y = nY, w = 150, + x = nX, y = nY, w = W - nX - nPaddingX, alpha = 150, font = 162, }) nY = nY + 25 local uiFontScale = ui:Append('Text', { - x = nX, y = nY, w = 150, + x = nX, y = nY, w = W - nX - nPaddingX, alpha = 150, font = 162, }) nY = nY + 25 diff --git a/MY_!Base/src/PS.Welcome.lua b/MY_!Base/src/PS.Welcome.lua index 2ab33eeb2..2a80ab141 100644 --- a/MY_!Base/src/PS.Welcome.lua +++ b/MY_!Base/src/PS.Welcome.lua @@ -255,56 +255,7 @@ function PS.OnPanelActive(wnd) x = x, h = 30, text = _L['Error message'], menu = function() - local menu = { - { - szOption = _L['Show error message'], - tip = { - render = _L['Show error message, please commit it while report bugs'], - position = X.UI.TIP_POSITION.BOTTOM_TOP, - }, - fnAction = function() - local szErrmsg = X.GetAddonErrorMessage() - local nErrmsgLen, nMaxLen = #szErrmsg, 1024 - if nErrmsgLen == 0 then - X.Alert(_L['No error message found.']) - return - end - if nErrmsgLen > 300 then - szErrmsg = szErrmsg:sub(0, nMaxLen) - .. '\n========================================' - .. '\n' .. '... ' .. (nErrmsgLen - nMaxLen) .. ' char(s) omitted.' - .. '\n========================================' - .. '\n# Full error logs:' - .. '\n> ' .. X.GetAbsolutePath(X.GetAddonErrorMessageFilePath()) - .. '\n========================================' - end - X.UI.OpenTextEditor(szErrmsg, { w = 800, h = 600, title = _L['Error message'] }) - X.UI.ClosePopupMenu() - end, - }, - { - szOption = _L['Open error message folder'], - fnAction = function() - X.OpenFolder(X.GetAbsolutePath(X.GetAddonErrorMessageFilePath())) - X.UI.ClosePopupMenu() - end, - }, - { - szOption = _L['Open logs folder'], - fnAction = function() - X.OpenFolder(X.GetAbsolutePath(X.FormatPath({'logs/', X.PATH_TYPE.ROLE}))) - X.UI.ClosePopupMenu() - end, - }, - X.CONSTANT.MENU_DIVIDER, - { - szOption = _L['Report bugs'], - fnAction = function() - X.OpenBrowser(X.PACKET_INFO.AUTHOR_FEEDBACK_URL) - X.UI.ClosePopupMenu() - end, - }, - } + local menu = {} if IsCtrlKeyDown() and IsAltKeyDown() and IsShiftKeyDown() then table.insert(menu, 1, { szOption = _L['Enable debug tools'], @@ -315,6 +266,7 @@ function PS.OnPanelActive(wnd) X.SetDebugging('Dev_UIManager', true) X.SetDebugging('Dev_UIFindStation', true) X.SetDebugging('Dev_DebugLogs', true) + X.SetDebugging('Dev_BgMsgViewer', true) X.OutputSystemAnnounceMessage(_L['Debug tools has been enabled...']) X.Panel.Reopen() X.UI.ClosePopupMenu() @@ -322,9 +274,132 @@ function PS.OnPanelActive(wnd) }) table.insert(menu, 2, X.CONSTANT.MENU_DIVIDER) end + if X.IsDebugging('Dev_BgMsgViewer') then + table.insert(menu, 1, { + szOption = _L['Open BgMsgViewer'], + rgb = { 128, 255, 128 }, + fnAction = function() + _G[X.NSFormatString('{$NS}_BgMsgViewer')].Open() + X.UI.ClosePopupMenu() + end, + }) + table.insert(menu, 2, X.CONSTANT.MENU_DIVIDER) + end + table.insert(menu, { + szOption = _L['Show error message'], + tip = { + render = _L['Show error message, please commit it while report bugs'], + position = X.UI.TIP_POSITION.BOTTOM_TOP, + }, + fnAction = function() + local szErrmsg = X.GetAddonErrorMessage() + local nErrmsgLen, nMaxLen = #szErrmsg, 1024 + if nErrmsgLen == 0 then + X.Alert(_L['No error message found.']) + return + end + if nErrmsgLen > 300 then + szErrmsg = szErrmsg:sub(0, nMaxLen) + .. '\n========================================' + .. '\n' .. '... ' .. (nErrmsgLen - nMaxLen) .. ' char(s) omitted.' + .. '\n========================================' + .. '\n# Full error logs:' + .. '\n> ' .. X.GetAbsolutePath(X.GetAddonErrorMessageFilePath()) + .. '\n========================================' + end + X.UI.OpenTextEditor(szErrmsg, { w = 800, h = 600, title = _L['Error message'] }) + X.UI.ClosePopupMenu() + end, + }) + table.insert(menu, { + szOption = _L['Open error message folder'], + fnAction = function() + X.OpenFolder(X.GetAbsolutePath(X.GetAddonErrorMessageFilePath())) + X.UI.ClosePopupMenu() + end, + }) + table.insert(menu, { + szOption = _L['Open logs folder'], + fnAction = function() + X.OpenFolder(X.GetAbsolutePath(X.FormatPath({'logs/', X.PATH_TYPE.ROLE}))) + X.UI.ClosePopupMenu() + end, + }) + table.insert(menu, X.CONSTANT.MENU_DIVIDER) + table.insert(menu, { + szOption = _L['Report bugs'], + fnAction = function() + X.OpenBrowser(X.PACKET_INFO.AUTHOR_FEEDBACK_URL) + X.UI.ClosePopupMenu() + end, + }) return menu end, }):AutoWidth():Width() + 5 + function D.fnDrawRSS() + local tRSS = MY_RSS.Get('MP') + if tRSS and X.IsString(tRSS.t) then + local function FormatSQS(s) + local SQS = X.EncodeQuerystring(X.SignPostData(X.ConvertToUTF8( + { + l = X.ENVIRONMENT.GAME_LANG, + L = X.ENVIRONMENT.GAME_EDITION, + S = X.GetRegionOriginName(), + s = X.GetServerOriginName(), + n = X.GetClientPlayerInfo().szName, + }), + X.SECRET['J3CX::SHARE_MSG'] + )) + return X.StringReplaceW(s, '{$SQS}', SQS) + end + local szText = tRSS.t + local szPath = X.IsString(tRSS.u) and tRSS.u or nil + local szMode = X.IsString(tRSS.m) and tRSS.m or nil + local function CreateMenu(menu, data) + for _, v in ipairs(data) do + if X.IsTable(v) and X.IsString(v.t) then + local m = { + szOption = v.t, + fnAction = function() + if not X.IsString(v.u) then + return + end + X.OpenBrowser(FormatSQS(v.u), v.m) + X.UI.ClosePopupMenu() + end, + } + if v.c then + m.r, m.g, m.b = X.HumanColor2RGB(v.c) + end + if X.IsTable(v.s) then + m = CreateMenu(m, v.s) + end + table.insert(menu, m) + end + end + return menu + end + local menu = CreateMenu({}, tRSS.s) + local t = { + x = x, h = 30, + name = 'WndButton_RSS', + text = szText, + } + if tRSS.c then + t.r, t.g, t.b = X.HumanColor2RGB(tRSS.c) + end + if #menu == 0 then + t.onClick = function() + X.OpenBrowser(FormatSQS(szPath), szMode) + end + else + t.menu = menu + end + x = x + ui:Append('WndButton', t):AutoWidth():Width() + 5 + PS.OnPanelResize(wnd) + D.fnDrawRSS = nil + end + end PS.OnPanelResize(wnd) end @@ -355,6 +430,7 @@ function PS.OnPanelResize(wnd) ui:Fetch('WndButton_SerendipitySearch'):Top(fScaleH + 65) ui:Fetch('WndButton_UserPreference'):Top(fScaleH + 65) ui:Fetch('WndButton_AddonErrorMessage'):Top(fScaleH + 65) + ui:Fetch('WndButton_RSS'):Top(fScaleH + 65) end function PS.OnPanelBreathe(wnd) @@ -364,6 +440,17 @@ function PS.OnPanelBreathe(wnd) ui:Fetch('Text_Memory'):Text(GetMemoryText()) end +function PS.OnPanelDeactivate() + D.fnDrawRSS = nil +end + X.Panel.Register(nil, 'Welcome', _L['Welcome'], '', PS) +X.RegisterEvent('MY_RSS_UPDATE', 'PS_Welcome_RSS_Update', function() + if arg0 and arg0 ~= 'MP' then + return + end + X.SafeCall(D.fnDrawRSS) +end) + --[[#DEBUG BEGIN]]X.ReportModuleLoading(MODULE_PATH, 'FINISH')--[[#DEBUG END]] diff --git a/MY_!Base/src/lib/Base.lua b/MY_!Base/src/lib/Base.lua index 58041dcc6..4db95afce 100644 --- a/MY_!Base/src/lib/Base.lua +++ b/MY_!Base/src/lib/Base.lua @@ -50,9 +50,14 @@ local CODE_PAGE = { GBK = 936, } +local IETF_BCP_47 = { + zhcn = 'zh-CN', + zhtw = 'zh-TW', +} + local _NAME_SPACE_ = 'MY' -local _BUILD_ = '20260114' -local _VERSION_ = '29.0.0' +local _BUILD_ = '20260127' +local _VERSION_ = '29.0.3' local _MENU_COLOR_ = {255, 165, 79} local _INTERFACE_ROOT_ = 'Interface/' local _ADDON_ROOT_ = _INTERFACE_ROOT_ .. _NAME_SPACE_ .. '/' @@ -110,6 +115,7 @@ local X = { ENVIRONMENT = setmetatable({}, { __index = setmetatable({ GAME_LANG = _GAME_LANG_, + GAME_LOCALE = IETF_BCP_47[_GAME_LANG_] or 'en-US', GAME_BRANCH = _GAME_BRANCH_, GAME_EDITION = _GAME_EDITION_, GAME_VERSION = _GAME_VERSION_, diff --git a/MY_!Base/src/lib/Event.lua b/MY_!Base/src/lib/Event.lua index 10cfdb199..4c4df7884 100644 --- a/MY_!Base/src/lib/Event.lua +++ b/MY_!Base/src/lib/Event.lua @@ -670,13 +670,17 @@ local BG_MSG_PROGRESS_EVENT = { szName = 'BgMsgProgress' } ------------------------------------ do local BG_MSG_PART = {} +local VIEWER_NAME = X.NSFormatString('{$NS}_BgMsgViewer') +local SEGMENT_VIEWER_NAME = X.NSFormatString('{$NS}_BgMsgSegmentViewer') local function OnBgMsg() local szMsgSID, nChannel, dwID, szName, aMsg, bSelf = arg0, arg1, arg2, arg3, arg4, arg2 == X.GetClientPlayerID() if not szMsgSID or szMsgSID:sub(1, #BG_MSG_ID_PREFIX) ~= BG_MSG_ID_PREFIX or szMsgSID:sub(-#BG_MSG_ID_SUFFIX) ~= BG_MSG_ID_SUFFIX then return end local szMsgID = szMsgSID:sub(#BG_MSG_ID_PREFIX + 1, -#BG_MSG_ID_SUFFIX - 1) - if not CommonEventRegister(BG_MSG_EVENT, szMsgID) then + local bRegistered = CommonEventRegister(BG_MSG_EVENT, szMsgID) + local bDebugging = X.IsDebugging('Dev_BgMsgViewer') + if not bRegistered and not bDebugging then return end -- pagination @@ -685,6 +689,10 @@ local function OnBgMsg() BG_MSG_PART[szMsgUUID] = {} end BG_MSG_PART[szMsgUUID][nSegIndex] = X.SimpleDecryptString(X.IsString(szPart) and szPart or '') + -- hook: record segment to segment viewer + if _G[SEGMENT_VIEWER_NAME] and _G[SEGMENT_VIEWER_NAME].RecordSegment then + _G[SEGMENT_VIEWER_NAME].RecordSegment(szMsgID, szMsgUUID, nChannel, dwID, szName, nSegCount, nSegIndex, szPart) + end -- fire progress event local nSegRecv = 0 for _, _ in pairs(BG_MSG_PART[szMsgUUID]) do @@ -696,7 +704,17 @@ local function OnBgMsg() local szPlain = table.concat(BG_MSG_PART[szMsgUUID]) local aData = szPlain and X.DecodeLUAData(szPlain) if aData then - CommonEventFirer(BG_MSG_EVENT, szMsgID, aData[1], nChannel, dwID, szName, bSelf) + -- hook: record complete message to viewer + if _G[VIEWER_NAME] and _G[VIEWER_NAME].RecordMessage then + _G[VIEWER_NAME].RecordMessage(szMsgID, nChannel, dwID, szName, bSelf, aMsg, aData[1], nSegCount) + end + -- hook: mark complete in segment viewer + if _G[SEGMENT_VIEWER_NAME] and _G[SEGMENT_VIEWER_NAME].MarkComplete then + _G[SEGMENT_VIEWER_NAME].MarkComplete(szMsgUUID) + end + if bRegistered then + CommonEventFirer(BG_MSG_EVENT, szMsgID, aData[1], nChannel, dwID, szName, bSelf) + end --[[#DEBUG BEGIN]] else X.OutputDebugMessage('BG_EVENT#' .. szMsgID, X.GetTraceback('Cannot decode BgMsg: ' .. szPlain), X.DEBUG_LEVEL.ERROR) @@ -729,6 +747,7 @@ end end do +local VIEWER_NAME = X.NSFormatString('{$NS}_BgMsgViewer') local MAX_CHANNEL_LEN = setmetatable({ [PLAYER_TALK_CHANNEL.RAID] = 300, [PLAYER_TALK_CHANNEL.BATTLE_FIELD] = 300, @@ -798,6 +817,11 @@ function X.SendBgMsg(nChannel, szMsgID, oData, bSilent) } me.Talk(nChannel, szTarget, aSay) end + -- hook: record outbound message to viewer + if _G[VIEWER_NAME] and _G[VIEWER_NAME].RecordMessage then + local aMsg = { { u = szMsgUUID, c = nSegCount, i = 1 }, szArg } + _G[VIEWER_NAME].RecordMessage(szMsgID, nChannel, me.dwID, me.szName, true, aMsg, oData, nSegCount, 'OUT') + end end end end diff --git a/MY_!Base/src/lib/Panel.lua b/MY_!Base/src/lib/Panel.lua index 6a8957fe7..4fb5ba29c 100644 --- a/MY_!Base/src/lib/Panel.lua +++ b/MY_!Base/src/lib/Panel.lua @@ -441,7 +441,7 @@ function D.InitPanel(frame) X.UI(frame):Size(D.OnSizeChange) D.RedrawCategory(frame) local fScale = 1 + math.max(Font.GetOffset() * 0.03, 0) - D.ResizePanel(frame, 980 * fScale, 640 * fScale) + D.ResizePanel(frame, 1000 * fScale, 650 * fScale) frame:SetPoint('CENTER', 0, 0, 'CENTER', 0, 0) frame:CorrectPos() frame:RegisterEvent('UI_SCALED') diff --git a/MY_!Base/src/lib/Storage.Path.lua b/MY_!Base/src/lib/Storage.Path.lua index a3d5b73e0..01a885a07 100644 --- a/MY_!Base/src/lib/Storage.Path.lua +++ b/MY_!Base/src/lib/Storage.Path.lua @@ -81,6 +81,10 @@ function X.FormatPath(oFilePath, tParams) if string.find(szFilePath, '{$lang}', nil, true) then szFilePath = szFilePath:gsub('{%$lang}', tParams['lang'] or X.ENVIRONMENT.GAME_LANG) end + -- if exist {$locale} then add locale identity + if string.find(szFilePath, '{$locale}', nil, true) then + szFilePath = szFilePath:gsub('{%$locale}', tParams['locale'] or X.ENVIRONMENT.GAME_LOCALE) + end -- if exist {$edition} then add edition identity if string.find(szFilePath, '{$edition}', nil, true) then szFilePath = szFilePath:gsub('{%$edition}', tParams['edition'] or X.ENVIRONMENT.GAME_EDITION) diff --git a/MY_!Base/src/lib/System.Font.lua b/MY_!Base/src/lib/System.Font.lua index 32a3e14c8..bf5f0efdc 100644 --- a/MY_!Base/src/lib/System.Font.lua +++ b/MY_!Base/src/lib/System.Font.lua @@ -15,21 +15,6 @@ local _L = X.LoadLangPack(X.PACKET_INFO.FRAMEWORK_ROOT .. 'lang/lib/') function X.GetFontList() local aList, tExist = {}, {} - -- - local FR = _G[X.NSFormatString('{$NS}_FontResource')] - if X.IsTable(FR) and X.IsFunction(FR.GetList) then - for _, p in ipairs(FR.GetList()) do - local szFile = p.szFile:gsub('/', '\\') - local szKey = szFile:lower() - if not tExist[szKey] then - table.insert(aList, { - szName = p.szName, - szFile = p.szFile, - }) - tExist[szKey] = true - end - end - end -- ϵͳ for _, p in X.ipairs_r(Font.GetFontPathList() or {}) do local szFile = p.szFile:gsub('/', '\\') @@ -42,30 +27,15 @@ function X.GetFontList() tExist[szKey] = true end end - -- ļ + -- û local CUSTOM_FONT_DIR = X.FormatPath({'font/', X.PATH_TYPE.GLOBAL}) - for _, szFile in ipairs(CPath.GetFileList(CUSTOM_FONT_DIR)) do - local info = szFile:lower():find('%.jx3dat$') and X.LoadLUAData(CUSTOM_FONT_DIR .. szFile, { passphrase = false }) - if info and info.szName and info.szFile then - local szFontFile = info.szFile:gsub('^%./', CUSTOM_FONT_DIR):gsub('/', '\\') - local szKey = szFontFile:lower() - if not tExist[szKey] then - table.insert(aList, { - szName = info.szName, - szFile = szFontFile, - }) - tExist[szKey] = true - end - end - end - -- ļ for _, szFile in ipairs(CPath.GetFileList(CUSTOM_FONT_DIR)) do if szFile:lower():find('%.[to]tf$') then local szFontFile = (CUSTOM_FONT_DIR .. szFile):gsub('/', '\\') local szKey = szFontFile:lower() if not tExist[szKey] then table.insert(aList, { - szName = szFile, + szName = szFile:gsub('%..+$', ''), szFile = szFontFile, }) tExist[szKey] = true diff --git a/MY_!Base/src/lib/UI.lua b/MY_!Base/src/lib/UI.lua index c2d7eb2cd..d00ea2711 100644 --- a/MY_!Base/src/lib/UI.lua +++ b/MY_!Base/src/lib/UI.lua @@ -2880,42 +2880,58 @@ local function SetComponentEnable(raw, bEnable) if bEnabled == bEnable then return end - -- make gray - local txt = GetComponentElement(raw, 'TEXT') - if txt then - local r, g, b = txt:GetFontColor() - local ratio = bEnable and 2.2 or (1 / 2.2) - if math.max(r, g, b) * ratio > 255 then - ratio = 255 / math.max(r, g, b) - end - txt:SetFontColor(math.ceil(r * ratio), math.ceil(g * ratio), math.ceil(b * ratio)) - end - -- make gray - local sha = GetComponentElement(raw, 'SHADOW') - if sha then - local r, g, b = sha:GetColorRGB() - local ratio = bEnable and 2.2 or (1 / 2.2) - if math.max(r, g, b) * ratio > 255 then - ratio = 255 / math.max(r, g, b) - end - sha:SetColorRGB(math.ceil(r * ratio), math.ceil(g * ratio), math.ceil(b * ratio)) - end - -- set sub elements enable - local combo = GetComponentElement(raw, 'COMBO_BOX') - if combo then - combo:Enable(bEnable) - end - local slider = GetComponentElement(raw, 'SLIDER') - if slider then - slider:Enable(bEnable) - end - local edit = GetComponentElement(raw, 'EDIT') - if edit then - edit:Enable(bEnable) - end - -- set enable - if raw.Enable then - raw:Enable(bEnable) + -- WndTable: set gray filter on header and content + if GetComponentType(raw) == 'WndTable' then + local hTotal = raw:Lookup('', '') + if hTotal then + hTotal:SetAlpha(bEnable and 255 or 128) + end + local scrollX = raw:Lookup('Scroll_X') + if scrollX then + scrollX:Enable(bEnable) + end + local scrollY = raw:Lookup('Scroll_Y') + if scrollY then + scrollY:Enable(bEnable) + end + else + -- make gray + local txt = GetComponentElement(raw, 'TEXT') + if txt then + local r, g, b = txt:GetFontColor() + local ratio = bEnable and 2.2 or (1 / 2.2) + if math.max(r, g, b) * ratio > 255 then + ratio = 255 / math.max(r, g, b) + end + txt:SetFontColor(math.ceil(r * ratio), math.ceil(g * ratio), math.ceil(b * ratio)) + end + -- make gray + local sha = GetComponentElement(raw, 'SHADOW') + if sha then + local r, g, b = sha:GetColorRGB() + local ratio = bEnable and 2.2 or (1 / 2.2) + if math.max(r, g, b) * ratio > 255 then + ratio = 255 / math.max(r, g, b) + end + sha:SetColorRGB(math.ceil(r * ratio), math.ceil(g * ratio), math.ceil(b * ratio)) + end + -- set sub elements enable + local combo = GetComponentElement(raw, 'COMBO_BOX') + if combo then + combo:Enable(bEnable) + end + local slider = GetComponentElement(raw, 'SLIDER') + if slider then + slider:Enable(bEnable) + end + local edit = GetComponentElement(raw, 'EDIT') + if edit then + edit:Enable(bEnable) + end + -- set enable + if raw.Enable then + raw:Enable(bEnable) + end end SetComponentProp(raw, 'bEnable', bEnable) end diff --git a/MY_BagEx/src/MY_BagEx.lua b/MY_BagEx/src/MY_BagEx.lua index bc6c188d5..4f325f276 100644 --- a/MY_BagEx/src/MY_BagEx.lua +++ b/MY_BagEx/src/MY_BagEx.lua @@ -14,7 +14,7 @@ local PLUGIN_ROOT = X.PACKET_INFO.ROOT .. PLUGIN_NAME local MODULE_NAME = 'MY_BagEx' local _L = X.LoadLangPack(PLUGIN_ROOT .. '/lang/') -------------------------------------------------------------------------------- -if not X.AssertVersion(MODULE_NAME, _L[MODULE_NAME], '^29.0.0') then +if not X.AssertVersion(MODULE_NAME, _L[MODULE_NAME], '^29.0.1') then return end --[[#DEBUG BEGIN]]X.ReportModuleLoading(MODULE_PATH, 'START')--[[#DEBUG END]] diff --git a/MY_BagEx/src/MY_BagEx_Bag.lua b/MY_BagEx/src/MY_BagEx_Bag.lua index f5029164e..6ed34bf0a 100644 --- a/MY_BagEx/src/MY_BagEx_Bag.lua +++ b/MY_BagEx/src/MY_BagEx_Bag.lua @@ -14,7 +14,7 @@ local PLUGIN_ROOT = X.PACKET_INFO.ROOT .. PLUGIN_NAME local MODULE_NAME = 'MY_BagEx_Bag' local _L = X.LoadLangPack(PLUGIN_ROOT .. '/lang/') -------------------------------------------------------------------------------- -if not X.AssertVersion(MODULE_NAME, _L[MODULE_NAME], '^29.0.0') then +if not X.AssertVersion(MODULE_NAME, _L[MODULE_NAME], '^29.0.1') then return end --[[#DEBUG BEGIN]]X.ReportModuleLoading(MODULE_PATH, 'START')--[[#DEBUG END]] diff --git a/MY_BagEx/src/MY_BagEx_BagLock.lua b/MY_BagEx/src/MY_BagEx_BagLock.lua index cfeaa63f4..b29af9eb6 100644 --- a/MY_BagEx/src/MY_BagEx_BagLock.lua +++ b/MY_BagEx/src/MY_BagEx_BagLock.lua @@ -14,7 +14,7 @@ local PLUGIN_ROOT = X.PACKET_INFO.ROOT .. PLUGIN_NAME local MODULE_NAME = 'MY_BagEx_BagLock' local _L = X.LoadLangPack(PLUGIN_ROOT .. '/lang/') -------------------------------------------------------------------------------- -if not X.AssertVersion(MODULE_NAME, _L[MODULE_NAME], '^29.0.0') then +if not X.AssertVersion(MODULE_NAME, _L[MODULE_NAME], '^29.0.1') then return end --[[#DEBUG BEGIN]]X.ReportModuleLoading(MODULE_PATH, 'START')--[[#DEBUG END]] diff --git a/MY_BagEx/src/MY_BagEx_BagNewItem.lua b/MY_BagEx/src/MY_BagEx_BagNewItem.lua index 4531f2b88..cdb97908c 100644 --- a/MY_BagEx/src/MY_BagEx_BagNewItem.lua +++ b/MY_BagEx/src/MY_BagEx_BagNewItem.lua @@ -14,7 +14,7 @@ local PLUGIN_ROOT = X.PACKET_INFO.ROOT .. PLUGIN_NAME local MODULE_NAME = 'MY_BagEx_BagNewItem' local _L = X.LoadLangPack(PLUGIN_ROOT .. '/lang/') -------------------------------------------------------------------------------- -if not X.AssertVersion(MODULE_NAME, _L[MODULE_NAME], '^29.0.0') then +if not X.AssertVersion(MODULE_NAME, _L[MODULE_NAME], '^29.0.1') then return end --[[#DEBUG BEGIN]]X.ReportModuleLoading(MODULE_PATH, 'START')--[[#DEBUG END]] @@ -129,7 +129,7 @@ function D.OnBagItemUpdate(dwBox, dwX) end end end - if dwExcBox and dwExcX and dwExcBox ~= dwBox or dwExcX ~= dwX then + if dwExcBox and dwExcX and (dwExcBox ~= dwBox or dwExcX ~= dwX) then EXCHANGE_BOX_TIME[dwExcBox .. ',' .. dwExcX] = GetCurrentTime() + 1 -- ֤һڲͬʱƷͬһӵʧ NEW_ITEM_FLAG_TIME[kItem.dwID] = GetCurrentTime() + 5 -- ʼΪƷΪƷ --[[#DEBUG BEGIN]] diff --git a/MY_BagEx/src/MY_BagEx_BagSort.lua b/MY_BagEx/src/MY_BagEx_BagSort.lua index e7e6a97f9..e298ec6b0 100644 --- a/MY_BagEx/src/MY_BagEx_BagSort.lua +++ b/MY_BagEx/src/MY_BagEx_BagSort.lua @@ -14,7 +14,7 @@ local PLUGIN_ROOT = X.PACKET_INFO.ROOT .. PLUGIN_NAME local MODULE_NAME = 'MY_BagEx_BagSort' local _L = X.LoadLangPack(PLUGIN_ROOT .. '/lang/') -------------------------------------------------------------------------------- -if not X.AssertVersion(MODULE_NAME, _L[MODULE_NAME], '^29.0.0') then +if not X.AssertVersion(MODULE_NAME, _L[MODULE_NAME], '^29.0.1') then return end --[[#DEBUG BEGIN]]X.ReportModuleLoading(MODULE_PATH, 'START')--[[#DEBUG END]] diff --git a/MY_BagEx/src/MY_BagEx_BagSplit.lua b/MY_BagEx/src/MY_BagEx_BagSplit.lua index 1878730f6..2b7a8e07d 100644 --- a/MY_BagEx/src/MY_BagEx_BagSplit.lua +++ b/MY_BagEx/src/MY_BagEx_BagSplit.lua @@ -14,7 +14,7 @@ local PLUGIN_ROOT = X.PACKET_INFO.ROOT .. PLUGIN_NAME local MODULE_NAME = 'MY_BagEx_BagSplit' local _L = X.LoadLangPack(PLUGIN_ROOT .. '/lang/') -------------------------------------------------------------------------------- -if not X.AssertVersion(MODULE_NAME, _L[MODULE_NAME], '^29.0.0') then +if not X.AssertVersion(MODULE_NAME, _L[MODULE_NAME], '^29.0.1') then return end --[[#DEBUG BEGIN]]X.ReportModuleLoading(MODULE_PATH, 'START')--[[#DEBUG END]] diff --git a/MY_BagEx/src/MY_BagEx_BagStack.lua b/MY_BagEx/src/MY_BagEx_BagStack.lua index 91ed06de4..56bad3083 100644 --- a/MY_BagEx/src/MY_BagEx_BagStack.lua +++ b/MY_BagEx/src/MY_BagEx_BagStack.lua @@ -14,7 +14,7 @@ local PLUGIN_ROOT = X.PACKET_INFO.ROOT .. PLUGIN_NAME local MODULE_NAME = 'MY_BagEx_BagStack' local _L = X.LoadLangPack(PLUGIN_ROOT .. '/lang/') -------------------------------------------------------------------------------- -if not X.AssertVersion(MODULE_NAME, _L[MODULE_NAME], '^29.0.0') then +if not X.AssertVersion(MODULE_NAME, _L[MODULE_NAME], '^29.0.1') then return end --[[#DEBUG BEGIN]]X.ReportModuleLoading(MODULE_PATH, 'START')--[[#DEBUG END]] diff --git a/MY_BagEx/src/MY_BagEx_Bank.lua b/MY_BagEx/src/MY_BagEx_Bank.lua index 92b2ba590..b61faf7e1 100644 --- a/MY_BagEx/src/MY_BagEx_Bank.lua +++ b/MY_BagEx/src/MY_BagEx_Bank.lua @@ -14,7 +14,7 @@ local PLUGIN_ROOT = X.PACKET_INFO.ROOT .. PLUGIN_NAME local MODULE_NAME = 'MY_BagEx_Bank' local _L = X.LoadLangPack(PLUGIN_ROOT .. '/lang/') -------------------------------------------------------------------------------- -if not X.AssertVersion(MODULE_NAME, _L[MODULE_NAME], '^29.0.0') then +if not X.AssertVersion(MODULE_NAME, _L[MODULE_NAME], '^29.0.1') then return end --[[#DEBUG BEGIN]]X.ReportModuleLoading(MODULE_PATH, 'START')--[[#DEBUG END]] diff --git a/MY_BagEx/src/MY_BagEx_BankLock.lua b/MY_BagEx/src/MY_BagEx_BankLock.lua index a36afa7ea..e9aa046b2 100644 --- a/MY_BagEx/src/MY_BagEx_BankLock.lua +++ b/MY_BagEx/src/MY_BagEx_BankLock.lua @@ -14,7 +14,7 @@ local PLUGIN_ROOT = X.PACKET_INFO.ROOT .. PLUGIN_NAME local MODULE_NAME = 'MY_BagEx_BankLock' local _L = X.LoadLangPack(PLUGIN_ROOT .. '/lang/') -------------------------------------------------------------------------------- -if not X.AssertVersion(MODULE_NAME, _L[MODULE_NAME], '^29.0.0') then +if not X.AssertVersion(MODULE_NAME, _L[MODULE_NAME], '^29.0.1') then return end --[[#DEBUG BEGIN]]X.ReportModuleLoading(MODULE_PATH, 'START')--[[#DEBUG END]] diff --git a/MY_BagEx/src/MY_BagEx_BankSort.lua b/MY_BagEx/src/MY_BagEx_BankSort.lua index 31bd37945..8508599c0 100644 --- a/MY_BagEx/src/MY_BagEx_BankSort.lua +++ b/MY_BagEx/src/MY_BagEx_BankSort.lua @@ -14,7 +14,7 @@ local PLUGIN_ROOT = X.PACKET_INFO.ROOT .. PLUGIN_NAME local MODULE_NAME = 'MY_BagEx_BankSort' local _L = X.LoadLangPack(PLUGIN_ROOT .. '/lang/') -------------------------------------------------------------------------------- -if not X.AssertVersion(MODULE_NAME, _L[MODULE_NAME], '^29.0.0') then +if not X.AssertVersion(MODULE_NAME, _L[MODULE_NAME], '^29.0.1') then return end --[[#DEBUG BEGIN]]X.ReportModuleLoading(MODULE_PATH, 'START')--[[#DEBUG END]] diff --git a/MY_BagEx/src/MY_BagEx_BankStack.lua b/MY_BagEx/src/MY_BagEx_BankStack.lua index ac5183581..8f4bc6104 100644 --- a/MY_BagEx/src/MY_BagEx_BankStack.lua +++ b/MY_BagEx/src/MY_BagEx_BankStack.lua @@ -14,7 +14,7 @@ local PLUGIN_ROOT = X.PACKET_INFO.ROOT .. PLUGIN_NAME local MODULE_NAME = 'MY_BagEx_BankStack' local _L = X.LoadLangPack(PLUGIN_ROOT .. '/lang/') -------------------------------------------------------------------------------- -if not X.AssertVersion(MODULE_NAME, _L[MODULE_NAME], '^29.0.0') then +if not X.AssertVersion(MODULE_NAME, _L[MODULE_NAME], '^29.0.1') then return end --[[#DEBUG BEGIN]]X.ReportModuleLoading(MODULE_PATH, 'START')--[[#DEBUG END]] diff --git a/MY_BagEx/src/MY_BagEx_GenericFilters.lua b/MY_BagEx/src/MY_BagEx_GenericFilters.lua index 287ceadb8..c01cf21e6 100644 --- a/MY_BagEx/src/MY_BagEx_GenericFilters.lua +++ b/MY_BagEx/src/MY_BagEx_GenericFilters.lua @@ -14,7 +14,7 @@ local PLUGIN_ROOT = X.PACKET_INFO.ROOT .. PLUGIN_NAME local MODULE_NAME = 'MY_BagEx_GenericFilters' local _L = X.LoadLangPack(PLUGIN_ROOT .. '/lang/') -------------------------------------------------------------------------------- -if not X.AssertVersion(MODULE_NAME, _L[MODULE_NAME], '^29.0.0') then +if not X.AssertVersion(MODULE_NAME, _L[MODULE_NAME], '^29.0.1') then return end --[[#DEBUG BEGIN]]X.ReportModuleLoading(MODULE_PATH, 'START')--[[#DEBUG END]] diff --git a/MY_BagEx/src/MY_BagEx_GuildBank.lua b/MY_BagEx/src/MY_BagEx_GuildBank.lua index e62c790e2..5ffd7d9b4 100644 --- a/MY_BagEx/src/MY_BagEx_GuildBank.lua +++ b/MY_BagEx/src/MY_BagEx_GuildBank.lua @@ -14,7 +14,7 @@ local PLUGIN_ROOT = X.PACKET_INFO.ROOT .. PLUGIN_NAME local MODULE_NAME = 'MY_BagEx_GuildBank' local _L = X.LoadLangPack(PLUGIN_ROOT .. '/lang/') -------------------------------------------------------------------------------- -if not X.AssertVersion(MODULE_NAME, _L[MODULE_NAME], '^29.0.0') then +if not X.AssertVersion(MODULE_NAME, _L[MODULE_NAME], '^29.0.1') then return end --[[#DEBUG BEGIN]]X.ReportModuleLoading(MODULE_PATH, 'START')--[[#DEBUG END]] diff --git a/MY_BagEx/src/MY_BagEx_GuildBankSort.lua b/MY_BagEx/src/MY_BagEx_GuildBankSort.lua index 192fdc70e..1161d0f63 100644 --- a/MY_BagEx/src/MY_BagEx_GuildBankSort.lua +++ b/MY_BagEx/src/MY_BagEx_GuildBankSort.lua @@ -14,7 +14,7 @@ local PLUGIN_ROOT = X.PACKET_INFO.ROOT .. PLUGIN_NAME local MODULE_NAME = 'MY_BagEx_GuildBankSort' local _L = X.LoadLangPack(PLUGIN_ROOT .. '/lang/') -------------------------------------------------------------------------------- -if not X.AssertVersion(MODULE_NAME, _L[MODULE_NAME], '^29.0.0') then +if not X.AssertVersion(MODULE_NAME, _L[MODULE_NAME], '^29.0.1') then return end --[[#DEBUG BEGIN]]X.ReportModuleLoading(MODULE_PATH, 'START')--[[#DEBUG END]] diff --git a/MY_BagEx/src/MY_BagEx_GuildBankStack.lua b/MY_BagEx/src/MY_BagEx_GuildBankStack.lua index 67c0de73c..081e2f421 100644 --- a/MY_BagEx/src/MY_BagEx_GuildBankStack.lua +++ b/MY_BagEx/src/MY_BagEx_GuildBankStack.lua @@ -14,7 +14,7 @@ local PLUGIN_ROOT = X.PACKET_INFO.ROOT .. PLUGIN_NAME local MODULE_NAME = 'MY_BagEx_GuildBankStack' local _L = X.LoadLangPack(PLUGIN_ROOT .. '/lang/') -------------------------------------------------------------------------------- -if not X.AssertVersion(MODULE_NAME, _L[MODULE_NAME], '^29.0.0') then +if not X.AssertVersion(MODULE_NAME, _L[MODULE_NAME], '^29.0.1') then return end --[[#DEBUG BEGIN]]X.ReportModuleLoading(MODULE_PATH, 'START')--[[#DEBUG END]] diff --git a/MY_BagEx/src/PS.lua b/MY_BagEx/src/PS.lua index 5b781a003..08428b43d 100644 --- a/MY_BagEx/src/PS.lua +++ b/MY_BagEx/src/PS.lua @@ -14,7 +14,7 @@ local PLUGIN_ROOT = X.PACKET_INFO.ROOT .. PLUGIN_NAME local MODULE_NAME = 'MY_BagEx' local _L = X.LoadLangPack(PLUGIN_ROOT .. '/lang/') -------------------------------------------------------------------------- -if not X.AssertVersion(MODULE_NAME, _L[MODULE_NAME], '^29.0.0') then +if not X.AssertVersion(MODULE_NAME, _L[MODULE_NAME], '^29.0.1') then return end --[[#DEBUG BEGIN]]X.ReportModuleLoading(MODULE_PATH, 'START')--[[#DEBUG END]] diff --git a/MY_Chat/src/MY_AutoHideChat.lua b/MY_Chat/src/MY_AutoHideChat.lua index 35c3de215..dbc2214ac 100644 --- a/MY_Chat/src/MY_AutoHideChat.lua +++ b/MY_Chat/src/MY_AutoHideChat.lua @@ -14,7 +14,7 @@ local PLUGIN_ROOT = X.PACKET_INFO.ROOT .. PLUGIN_NAME local MODULE_NAME = 'MY_Chat' local _L = X.LoadLangPack(PLUGIN_ROOT .. '/lang/') -------------------------------------------------------------------------------- -if not X.AssertVersion(MODULE_NAME, _L[MODULE_NAME], '^29.0.0') then +if not X.AssertVersion(MODULE_NAME, _L[MODULE_NAME], '^29.0.3') then return end --[[#DEBUG BEGIN]]X.ReportModuleLoading(MODULE_PATH, 'START')--[[#DEBUG END]] diff --git a/MY_Chat/src/MY_Chat.lua b/MY_Chat/src/MY_Chat.lua index 22d71cd21..e7d47d5bf 100644 --- a/MY_Chat/src/MY_Chat.lua +++ b/MY_Chat/src/MY_Chat.lua @@ -14,7 +14,7 @@ local PLUGIN_ROOT = X.PACKET_INFO.ROOT .. PLUGIN_NAME local MODULE_NAME = 'MY_ChatCopy' local _L = X.LoadLangPack(PLUGIN_ROOT .. '/lang/') -------------------------------------------------------------------------------- -if not X.AssertVersion(MODULE_NAME, _L[MODULE_NAME], '^29.0.0') then +if not X.AssertVersion(MODULE_NAME, _L[MODULE_NAME], '^29.0.3') then return end --[[#DEBUG BEGIN]]X.ReportModuleLoading(MODULE_PATH, 'START')--[[#DEBUG END]] diff --git a/MY_Chat/src/MY_ChatBlock.lua b/MY_Chat/src/MY_ChatBlock.lua index ff27c6237..94acfc6fd 100644 --- a/MY_Chat/src/MY_ChatBlock.lua +++ b/MY_Chat/src/MY_ChatBlock.lua @@ -14,7 +14,7 @@ local PLUGIN_ROOT = X.PACKET_INFO.ROOT .. PLUGIN_NAME local MODULE_NAME = 'MY_ChatBlock' local _L = X.LoadLangPack(PLUGIN_ROOT .. '/lang/') -------------------------------------------------------------------------- -if not X.AssertVersion(MODULE_NAME, _L[MODULE_NAME], '^29.0.0') then +if not X.AssertVersion(MODULE_NAME, _L[MODULE_NAME], '^29.0.3') then return end --[[#DEBUG BEGIN]]X.ReportModuleLoading(MODULE_PATH, 'START')--[[#DEBUG END]] @@ -126,11 +126,9 @@ function D.OnTalkFilter(nChannel, t, dwTalkerID, szName, bEcho, bOnlyShowBallon, if #O.tBlockHistory[uuid].aRecent >= 10 then table.remove(O.tBlockHistory[uuid].aRecent, 1) end - local szType, r, g, b, nFont = X.CONSTANT.PLAYER_TALK_CHANNEL_TO_FONT[nChannel] - if szType then - nFont = GetMsgFont(szType) - r, g, b = GetMsgFontColor(nFont) - end + local szMsgType = TALK_CHANNEL_MSG_TYPE[nChannel] + local nFont = szMsgType and GetMsgFont(szMsgType) + local r, g, b = GetMsgFontColor(nFont, true) table.insert( O.tBlockHistory[uuid].aRecent, X.GetChatTimeXML(GetCurrentTime(), { @@ -516,8 +514,11 @@ function PS.OnPanelActive(wnd) end for _, v in ipairs(history.aRecent) do table.insert(aXml, v) + if not X.GetPureText(v):find('\n', 1, true) then + table.insert(aXml, X.CONSTANT.XML_LINE_BREAKER) + end end - X.OutputTip(X.UI(this):HoverItemRect(), table.concat(aXml, '\n'), true, ALW.BOTTOM_TOP) + X.OutputTip(X.UI(this):HoverItemRect(), table.concat(aXml, '\n'):gsub('\t', ' '), true, ALW.BOTTOM_TOP) end, function(id, text, data) HideTip() diff --git a/MY_Chat/src/MY_ChatCopy.lua b/MY_Chat/src/MY_ChatCopy.lua index febed0240..8b3691dc6 100644 --- a/MY_Chat/src/MY_ChatCopy.lua +++ b/MY_Chat/src/MY_ChatCopy.lua @@ -14,7 +14,7 @@ local PLUGIN_ROOT = X.PACKET_INFO.ROOT .. PLUGIN_NAME local MODULE_NAME = 'MY_ChatCopy' local _L = X.LoadLangPack(PLUGIN_ROOT .. '/lang/') -------------------------------------------------------------------------- -if not X.AssertVersion(MODULE_NAME, _L[MODULE_NAME], '^29.0.0') then +if not X.AssertVersion(MODULE_NAME, _L[MODULE_NAME], '^29.0.3') then return end --[[#DEBUG BEGIN]]X.ReportModuleLoading(MODULE_PATH, 'START')--[[#DEBUG END]] diff --git a/MY_Chat/src/MY_ChatEmotion.lua b/MY_Chat/src/MY_ChatEmotion.lua index 6f335a4e5..efa8467d8 100644 --- a/MY_Chat/src/MY_ChatEmotion.lua +++ b/MY_Chat/src/MY_ChatEmotion.lua @@ -14,7 +14,7 @@ local PLUGIN_ROOT = X.PACKET_INFO.ROOT .. PLUGIN_NAME local MODULE_NAME = 'MY_ChatEmotion' local _L = X.LoadLangPack(PLUGIN_ROOT .. '/lang/') -------------------------------------------------------------------------- -if not X.AssertVersion(MODULE_NAME, _L[MODULE_NAME], '^29.0.0') then +if not X.AssertVersion(MODULE_NAME, _L[MODULE_NAME], '^29.0.3') then return end --[[#DEBUG BEGIN]]X.ReportModuleLoading(MODULE_PATH, 'START')--[[#DEBUG END]] diff --git a/MY_Chat/src/MY_ChatFilter.lua b/MY_Chat/src/MY_ChatFilter.lua index 0fc43c341..a889592fc 100644 --- a/MY_Chat/src/MY_ChatFilter.lua +++ b/MY_Chat/src/MY_ChatFilter.lua @@ -14,7 +14,7 @@ local PLUGIN_ROOT = X.PACKET_INFO.ROOT .. PLUGIN_NAME local MODULE_NAME = 'MY_ChatFilter' local _L = X.LoadLangPack(PLUGIN_ROOT .. '/lang/') -------------------------------------------------------------------------- -if not X.AssertVersion(MODULE_NAME, _L[MODULE_NAME], '^29.0.0') then +if not X.AssertVersion(MODULE_NAME, _L[MODULE_NAME], '^29.0.3') then return end --[[#DEBUG BEGIN]]X.ReportModuleLoading(MODULE_PATH, 'START')--[[#DEBUG END]] diff --git a/MY_Chat/src/MY_ChatMonitor.lua b/MY_Chat/src/MY_ChatMonitor.lua index 4a2e9ecdf..820a50e4f 100644 --- a/MY_Chat/src/MY_ChatMonitor.lua +++ b/MY_Chat/src/MY_ChatMonitor.lua @@ -14,7 +14,7 @@ local PLUGIN_ROOT = X.PACKET_INFO.ROOT .. PLUGIN_NAME local MODULE_NAME = 'MY_ChatMonitor' local _L = X.LoadLangPack(PLUGIN_ROOT .. '/lang/') -------------------------------------------------------------------------- -if not X.AssertVersion(MODULE_NAME, _L[MODULE_NAME], '^29.0.0') then +if not X.AssertVersion(MODULE_NAME, _L[MODULE_NAME], '^29.0.3') then return end --[[#DEBUG BEGIN]]X.ReportModuleLoading(MODULE_PATH, 'START')--[[#DEBUG END]] diff --git a/MY_Chat/src/MY_ChatMosaics.lua b/MY_Chat/src/MY_ChatMosaics.lua index 327d34e97..76b60d34f 100644 --- a/MY_Chat/src/MY_ChatMosaics.lua +++ b/MY_Chat/src/MY_ChatMosaics.lua @@ -14,7 +14,7 @@ local PLUGIN_ROOT = X.PACKET_INFO.ROOT .. PLUGIN_NAME local MODULE_NAME = 'MY_ChatMosaics' local _L = X.LoadLangPack(PLUGIN_ROOT .. '/lang/') -------------------------------------------------------------------------- -if not X.AssertVersion(MODULE_NAME, _L[MODULE_NAME], '^29.0.0') then +if not X.AssertVersion(MODULE_NAME, _L[MODULE_NAME], '^29.0.3') then return end --[[#DEBUG BEGIN]]X.ReportModuleLoading(MODULE_PATH, 'START')--[[#DEBUG END]] diff --git a/MY_Chat/src/MY_ChatSwitch.lua b/MY_Chat/src/MY_ChatSwitch.lua index cabe2cf3b..959351619 100644 --- a/MY_Chat/src/MY_ChatSwitch.lua +++ b/MY_Chat/src/MY_ChatSwitch.lua @@ -14,7 +14,7 @@ local PLUGIN_ROOT = X.PACKET_INFO.ROOT .. PLUGIN_NAME local MODULE_NAME = 'MY_ChatSwitch' local _L = X.LoadLangPack(PLUGIN_ROOT .. '/lang/') -------------------------------------------------------------------------- -if not X.AssertVersion(MODULE_NAME, _L[MODULE_NAME], '^29.0.0') then +if not X.AssertVersion(MODULE_NAME, _L[MODULE_NAME], '^29.0.3') then return end --[[#DEBUG BEGIN]]X.ReportModuleLoading(MODULE_PATH, 'START')--[[#DEBUG END]] diff --git a/MY_Chat/src/MY_TalkEx.lua b/MY_Chat/src/MY_TalkEx.lua index 63f5dcb5c..70fcae1be 100644 --- a/MY_Chat/src/MY_TalkEx.lua +++ b/MY_Chat/src/MY_TalkEx.lua @@ -14,7 +14,7 @@ local PLUGIN_ROOT = X.PACKET_INFO.ROOT .. PLUGIN_NAME local MODULE_NAME = 'MY_TalkEx' local _L = X.LoadLangPack(PLUGIN_ROOT .. '/lang/') -------------------------------------------------------------------------- -if not X.AssertVersion(MODULE_NAME, _L[MODULE_NAME], '^29.0.0') then +if not X.AssertVersion(MODULE_NAME, _L[MODULE_NAME], '^29.0.3') then return end --[[#DEBUG BEGIN]]X.ReportModuleLoading(MODULE_PATH, 'START')--[[#DEBUG END]] diff --git a/MY_Chat/src/MY_TeamBalloon.lua b/MY_Chat/src/MY_TeamBalloon.lua index baa8b7239..42a1abf20 100644 --- a/MY_Chat/src/MY_TeamBalloon.lua +++ b/MY_Chat/src/MY_TeamBalloon.lua @@ -14,7 +14,7 @@ local PLUGIN_ROOT = X.PACKET_INFO.ROOT .. PLUGIN_NAME local MODULE_NAME = 'MY_TeamBalloon' local _L = X.LoadLangPack(PLUGIN_ROOT .. '/lang/') -------------------------------------------------------------------------- -if not X.AssertVersion(MODULE_NAME, _L[MODULE_NAME], '^29.0.0') then +if not X.AssertVersion(MODULE_NAME, _L[MODULE_NAME], '^29.0.3') then return end --[[#DEBUG BEGIN]]X.ReportModuleLoading(MODULE_PATH, 'START')--[[#DEBUG END]] diff --git a/MY_Chat/src/MY_WhisperMention.lua b/MY_Chat/src/MY_WhisperMention.lua index d72d3d504..79b7f35ff 100644 --- a/MY_Chat/src/MY_WhisperMention.lua +++ b/MY_Chat/src/MY_WhisperMention.lua @@ -14,7 +14,7 @@ local PLUGIN_ROOT = X.PACKET_INFO.ROOT .. PLUGIN_NAME local MODULE_NAME = 'MY_Chat' local _L = X.LoadLangPack(PLUGIN_ROOT .. '/lang/') -------------------------------------------------------------------------- -if not X.AssertVersion(MODULE_NAME, _L[MODULE_NAME], '^29.0.0') then +if not X.AssertVersion(MODULE_NAME, _L[MODULE_NAME], '^29.0.3') then return end --[[#DEBUG BEGIN]]X.ReportModuleLoading(MODULE_PATH, 'START')--[[#DEBUG END]] diff --git a/MY_Chat/src/PS.lua b/MY_Chat/src/PS.lua index 58aee1905..04ec42cf1 100644 --- a/MY_Chat/src/PS.lua +++ b/MY_Chat/src/PS.lua @@ -14,7 +14,7 @@ local PLUGIN_ROOT = X.PACKET_INFO.ROOT .. PLUGIN_NAME local MODULE_NAME = 'MY_Chat' local _L = X.LoadLangPack(PLUGIN_ROOT .. '/lang/') -------------------------------------------------------------------------- -if not X.AssertVersion(MODULE_NAME, _L[MODULE_NAME], '^29.0.0') then +if not X.AssertVersion(MODULE_NAME, _L[MODULE_NAME], '^29.0.3') then return end --[[#DEBUG BEGIN]]X.ReportModuleLoading(MODULE_PATH, 'START')--[[#DEBUG END]] diff --git a/MY_Font/lang/zhcn.jx3dat b/MY_Font/lang/zhcn.jx3dat index 5c803b41b..7e2180fd3 100644 --- a/MY_Font/lang/zhcn.jx3dat +++ b/MY_Font/lang/zhcn.jx3dat @@ -11,4 +11,13 @@ return { ['Please select your font file.'] = 'ѡļ', ['Please click apply or sure button to save change!'] = 'ȷӦðťã´ε¼ʱ彫ָʼá', + + ['1. This plugin only modifies in-game font settings and does not include font files. You need to prepare font files yourself.'] = '1. ޸Ϸãļû׼ļ', + ['2. Font files can be downloaded from various font websites. Please pay attention to copyright issues.'] = '2. ļɴӸվأעȨ⡣', + ['3. It is recommended to use common TTF or OTF format font files. Avoid using FON format to prevent compatibility issues.'] = '3. Ƽʹó TTF OTF ʽļʹ FON ʽԷ⡣', + ['4. Place the prepared font files in the font directory to use them, click button below to open font folder.'] = '4. ׼õļĿ¼¼ʹã·ťļС', + + ['Open font folder'] = 'ļ', + ['Refresh font list'] = 'ˢб', + ['Get more fonts'] = 'ȡ', } diff --git a/MY_Font/lang/zhtw.jx3dat b/MY_Font/lang/zhtw.jx3dat index 6d8ea64ee..bf5b7bf2e 100644 --- a/MY_Font/lang/zhtw.jx3dat +++ b/MY_Font/lang/zhtw.jx3dat @@ -11,4 +11,13 @@ return { ['Please select your font file.'] = '請選擇字體文件', ['Please click apply or sure button to save change!'] = '請點擊確定或應用按鈕保存設置,否則下次登錄時聊天字體將恢復初始設置。', + + ['1. This plugin only modifies in-game font settings and does not include font files. You need to prepare font files yourself.'] = '1. 本插件僅修改游戲內字體設置,不包含字體文件本身,用戶需自行準備字體文件。', + ['2. Font files can be downloaded from various font websites. Please pay attention to copyright issues.'] = '2. 字體文件可從各大字體網站下載,注意版權問題。', + ['3. It is recommended to use common TTF or OTF format font files. Avoid using FON format to prevent compatibility issues.'] = '3. 推薦使用常見的 TTF 或 OTF 格式字體文件,避免使用 FON 格式以防兼容性問題。', + ['4. Place the prepared font files in the font directory to use them, click button below to open font folder.'] = '4. 將準備好的字體文件放置在字體目錄下即可使用,點擊下方按鈕打開字體文件夾。', + + ['Open font folder'] = '打開字體文件夾', + ['Refresh font list'] = '刷新字體列表', + ['Get more fonts'] = '獲取更多字體', } diff --git a/MY_Font/src/MY_Font.lua b/MY_Font/src/MY_Font.lua index a18fafb09..8059c06b5 100644 --- a/MY_Font/src/MY_Font.lua +++ b/MY_Font/src/MY_Font.lua @@ -14,7 +14,7 @@ local PLUGIN_ROOT = X.PACKET_INFO.ROOT .. PLUGIN_NAME local MODULE_NAME = 'MY_Font' local _L = X.LoadLangPack(PLUGIN_ROOT .. '/lang/') -------------------------------------------------------------------------- -if not X.AssertVersion(MODULE_NAME, _L[MODULE_NAME], '^29.0.0') then +if not X.AssertVersion(MODULE_NAME, _L[MODULE_NAME], '^29.0.2') then return end --[[#DEBUG BEGIN]]X.ReportModuleLoading(MODULE_PATH, 'START')--[[#DEBUG END]] @@ -134,6 +134,7 @@ local PS = {} function PS.OnPanelActive(wnd) local ui = X.UI(wnd) local nPaddingX, nPaddingY = 10, 30 + local nX, nY = nPaddingX, nPaddingY local nW, nH = ui:Size() local aFontList = X.GetFontList() local aFontName, aFontPath = {}, {} @@ -153,11 +154,11 @@ function PS.OnPanelActive(wnd) btnApply:Enable(bFileExist and szNewFile ~= szFontFile) end - ui:Append('Text', { text = _L[' * '] .. p.szTitle, x = nPaddingX, y = nPaddingY }) - nPaddingY = nPaddingY + 40 + ui:Append('Text', { text = _L[' * '] .. p.szTitle, x = nX, y = nY }) + nY = nY + 30 acFontFile = ui:Append('WndAutocomplete', { - x = nPaddingX, y = nPaddingY, w = nW - nPaddingX - 60 - 150 - 5 - 35 - 5 - nPaddingX - 5, h = 25, + x = nX, y = nY, w = nW - nX - 60 - 150 - 5 - 35 - 5 - nX - 5, h = 25, text = szFontFile, onChange = function(szText) UpdateBtnEnable() @@ -183,7 +184,7 @@ function PS.OnPanelActive(wnd) }) ui:Append('WndButton', { - x = nW - nPaddingX - 60 - 150 - 5 - 35 - 5, y = nPaddingY, w = 35, h = 25, + x = nW - nX - 60 - 150 - 5 - 35 - 5, y = nY, w = 35, h = 25, text = '...', buttonStyle = 'FLAT', onClick = function() @@ -196,7 +197,7 @@ function PS.OnPanelActive(wnd) }) acFontName = ui:Append('WndAutocomplete', { - x = nW - nPaddingX - 60 - 150 - 5, y = nPaddingY, w = 150, h = 25, + x = nW - nX - 60 - 150 - 5, y = nY, w = 150, h = 25, text = szFontName, onChange = function(szText) UpdateBtnEnable() @@ -220,7 +221,7 @@ function PS.OnPanelActive(wnd) }) btnApply = ui:Append('WndButton', { - x = nW - nPaddingX - 60, y = nPaddingY, w = 60, h = 25, + x = nW - nX - 60, y = nY, w = 60, h = 25, text = _L['Apply'], enable = false, buttonStyle = 'FLAT', onClick = function() @@ -231,11 +232,75 @@ function PS.OnPanelActive(wnd) UpdateBtnEnable() end }) - nPaddingY = nPaddingY + 60 + nY = nY + 40 end + + nX = nPaddingX + 5 + nY = nY + 10 + nY = nY + ui:Append('Text', { + x = nX, y = nY, w = nW - nX * 2, multiline = true, alignVertical = 0, + text = _L['1. This plugin only modifies in-game font settings and does not include font files. You need to prepare font files yourself.'], + }):AutoHeight():Height() + 2 + nY = nY + ui:Append('Text', { + x = nX, y = nY, w = nW - nX * 2, multiline = true, alignVertical = 0, + text = _L['2. Font files can be downloaded from various font websites. Please pay attention to copyright issues.'], + }):AutoHeight():Height() + 2 + nY = nY + ui:Append('Text', { + x = nX, y = nY, w = nW - nX * 2, multiline = true, alignVertical = 0, + text = _L['3. It is recommended to use common TTF or OTF format font files. Avoid using FON format to prevent compatibility issues.'], + }):AutoHeight():Height() + 2 + nY = nY + ui:Append('Text', { + x = nX, y = nY, w = nW - nX * 2, multiline = true, alignVertical = 0, + text = _L['4. Place the prepared font files in the font directory to use them, click button below to open font folder.'], + }):AutoHeight():Height() + 2 + + nX = nPaddingX + nY = nY + 10 + ui:Append('WndButton', { + x = nX, y = nY, w = 150, h = 30, + text = _L['Open font folder'], + onClick = function() + X.OpenFolder(X.FormatPath({'font/', X.PATH_TYPE.GLOBAL})) + end, + }) + + ui:Append('WndButton', { + x = nX + 160, y = nY, w = 150, h = 30, + text = _L['Refresh font list'], + onClick = function() + X.Panel.SwitchTab('MY_Font', true) + end, + }) + + ui:Append('WndButton', { + x = nX + 320, y = nY, w = 150, h = 30, + text = _L['Get more fonts'], + onClick = function() + X.OpenBrowser('https://j3cx.com/fonts/' .. X.ENVIRONMENT.GAME_LOCALE, 'outer') + end, + }) end X.Panel.Register(_L['System'], 'MY_Font', _L['MY_Font'], 'ui/Image/UICommon/CommonPanel7.UITex|36', PS) +-- ʷλ +do + local szSrcDir = X.PACKET_INFO.ROOT .. 'MY_FontResource/font/' + local aFontDesc = X.LoadLUAData(szSrcDir .. X.ENVIRONMENT.GAME_LANG .. '.jx3dat') + if aFontDesc then + local szDstDir = X.FormatPath({'font/', X.PATH_TYPE.GLOBAL}) + for _, tFont in ipairs(aFontDesc) do + if tFont.tLang[X.ENVIRONMENT.GAME_LANG] and tFont.szFile:sub(1, 2) == './' then + local szSrcFile = X.NormalizePath(szSrcDir .. tFont.szFile:sub(3)) + if IsFileExist(szSrcFile) then + local szExt = string.match(tFont.szFile, '%.([^%.]+)$') or 'ttf' + local szDstFile = szDstDir .. tFont.szName .. '.' .. szExt + CPath.Move(szSrcFile, szDstFile) + end + end + end + end +end + -- ʼ do local bChanged = false diff --git a/MY_FontResource/font/FangZhengCuYuan.ttf b/MY_FontResource/font/FangZhengCuYuan.ttf deleted file mode 100644 index 0d4451e49..000000000 Binary files a/MY_FontResource/font/FangZhengCuYuan.ttf and /dev/null differ diff --git a/MY_FontResource/font/MengNaYingFuTiFan.ttf b/MY_FontResource/font/MengNaYingFuTiFan.ttf deleted file mode 100644 index 4c9e2f26a..000000000 Binary files a/MY_FontResource/font/MengNaYingFuTiFan.ttf and /dev/null differ diff --git a/MY_FontResource/font/MengNaYingFuTiFull.ttf b/MY_FontResource/font/MengNaYingFuTiFull.ttf deleted file mode 100644 index 45bfd817d..000000000 Binary files a/MY_FontResource/font/MengNaYingFuTiFull.ttf and /dev/null differ diff --git a/MY_FontResource/font/zhcn.jx3dat b/MY_FontResource/font/zhcn.jx3dat deleted file mode 100644 index 28618f28c..000000000 --- a/MY_FontResource/font/zhcn.jx3dat +++ /dev/null @@ -1,19 +0,0 @@ -return { - { tLang = { zhcn = true }, szName = "ֽ", szFile = "/ui/font/fzjz.ttf" }, - { tLang = { zhcn = true }, szName = "п", szFile = "/ui/Font/fzxk.ttf" }, - { tLang = { zhcn = true }, szName = "", szFile = "/ui/Font/fzht_GBK.TTF" }, - { tLang = { zhtw = true }, szName = "΢", szFile = "/ui/Font/MSJH.TTF" }, - { tLang = { zhcn = true }, szName = "Բ", szFile = "./FangZhengCuYuan.ttf" }, - { tLang = { zhtw = true }, szName = "", szFile = "./PianPianTi.ttf" }, - { tLang = { zhcn = true }, szName = "塤", szFile = "./PianPianTiFan.ttf" }, - { tLang = { zhtw = true }, szName = "Ʀ", szFile = "./YaPiTiFull.ttf" }, - { tLang = { zhcn = true }, szName = "Ʀ塤", szFile = "./YaPiTiFan.ttf" }, - { tLang = { zhtw = true }, szName = "", szFile = "./MengMeiTi.ttf" }, - { tLang = { zhcn = true }, szName = "塤", szFile = "./MengMeiTiFan.ttf" }, - { tLang = { zhtw = true }, szName = "Բ", szFile = "./LangManYaYuan.ttf" }, - { tLang = { zhcn = true }, szName = "Բ", szFile = "./LangManYaYuanFan.ttf" }, - { tLang = { zhtw = true }, szName = "غ", szFile = "./HanWangHeiHeavy.ttf" }, - { tLang = { zhcn = true }, szName = "غڡ", szFile = "./HanWangHeiHeavyFan.ttf" }, - { tLang = { zhcn = true, zhtw = true }, szName = "ӯ", szFile = "./MengNaYingFuTiFull.ttf" }, - { tLang = { zhcn = true }, szName = "ӯ塤", szFile = "./MengNaYingFuTiFan.ttf" }, -} diff --git a/MY_FontResource/font/zhtw.jx3dat b/MY_FontResource/font/zhtw.jx3dat deleted file mode 100644 index 23090da09..000000000 --- a/MY_FontResource/font/zhtw.jx3dat +++ /dev/null @@ -1,19 +0,0 @@ -return { - { tLang = { zhcn = true }, szName = "方正剪紙", szFile = "/ui/font/fzjz.ttf" }, - { tLang = { zhcn = true }, szName = "方正行楷", szFile = "/ui/Font/fzxk.ttf" }, - { tLang = { zhcn = true }, szName = "方正黑體", szFile = "/ui/Font/fzht_GBK.TTF" }, - { tLang = { zhtw = true }, szName = "微軟正黑", szFile = "/ui/Font/MSJH.TTF" }, - { tLang = { zhcn = true }, szName = "方正粗圓", szFile = "./FangZhengCuYuan.ttf" }, - { tLang = { zhtw = true }, szName = "翩翩體", szFile = "./PianPianTi.ttf" }, - { tLang = { zhcn = true }, szName = "翩翩體·繁體", szFile = "./PianPianTiFan.ttf" }, - { tLang = { zhtw = true }, szName = "雅痞體", szFile = "./YaPiTiFull.ttf" }, - { tLang = { zhcn = true }, szName = "雅痞體·繁體", szFile = "./YaPiTiFan.ttf" }, - { tLang = { zhtw = true }, szName = "萌妹體", szFile = "./MengMeiTi.ttf" }, - { tLang = { zhcn = true }, szName = "萌妹體·繁體", szFile = "./MengMeiTiFan.ttf" }, - { tLang = { zhtw = true }, szName = "浪漫雅圓", szFile = "./LangManYaYuan.ttf" }, - { tLang = { zhcn = true }, szName = "浪漫雅圓·繁體", szFile = "./LangManYaYuanFan.ttf" }, - { tLang = { zhtw = true }, szName = "王漢宗特黑", szFile = "./HanWangHeiHeavy.ttf" }, - { tLang = { zhcn = true }, szName = "王漢宗特黑·繁體", szFile = "./HanWangHeiHeavyFan.ttf" }, - { tLang = { zhcn = true, zhtw = true }, szName = "蒙納盈富體", szFile = "./MengNaYingFuTiFull.ttf" }, - { tLang = { zhcn = true }, szName = "蒙納盈富體·繁體", szFile = "./MengNaYingFuTiFan.ttf" }, -} diff --git a/MY_FontResource/lang/zhcn.jx3dat b/MY_FontResource/lang/zhcn.jx3dat deleted file mode 100644 index 689310b6b..000000000 --- a/MY_FontResource/lang/zhcn.jx3dat +++ /dev/null @@ -1,4 +0,0 @@ -return { - ['Default'] = 'Ĭ', - ['alert_sound.ogg'] = 'Ĭʾ', -} diff --git a/MY_FontResource/lang/zhtw.jx3dat b/MY_FontResource/lang/zhtw.jx3dat deleted file mode 100644 index 0c5f8f81a..000000000 --- a/MY_FontResource/lang/zhtw.jx3dat +++ /dev/null @@ -1,4 +0,0 @@ -return { - ['Default'] = '默認', - ['alert_sound.ogg'] = '默認提示音', -} diff --git a/MY_FontResource/src/MY_FontResource.lua b/MY_FontResource/src/MY_FontResource.lua index 848f0f2d1..5808f640c 100644 --- a/MY_FontResource/src/MY_FontResource.lua +++ b/MY_FontResource/src/MY_FontResource.lua @@ -14,58 +14,9 @@ local PLUGIN_ROOT = X.PACKET_INFO.ROOT .. PLUGIN_NAME local MODULE_NAME = 'MY_FontResource' local _L = X.LoadLangPack(PLUGIN_ROOT .. '/lang/') -------------------------------------------------------------------------- -if not X.AssertVersion(MODULE_NAME, _L[MODULE_NAME], '>=3.0.0') then +if not X.AssertVersion(MODULE_NAME, _L[MODULE_NAME], '^29.0.2') then return end -------------------------------------------------------------------------- -local D = {} -local FONT_DIR = X.PACKET_INFO.ROOT:gsub('%./', '/') .. 'MY_FontResource/font/' -local FONT_LIST = X.LoadLUAData(FONT_DIR .. '{$lang}.jx3dat') or {} - -function D.GetList() - local aList, tExist, szLang = {}, {}, X.ENVIRONMENT.GAME_LANG - for _, p in ipairs(Font.GetFontPathList() or {}) do - local szFile = p.szFile:gsub('/', '\\') - local szKey = szFile:lower() - if not tExist[szKey] then - table.insert(aList, { szName = p.szName, szFile = szFile }) - tExist[szKey] = true - end - end - for _, p in ipairs(FONT_LIST) do - if p.tLang[szLang] then - local szFile = p.szFile:gsub('^%./', FONT_DIR):gsub('/', '\\') - local szKey = szFile:lower() - if not tExist[szKey] then - table.insert(aList, { szName = p.szName, szFile = szFile }) - tExist[szKey] = true - end - end - end - for i, p in X.ipairs_r(aList) do - if not IsFileExist(p.szFile) then - table.remove(aList, i) - end - end - return aList -end - --------------------------------------------------------------------------------- --- ȫֵ --------------------------------------------------------------------------------- -do -local settings = { - name = 'MY_FontResource', - exports = { - { - fields = { - GetList = D.GetList, - }, - }, - }, -} -MY_FontResource = X.CreateModule(settings) -end - --[[#DEBUG BEGIN]]X.ReportModuleLoading(MODULE_PATH, 'FINISH')--[[#DEBUG END]] diff --git a/MY_LifeBar/src/MY_LifeBar.PS.lua b/MY_LifeBar/src/MY_LifeBar.PS.lua index 0b70d7b2b..7f458ef49 100644 --- a/MY_LifeBar/src/MY_LifeBar.PS.lua +++ b/MY_LifeBar/src/MY_LifeBar.PS.lua @@ -14,7 +14,7 @@ local PLUGIN_ROOT = X.PACKET_INFO.ROOT .. PLUGIN_NAME local MODULE_NAME = 'MY_LifeBar' local _L = X.LoadLangPack(PLUGIN_ROOT .. '/lang/') -------------------------------------------------------------------------------- -if not X.AssertVersion(MODULE_NAME, _L[MODULE_NAME], '^29.0.0') then +if not X.AssertVersion(MODULE_NAME, _L[MODULE_NAME], '^29.0.1') then return end --[[#DEBUG BEGIN]]X.ReportModuleLoading(MODULE_PATH, 'START')--[[#DEBUG END]] diff --git a/MY_LifeBar/src/MY_LifeBar.lua b/MY_LifeBar/src/MY_LifeBar.lua index 45360c12e..c683d3495 100644 --- a/MY_LifeBar/src/MY_LifeBar.lua +++ b/MY_LifeBar/src/MY_LifeBar.lua @@ -14,7 +14,7 @@ local PLUGIN_ROOT = X.PACKET_INFO.ROOT .. PLUGIN_NAME local MODULE_NAME = 'MY_LifeBar' local _L = X.LoadLangPack(PLUGIN_ROOT .. '/lang/') -------------------------------------------------------------------------------- -if not X.AssertVersion(MODULE_NAME, _L[MODULE_NAME], '^29.0.0') then +if not X.AssertVersion(MODULE_NAME, _L[MODULE_NAME], '^29.0.1') then return end --[[#DEBUG BEGIN]]X.ReportModuleLoading(MODULE_PATH, 'START')--[[#DEBUG END]] diff --git a/MY_LifeBar/src/MY_LifeBar_Config.lua b/MY_LifeBar/src/MY_LifeBar_Config.lua index 2e09a8722..a46a8a4be 100644 --- a/MY_LifeBar/src/MY_LifeBar_Config.lua +++ b/MY_LifeBar/src/MY_LifeBar_Config.lua @@ -14,7 +14,7 @@ local PLUGIN_ROOT = X.PACKET_INFO.ROOT .. PLUGIN_NAME local MODULE_NAME = 'MY_LifeBar' local _L = X.LoadLangPack(PLUGIN_ROOT .. '/lang/') -------------------------------------------------------------------------------- -if not X.AssertVersion(MODULE_NAME, _L[MODULE_NAME], '^29.0.0') then +if not X.AssertVersion(MODULE_NAME, _L[MODULE_NAME], '^29.0.1') then return end --[[#DEBUG BEGIN]]X.ReportModuleLoading(MODULE_PATH, 'START')--[[#DEBUG END]] diff --git a/MY_LifeBar/src/MY_LifeBar_HP.lua b/MY_LifeBar/src/MY_LifeBar_HP.lua index 2a3a93f4c..4846d0201 100644 --- a/MY_LifeBar/src/MY_LifeBar_HP.lua +++ b/MY_LifeBar/src/MY_LifeBar_HP.lua @@ -14,7 +14,7 @@ local PLUGIN_ROOT = X.PACKET_INFO.ROOT .. PLUGIN_NAME local MODULE_NAME = 'MY_LifeBar' local _L = X.LoadLangPack(PLUGIN_ROOT .. '/lang/') -------------------------------------------------------------------------------- -if not X.AssertVersion(MODULE_NAME, _L[MODULE_NAME], '^29.0.0') then +if not X.AssertVersion(MODULE_NAME, _L[MODULE_NAME], '^29.0.1') then return end --[[#DEBUG BEGIN]]X.ReportModuleLoading(MODULE_PATH, 'START')--[[#DEBUG END]] diff --git a/MY_LifeBar/src/MY_LifeBar_LB.lua b/MY_LifeBar/src/MY_LifeBar_LB.lua index fc49ebd4d..bfbefaf51 100644 --- a/MY_LifeBar/src/MY_LifeBar_LB.lua +++ b/MY_LifeBar/src/MY_LifeBar_LB.lua @@ -14,7 +14,7 @@ local PLUGIN_ROOT = X.PACKET_INFO.ROOT .. PLUGIN_NAME local MODULE_NAME = 'MY_LifeBar' local _L = X.LoadLangPack(PLUGIN_ROOT .. '/lang/') -------------------------------------------------------------------------------- -if not X.AssertVersion(MODULE_NAME, _L[MODULE_NAME], '^29.0.0') then +if not X.AssertVersion(MODULE_NAME, _L[MODULE_NAME], '^29.0.1') then return end --[[#DEBUG BEGIN]]X.ReportModuleLoading(MODULE_PATH, 'START')--[[#DEBUG END]] diff --git a/MY_LifeBar/src/MY_LifeBar_Official.lua b/MY_LifeBar/src/MY_LifeBar_Official.lua index e7d366a2e..de0496cc2 100644 --- a/MY_LifeBar/src/MY_LifeBar_Official.lua +++ b/MY_LifeBar/src/MY_LifeBar_Official.lua @@ -14,7 +14,7 @@ local PLUGIN_ROOT = X.PACKET_INFO.ROOT .. PLUGIN_NAME local MODULE_NAME = 'MY_LifeBar' local _L = X.LoadLangPack(PLUGIN_ROOT .. '/lang/') -------------------------------------------------------------------------------- -if not X.AssertVersion(MODULE_NAME, _L[MODULE_NAME], '^29.0.0') then +if not X.AssertVersion(MODULE_NAME, _L[MODULE_NAME], '^29.0.1') then return end --[[#DEBUG BEGIN]]X.ReportModuleLoading(MODULE_PATH, 'START')--[[#DEBUG END]] diff --git a/MY_LifeBar/src/MY_LifeBar_ScreenArrow.lua b/MY_LifeBar/src/MY_LifeBar_ScreenArrow.lua index 048ec74c7..936d010da 100644 --- a/MY_LifeBar/src/MY_LifeBar_ScreenArrow.lua +++ b/MY_LifeBar/src/MY_LifeBar_ScreenArrow.lua @@ -15,7 +15,7 @@ local PLUGIN_ROOT = X.PACKET_INFO.ROOT .. PLUGIN_NAME local MODULE_NAME = 'MY_LifeBar_ScreenArrow' local _L = X.LoadLangPack(PLUGIN_ROOT .. '/lang/') -------------------------------------------------------------------------------- -if not X.AssertVersion(MODULE_NAME, _L[MODULE_NAME], '^29.0.0') then +if not X.AssertVersion(MODULE_NAME, _L[MODULE_NAME], '^29.0.1') then return end --[[#DEBUG BEGIN]]X.ReportModuleLoading(MODULE_PATH, 'START')--[[#DEBUG END]] @@ -350,21 +350,21 @@ function D.OnBreathe() end oo:DrawLifeBar(fLifePer, fManaPer):DrawText(txt, szName):DrawArrow() if dwType == TARGET.PLAYER then - local dwMountKungfuID = -1 + local dwKungfuID = -1 if dwID == X.GetClientPlayerID() then - dwMountKungfuID = UI_GetPlayerMountKungfuID() + dwKungfuID = UI_GetPlayerMountKungfuID() else local info = X.GetTeamMemberInfo(dwID) if info and not X.IsEmpty(info.dwActualKungfuID) then - dwMountKungfuID = info.dwActualKungfuID + dwKungfuID = info.dwActualKungfuID else local kungfu = kTarget.GetKungfuMount() if kungfu then - dwMountKungfuID = kungfu.dwSkillID + dwKungfuID = kungfu.dwSkillID end end end - rlcmd(string.format("set caption kungfu icon %u %u %u", dwID, 1, dwMountKungfuID)) + rlcmd(string.format("set caption kungfu icon %u %u %u", dwID, 1, dwKungfuID)) end -- Ҫ취C++ɫ C++иǿ߼ ȼrlcmd д local szRelation = X.GetCharacterRelation(UI_GetClientPlayerID(), dwID) diff --git a/MY_Recount/src/MY_Recount.lua b/MY_Recount/src/MY_Recount.lua index 1b33a1655..eb64fa3a9 100644 --- a/MY_Recount/src/MY_Recount.lua +++ b/MY_Recount/src/MY_Recount.lua @@ -14,7 +14,7 @@ local PLUGIN_ROOT = X.PACKET_INFO.ROOT .. PLUGIN_NAME local MODULE_NAME = 'MY_Recount' local _L = X.LoadLangPack(PLUGIN_ROOT .. '/lang/') -------------------------------------------------------------------------- -if not X.AssertVersion(MODULE_NAME, _L[MODULE_NAME], '^29.0.0') then +if not X.AssertVersion(MODULE_NAME, _L[MODULE_NAME], '^29.0.1') then return end --[[#DEBUG BEGIN]]X.ReportModuleLoading(MODULE_PATH, 'START')--[[#DEBUG END]] diff --git a/MY_Recount/src/MY_Recount_DS.lua b/MY_Recount/src/MY_Recount_DS.lua index 526471fb7..f30fb7204 100644 --- a/MY_Recount/src/MY_Recount_DS.lua +++ b/MY_Recount/src/MY_Recount_DS.lua @@ -14,7 +14,7 @@ local PLUGIN_ROOT = X.PACKET_INFO.ROOT .. PLUGIN_NAME local MODULE_NAME = 'MY_Recount' local _L = X.LoadLangPack(PLUGIN_ROOT .. '/lang/') -------------------------------------------------------------------------- -if not X.AssertVersion(MODULE_NAME, _L[MODULE_NAME], '^29.0.0') then +if not X.AssertVersion(MODULE_NAME, _L[MODULE_NAME], '^29.0.1') then return end --[[#DEBUG BEGIN]]X.ReportModuleLoading(MODULE_PATH, 'START')--[[#DEBUG END]] @@ -637,7 +637,7 @@ function D.GetPlayer(dwID) if dwID == X.GetClientPlayerID() then player = X.GetClientPlayer() info = { - dwMountKungfuID = UI_GetPlayerMountKungfuID(), + dwKungfuID = UI_GetPlayerMountKungfuID(), szName = player.szName, } else diff --git a/MY_Recount/src/MY_Recount_DT.lua b/MY_Recount/src/MY_Recount_DT.lua index 27f6a7fd3..9ecaec96d 100644 --- a/MY_Recount/src/MY_Recount_DT.lua +++ b/MY_Recount/src/MY_Recount_DT.lua @@ -14,7 +14,7 @@ local PLUGIN_ROOT = X.PACKET_INFO.ROOT .. PLUGIN_NAME local MODULE_NAME = 'MY_Recount' local _L = X.LoadLangPack(PLUGIN_ROOT .. '/lang/') -------------------------------------------------------------------------- -if not X.AssertVersion(MODULE_NAME, _L[MODULE_NAME], '^29.0.0') then +if not X.AssertVersion(MODULE_NAME, _L[MODULE_NAME], '^29.0.1') then return end --[[#DEBUG BEGIN]]X.ReportModuleLoading(MODULE_PATH, 'START')--[[#DEBUG END]] diff --git a/MY_Recount/src/MY_Recount_UI.lua b/MY_Recount/src/MY_Recount_UI.lua index 0d238ad06..147c2896d 100644 --- a/MY_Recount/src/MY_Recount_UI.lua +++ b/MY_Recount/src/MY_Recount_UI.lua @@ -14,7 +14,7 @@ local PLUGIN_ROOT = X.PACKET_INFO.ROOT .. PLUGIN_NAME local MODULE_NAME = 'MY_Recount' local _L = X.LoadLangPack(PLUGIN_ROOT .. '/lang/') -------------------------------------------------------------------------- -if not X.AssertVersion(MODULE_NAME, _L[MODULE_NAME], '^29.0.0') then +if not X.AssertVersion(MODULE_NAME, _L[MODULE_NAME], '^29.0.1') then return end --[[#DEBUG BEGIN]]X.ReportModuleLoading(MODULE_PATH, 'START')--[[#DEBUG END]] diff --git a/MY_TeamMon/src/MY_TeamMon.PS.lua b/MY_TeamMon/src/MY_TeamMon.PS.lua index 5911d9dd6..9333fd1b5 100644 --- a/MY_TeamMon/src/MY_TeamMon.PS.lua +++ b/MY_TeamMon/src/MY_TeamMon.PS.lua @@ -15,7 +15,7 @@ local PLUGIN_ROOT = X.PACKET_INFO.ROOT .. PLUGIN_NAME local MODULE_NAME = 'MY_TeamMon' local _L = X.LoadLangPack(PLUGIN_ROOT .. '/lang/') -------------------------------------------------------------------------------- -if not X.AssertVersion(MODULE_NAME, _L[MODULE_NAME], '^29.0.0') then +if not X.AssertVersion(MODULE_NAME, _L[MODULE_NAME], '^29.0.1') then return end --[[#DEBUG BEGIN]]X.ReportModuleLoading(MODULE_PATH, 'START')--[[#DEBUG END]] diff --git a/MY_TeamMon/src/MY_TeamMon.lua b/MY_TeamMon/src/MY_TeamMon.lua index 166f62050..526f41f02 100644 --- a/MY_TeamMon/src/MY_TeamMon.lua +++ b/MY_TeamMon/src/MY_TeamMon.lua @@ -15,7 +15,7 @@ local PLUGIN_ROOT = X.PACKET_INFO.ROOT .. PLUGIN_NAME local MODULE_NAME = 'MY_TeamMon' local _L = X.LoadLangPack(PLUGIN_ROOT .. '/lang/') -------------------------------------------------------------------------------- -if not X.AssertVersion(MODULE_NAME, _L[MODULE_NAME], '^29.0.0') then +if not X.AssertVersion(MODULE_NAME, _L[MODULE_NAME], '^29.0.1') then return end --[[#DEBUG BEGIN]]X.ReportModuleLoading(MODULE_PATH, 'START')--[[#DEBUG END]] diff --git a/MY_TeamMon/src/MY_TeamMon_BuffList.lua b/MY_TeamMon/src/MY_TeamMon_BuffList.lua index c103c5ff7..a091771fa 100644 --- a/MY_TeamMon/src/MY_TeamMon_BuffList.lua +++ b/MY_TeamMon/src/MY_TeamMon_BuffList.lua @@ -15,7 +15,7 @@ local PLUGIN_ROOT = X.PACKET_INFO.ROOT .. PLUGIN_NAME local MODULE_NAME = 'MY_TeamMon_BuffList' local _L = X.LoadLangPack(PLUGIN_ROOT .. '/lang/') -------------------------------------------------------------------------------- -if not X.AssertVersion(MODULE_NAME, _L[MODULE_NAME], '^29.0.0') then +if not X.AssertVersion(MODULE_NAME, _L[MODULE_NAME], '^29.0.1') then return end --[[#DEBUG BEGIN]]X.ReportModuleLoading(MODULE_PATH, 'START')--[[#DEBUG END]] diff --git a/MY_TeamMon/src/MY_TeamMon_CenterAlarm.lua b/MY_TeamMon/src/MY_TeamMon_CenterAlarm.lua index 07f8d125d..b47643ed4 100644 --- a/MY_TeamMon/src/MY_TeamMon_CenterAlarm.lua +++ b/MY_TeamMon/src/MY_TeamMon_CenterAlarm.lua @@ -15,7 +15,7 @@ local PLUGIN_ROOT = X.PACKET_INFO.ROOT .. PLUGIN_NAME local MODULE_NAME = 'MY_TeamMon_CenterAlarm' local _L = X.LoadLangPack(PLUGIN_ROOT .. '/lang/') -------------------------------------------------------------------------------- -if not X.AssertVersion(MODULE_NAME, _L[MODULE_NAME], '^29.0.0') then +if not X.AssertVersion(MODULE_NAME, _L[MODULE_NAME], '^29.0.1') then return end --[[#DEBUG BEGIN]]X.ReportModuleLoading(MODULE_PATH, 'START')--[[#DEBUG END]] diff --git a/MY_TeamMon/src/MY_TeamMon_CircleLine.lua b/MY_TeamMon/src/MY_TeamMon_CircleLine.lua index d4f1f39e9..c3c793ea9 100644 --- a/MY_TeamMon/src/MY_TeamMon_CircleLine.lua +++ b/MY_TeamMon/src/MY_TeamMon_CircleLine.lua @@ -15,7 +15,7 @@ local PLUGIN_ROOT = X.PACKET_INFO.ROOT .. PLUGIN_NAME local MODULE_NAME = 'MY_TeamMon_CircleLine' local _L = X.LoadLangPack(PLUGIN_ROOT .. '/lang/') -------------------------------------------------------------------------------- -if not X.AssertVersion(MODULE_NAME, _L[MODULE_NAME], '^29.0.0') then +if not X.AssertVersion(MODULE_NAME, _L[MODULE_NAME], '^29.0.1') then return end --[[#DEBUG BEGIN]]X.ReportModuleLoading(MODULE_PATH, 'START')--[[#DEBUG END]] diff --git a/MY_TeamMon/src/MY_TeamMon_FullScreenAlarm.lua b/MY_TeamMon/src/MY_TeamMon_FullScreenAlarm.lua index cc55c8a62..7202ffbf9 100644 --- a/MY_TeamMon/src/MY_TeamMon_FullScreenAlarm.lua +++ b/MY_TeamMon/src/MY_TeamMon_FullScreenAlarm.lua @@ -15,7 +15,7 @@ local PLUGIN_ROOT = X.PACKET_INFO.ROOT .. PLUGIN_NAME local MODULE_NAME = 'MY_TeamMon' local _L = X.LoadLangPack(PLUGIN_ROOT .. '/lang/') -------------------------------------------------------------------------------- -if not X.AssertVersion(MODULE_NAME, _L[MODULE_NAME], '^29.0.0') then +if not X.AssertVersion(MODULE_NAME, _L[MODULE_NAME], '^29.0.1') then return end --[[#DEBUG BEGIN]]X.ReportModuleLoading(MODULE_PATH, 'START')--[[#DEBUG END]] diff --git a/MY_TeamMon/src/MY_TeamMon_LargeTextAlarm.lua b/MY_TeamMon/src/MY_TeamMon_LargeTextAlarm.lua index 770470005..89540d6aa 100644 --- a/MY_TeamMon/src/MY_TeamMon_LargeTextAlarm.lua +++ b/MY_TeamMon/src/MY_TeamMon_LargeTextAlarm.lua @@ -15,7 +15,7 @@ local PLUGIN_ROOT = X.PACKET_INFO.ROOT .. PLUGIN_NAME local MODULE_NAME = 'MY_TeamMon' local _L = X.LoadLangPack(PLUGIN_ROOT .. '/lang/') -------------------------------------------------------------------------------- -if not X.AssertVersion(MODULE_NAME, _L[MODULE_NAME], '^29.0.0') then +if not X.AssertVersion(MODULE_NAME, _L[MODULE_NAME], '^29.0.1') then return end --[[#DEBUG BEGIN]]X.ReportModuleLoading(MODULE_PATH, 'START')--[[#DEBUG END]] diff --git a/MY_TeamMon/src/MY_TeamMon_PartyBuffList.lua b/MY_TeamMon/src/MY_TeamMon_PartyBuffList.lua index 31f54a5bf..4ad9f4031 100644 --- a/MY_TeamMon/src/MY_TeamMon_PartyBuffList.lua +++ b/MY_TeamMon/src/MY_TeamMon_PartyBuffList.lua @@ -15,7 +15,7 @@ local PLUGIN_ROOT = X.PACKET_INFO.ROOT .. PLUGIN_NAME local MODULE_NAME = 'MY_TeamMon_PartyBuffList' local _L = X.LoadLangPack(PLUGIN_ROOT .. '/lang/') -------------------------------------------------------------------------------- -if not X.AssertVersion(MODULE_NAME, _L[MODULE_NAME], '^29.0.0') then +if not X.AssertVersion(MODULE_NAME, _L[MODULE_NAME], '^29.0.1') then return end --[[#DEBUG BEGIN]]X.ReportModuleLoading(MODULE_PATH, 'START')--[[#DEBUG END]] @@ -232,8 +232,8 @@ function D.GetPlayer(dwID) if dwID == X.GetClientPlayerID() then player = X.GetClientPlayer() info = { - dwMountKungfuID = UI_GetPlayerMountKungfuID(), - dwActualMountKungfuID = UI_GetPlayerMountKungfuID(), + dwKungfuID = UI_GetPlayerMountKungfuID(), + dwActualKungfuID = UI_GetPlayerMountKungfuID(), szName = player.szName, } else diff --git a/MY_TeamMon/src/MY_TeamMon_SpellTimer.lua b/MY_TeamMon/src/MY_TeamMon_SpellTimer.lua index f9d769820..ef30d76fe 100644 --- a/MY_TeamMon/src/MY_TeamMon_SpellTimer.lua +++ b/MY_TeamMon/src/MY_TeamMon_SpellTimer.lua @@ -15,7 +15,7 @@ local PLUGIN_ROOT = X.PACKET_INFO.ROOT .. PLUGIN_NAME local MODULE_NAME = 'MY_TeamMon_SpellTimer' local _L = X.LoadLangPack(PLUGIN_ROOT .. '/lang/') -------------------------------------------------------------------------------- -if not X.AssertVersion(MODULE_NAME, _L[MODULE_NAME], '^29.0.0') then +if not X.AssertVersion(MODULE_NAME, _L[MODULE_NAME], '^29.0.1') then return end --[[#DEBUG BEGIN]]X.ReportModuleLoading(MODULE_PATH, 'START')--[[#DEBUG END]] diff --git a/MY_TeamMon/src/MY_TeamMon_Subscribe.lua b/MY_TeamMon/src/MY_TeamMon_Subscribe.lua index b05b5f1bb..16046a2ef 100644 --- a/MY_TeamMon/src/MY_TeamMon_Subscribe.lua +++ b/MY_TeamMon/src/MY_TeamMon_Subscribe.lua @@ -15,7 +15,7 @@ local PLUGIN_ROOT = X.PACKET_INFO.ROOT .. PLUGIN_NAME local MODULE_NAME = 'MY_TeamMon' local _L = X.LoadLangPack(PLUGIN_ROOT .. '/lang/') -------------------------------------------------------------------------------- -if not X.AssertVersion(MODULE_NAME, _L[MODULE_NAME], '^29.0.0') then +if not X.AssertVersion(MODULE_NAME, _L[MODULE_NAME], '^29.0.1') then return end --[[#DEBUG BEGIN]]X.ReportModuleLoading(MODULE_PATH, 'START')--[[#DEBUG END]] diff --git a/MY_TeamMon/src/MY_TeamMon_Subscribe_Data.lua b/MY_TeamMon/src/MY_TeamMon_Subscribe_Data.lua index 2f78d954f..42b47628e 100644 --- a/MY_TeamMon/src/MY_TeamMon_Subscribe_Data.lua +++ b/MY_TeamMon/src/MY_TeamMon_Subscribe_Data.lua @@ -15,7 +15,7 @@ local PLUGIN_ROOT = X.PACKET_INFO.ROOT .. PLUGIN_NAME local MODULE_NAME = 'MY_TeamMon' local _L = X.LoadLangPack(PLUGIN_ROOT .. '/lang/') -------------------------------------------------------------------------------- -if not X.AssertVersion(MODULE_NAME, _L[MODULE_NAME], '^29.0.0') then +if not X.AssertVersion(MODULE_NAME, _L[MODULE_NAME], '^29.0.1') then return end --[[#DEBUG BEGIN]]X.ReportModuleLoading(MODULE_PATH, 'START')--[[#DEBUG END]] diff --git a/MY_TeamMon/src/MY_TeamMon_Subscribe_FavoriteData.lua b/MY_TeamMon/src/MY_TeamMon_Subscribe_FavoriteData.lua index cd1fba0dd..1d963863e 100644 --- a/MY_TeamMon/src/MY_TeamMon_Subscribe_FavoriteData.lua +++ b/MY_TeamMon/src/MY_TeamMon_Subscribe_FavoriteData.lua @@ -15,7 +15,7 @@ local PLUGIN_ROOT = X.PACKET_INFO.ROOT .. PLUGIN_NAME local MODULE_NAME = 'MY_TeamMon' local _L = X.LoadLangPack(PLUGIN_ROOT .. '/lang/') -------------------------------------------------------------------------------- -if not X.AssertVersion(MODULE_NAME, _L[MODULE_NAME], '^29.0.0') then +if not X.AssertVersion(MODULE_NAME, _L[MODULE_NAME], '^29.0.1') then return end --[[#DEBUG BEGIN]]X.ReportModuleLoading(MODULE_PATH, 'START')--[[#DEBUG END]] diff --git a/MY_TeamMon/src/MY_TeamMon_Subscribe_MergeDataSlice.lua b/MY_TeamMon/src/MY_TeamMon_Subscribe_MergeDataSlice.lua index 984e9ece9..dca607fb9 100644 --- a/MY_TeamMon/src/MY_TeamMon_Subscribe_MergeDataSlice.lua +++ b/MY_TeamMon/src/MY_TeamMon_Subscribe_MergeDataSlice.lua @@ -15,7 +15,7 @@ local PLUGIN_ROOT = X.PACKET_INFO.ROOT .. PLUGIN_NAME local MODULE_NAME = 'MY_TeamMon' local _L = X.LoadLangPack(PLUGIN_ROOT .. '/lang/') -------------------------------------------------------------------------------- -if not X.AssertVersion(MODULE_NAME, _L[MODULE_NAME], '^29.0.0') then +if not X.AssertVersion(MODULE_NAME, _L[MODULE_NAME], '^29.0.1') then return end --[[#DEBUG BEGIN]]X.ReportModuleLoading(MODULE_PATH, 'START')--[[#DEBUG END]] diff --git a/MY_TeamMon/src/MY_TeamMon_Subscribe_VoicePacket_Custom.lua b/MY_TeamMon/src/MY_TeamMon_Subscribe_VoicePacket_Custom.lua index 366165bb1..fe2d395f9 100644 --- a/MY_TeamMon/src/MY_TeamMon_Subscribe_VoicePacket_Custom.lua +++ b/MY_TeamMon/src/MY_TeamMon_Subscribe_VoicePacket_Custom.lua @@ -15,7 +15,7 @@ local PLUGIN_ROOT = X.PACKET_INFO.ROOT .. PLUGIN_NAME local MODULE_NAME = 'MY_TeamMon' local _L = X.LoadLangPack(PLUGIN_ROOT .. '/lang/') -------------------------------------------------------------------------------- -if not X.AssertVersion(MODULE_NAME, _L[MODULE_NAME], '^29.0.0') then +if not X.AssertVersion(MODULE_NAME, _L[MODULE_NAME], '^29.0.1') then return end --[[#DEBUG BEGIN]]X.ReportModuleLoading(MODULE_PATH, 'START')--[[#DEBUG END]] diff --git a/MY_TeamMon/src/MY_TeamMon_Subscribe_VoicePacket_Official.lua b/MY_TeamMon/src/MY_TeamMon_Subscribe_VoicePacket_Official.lua index fd7460c1f..f95a7e56c 100644 --- a/MY_TeamMon/src/MY_TeamMon_Subscribe_VoicePacket_Official.lua +++ b/MY_TeamMon/src/MY_TeamMon_Subscribe_VoicePacket_Official.lua @@ -15,7 +15,7 @@ local PLUGIN_ROOT = X.PACKET_INFO.ROOT .. PLUGIN_NAME local MODULE_NAME = 'MY_TeamMon' local _L = X.LoadLangPack(PLUGIN_ROOT .. '/lang/') -------------------------------------------------------------------------------- -if not X.AssertVersion(MODULE_NAME, _L[MODULE_NAME], '^29.0.0') then +if not X.AssertVersion(MODULE_NAME, _L[MODULE_NAME], '^29.0.1') then return end --[[#DEBUG BEGIN]]X.ReportModuleLoading(MODULE_PATH, 'START')--[[#DEBUG END]] diff --git a/MY_TeamMon/src/MY_TeamMon_UI.lua b/MY_TeamMon/src/MY_TeamMon_UI.lua index 245e234fd..5b13f16ad 100644 --- a/MY_TeamMon/src/MY_TeamMon_UI.lua +++ b/MY_TeamMon/src/MY_TeamMon_UI.lua @@ -15,7 +15,7 @@ local PLUGIN_ROOT = X.PACKET_INFO.ROOT .. PLUGIN_NAME local MODULE_NAME = 'MY_TeamMon' local _L = X.LoadLangPack(PLUGIN_ROOT .. '/lang/') -------------------------------------------------------------------------------- -if not X.AssertVersion(MODULE_NAME, _L[MODULE_NAME], '^29.0.0') then +if not X.AssertVersion(MODULE_NAME, _L[MODULE_NAME], '^29.0.1') then return end --[[#DEBUG BEGIN]]X.ReportModuleLoading(MODULE_PATH, 'START')--[[#DEBUG END]] diff --git a/MY_TeamMon/src/MY_TeamMon_VoiceAlarm.lua b/MY_TeamMon/src/MY_TeamMon_VoiceAlarm.lua index 607aa2afc..e30cc65a1 100644 --- a/MY_TeamMon/src/MY_TeamMon_VoiceAlarm.lua +++ b/MY_TeamMon/src/MY_TeamMon_VoiceAlarm.lua @@ -14,7 +14,7 @@ local PLUGIN_ROOT = X.PACKET_INFO.ROOT .. PLUGIN_NAME local MODULE_NAME = 'MY_TeamMon_VoiceAlarm' local _L = X.LoadLangPack(PLUGIN_ROOT .. '/lang/') -------------------------------------------------------------------------------- -if not X.AssertVersion(MODULE_NAME, _L[MODULE_NAME], '^29.0.0') then +if not X.AssertVersion(MODULE_NAME, _L[MODULE_NAME], '^29.0.1') then return end --[[#DEBUG BEGIN]]X.ReportModuleLoading(MODULE_PATH, 'START')--[[#DEBUG END]] diff --git a/MY_TeamMon/src/MY_TeamMon_VoiceAlarm_Previewer.lua b/MY_TeamMon/src/MY_TeamMon_VoiceAlarm_Previewer.lua index e2978b92f..865c7786a 100644 --- a/MY_TeamMon/src/MY_TeamMon_VoiceAlarm_Previewer.lua +++ b/MY_TeamMon/src/MY_TeamMon_VoiceAlarm_Previewer.lua @@ -14,7 +14,7 @@ local PLUGIN_ROOT = X.PACKET_INFO.ROOT .. PLUGIN_NAME local MODULE_NAME = 'MY_TeamMon_VoiceAlarm_Previewer' local _L = X.LoadLangPack(PLUGIN_ROOT .. '/lang/') -------------------------------------------------------------------------------- -if not X.AssertVersion(MODULE_NAME, _L[MODULE_NAME], '^29.0.0') then +if not X.AssertVersion(MODULE_NAME, _L[MODULE_NAME], '^29.0.1') then return end --[[#DEBUG BEGIN]]X.ReportModuleLoading(MODULE_PATH, 'START')--[[#DEBUG END]] diff --git a/MY_TeamTools/src/MY_CharInfo.lua b/MY_TeamTools/src/MY_CharInfo.lua index 7a50e105a..4c11d41e2 100644 --- a/MY_TeamTools/src/MY_CharInfo.lua +++ b/MY_TeamTools/src/MY_CharInfo.lua @@ -14,7 +14,7 @@ local PLUGIN_ROOT = X.PACKET_INFO.ROOT .. PLUGIN_NAME local MODULE_NAME = 'MY_TeamTools' local _L = X.LoadLangPack(PLUGIN_ROOT .. '/lang/') -------------------------------------------------------------------------- -if not X.AssertVersion(MODULE_NAME, _L[MODULE_NAME], '^29.0.0') then +if not X.AssertVersion(MODULE_NAME, _L[MODULE_NAME], '^29.0.1') then return end --[[#DEBUG BEGIN]]X.ReportModuleLoading(MODULE_PATH, 'START')--[[#DEBUG END]] diff --git a/MY_TeamTools/src/MY_CombatLogs.lua b/MY_TeamTools/src/MY_CombatLogs.lua index 31b06c110..cc01d2961 100644 --- a/MY_TeamTools/src/MY_CombatLogs.lua +++ b/MY_TeamTools/src/MY_CombatLogs.lua @@ -14,7 +14,7 @@ local PLUGIN_ROOT = X.PACKET_INFO.ROOT .. PLUGIN_NAME local MODULE_NAME = 'MY_TeamTools' local _L = X.LoadLangPack(PLUGIN_ROOT .. '/lang/') -------------------------------------------------------------------------- -if not X.AssertVersion(MODULE_NAME, _L[MODULE_NAME], '^29.0.0') then +if not X.AssertVersion(MODULE_NAME, _L[MODULE_NAME], '^29.0.1') then return end --[[#DEBUG BEGIN]]X.ReportModuleLoading(MODULE_PATH, 'START')--[[#DEBUG END]] @@ -411,24 +411,24 @@ function D.OnTargetUpdate(dwID, bForce) end local szName = player.szName local dwForceID = player.dwForceID - local dwMountKungfuID = -1 + local dwKungfuID = -1 if dwID == X.GetClientPlayerID() then - dwMountKungfuID = UI_GetPlayerMountKungfuID() + dwKungfuID = UI_GetPlayerMountKungfuID() else local info = X.GetTeamMemberInfo(dwID) if info and not X.IsEmpty(info.dwActualKungfuID) then - dwMountKungfuID = info.dwActualKungfuID + dwKungfuID = info.dwActualKungfuID else local kungfu = player.GetKungfuMount() if kungfu then - dwMountKungfuID = kungfu.dwSkillID + dwKungfuID = kungfu.dwSkillID end end end local szGUID = X.GetPlayerGlobalID(dwID) or '' local aEquip, nEquipScore, aTalent, tZhenPai local function OnGet() - D.InsertLog(LOG_TYPE.PLAYER_INFO, { dwID, szName, dwForceID, dwMountKungfuID, nEquipScore, aEquip, aTalent, szGUID, tZhenPai }) + D.InsertLog(LOG_TYPE.PLAYER_INFO, { dwID, szName, dwForceID, dwKungfuID, nEquipScore, aEquip, aTalent, szGUID, tZhenPai }) end X.GetPlayerEquipScore(dwID, function(nScore) nEquipScore = nScore diff --git a/MY_TeamTools/src/MY_EvokeRequest.lua b/MY_TeamTools/src/MY_EvokeRequest.lua index 280d16cab..224501edd 100644 --- a/MY_TeamTools/src/MY_EvokeRequest.lua +++ b/MY_TeamTools/src/MY_EvokeRequest.lua @@ -14,7 +14,7 @@ local PLUGIN_ROOT = X.PACKET_INFO.ROOT .. PLUGIN_NAME local MODULE_NAME = 'MY_TeamTools' local _L = X.LoadLangPack(PLUGIN_ROOT .. '/lang/') -------------------------------------------------------------------------- -if not X.AssertVersion(MODULE_NAME, _L[MODULE_NAME], '^29.0.0') then +if not X.AssertVersion(MODULE_NAME, _L[MODULE_NAME], '^29.0.1') then return end --[[#DEBUG BEGIN]]X.ReportModuleLoading(MODULE_PATH, 'START')--[[#DEBUG END]] diff --git a/MY_TeamTools/src/MY_JB.PS.lua b/MY_TeamTools/src/MY_JB.PS.lua index 8a79e3fcd..311e58e86 100644 --- a/MY_TeamTools/src/MY_JB.PS.lua +++ b/MY_TeamTools/src/MY_JB.PS.lua @@ -14,7 +14,7 @@ local PLUGIN_ROOT = X.PACKET_INFO.ROOT .. PLUGIN_NAME local MODULE_NAME = 'MY_JBBind' local _L = X.LoadLangPack(PLUGIN_ROOT .. '/lang/jx3box/') -------------------------------------------------------------------------- -if not X.AssertVersion(MODULE_NAME, _L[MODULE_NAME], '^29.0.0') then +if not X.AssertVersion(MODULE_NAME, _L[MODULE_NAME], '^29.0.1') then return end --[[#DEBUG BEGIN]]X.ReportModuleLoading(MODULE_PATH, 'START')--[[#DEBUG END]] diff --git a/MY_TeamTools/src/MY_JBAchievementRank.lua b/MY_TeamTools/src/MY_JBAchievementRank.lua index ecb804606..2815389f3 100644 --- a/MY_TeamTools/src/MY_JBAchievementRank.lua +++ b/MY_TeamTools/src/MY_JBAchievementRank.lua @@ -14,7 +14,7 @@ local PLUGIN_ROOT = X.PACKET_INFO.ROOT .. PLUGIN_NAME local MODULE_NAME = 'MY_TeamTools' local _L = X.LoadLangPack(PLUGIN_ROOT .. '/lang/jx3box/') -------------------------------------------------------------------------- -if not X.AssertVersion(MODULE_NAME, _L[MODULE_NAME], '^29.0.0') then +if not X.AssertVersion(MODULE_NAME, _L[MODULE_NAME], '^29.0.1') then return end --[[#DEBUG BEGIN]]X.ReportModuleLoading(MODULE_PATH, 'START')--[[#DEBUG END]] @@ -209,9 +209,10 @@ function D.UpdateMapBossAchieveAcquire() BOSS_ACHIEVE_ACQUIRE_STATE = tBossAchieveAcquireState end X.RegisterEvent('MY_RSS_UPDATE', 'MY_JBAchievementRank', function() - if not arg0 or arg0 == 'achievement-rank' then - D.UpdateMapBossAchieveAcquire() + if arg0 and arg0 ~= 'achievement-rank' then + return end + D.UpdateMapBossAchieveAcquire() end) X.RegisterEvent('LOADING_ENDING', 'MY_JBAchievementRank', D.UpdateMapBossAchieveAcquire) diff --git a/MY_TeamTools/src/MY_JBAchievementSync.lua b/MY_TeamTools/src/MY_JBAchievementSync.lua index c1622cf37..e3292c3ba 100644 --- a/MY_TeamTools/src/MY_JBAchievementSync.lua +++ b/MY_TeamTools/src/MY_JBAchievementSync.lua @@ -14,7 +14,7 @@ local PLUGIN_ROOT = X.PACKET_INFO.ROOT .. PLUGIN_NAME local MODULE_NAME = 'MY_JBAchievementSync' local _L = X.LoadLangPack(PLUGIN_ROOT .. '/lang/jx3box/') -------------------------------------------------------------------------- -if not X.AssertVersion(MODULE_NAME, _L[MODULE_NAME], '^29.0.0') then +if not X.AssertVersion(MODULE_NAME, _L[MODULE_NAME], '^29.0.1') then return end --[[#DEBUG BEGIN]]X.ReportModuleLoading(MODULE_PATH, 'START')--[[#DEBUG END]] diff --git a/MY_TeamTools/src/MY_JBBind.lua b/MY_TeamTools/src/MY_JBBind.lua index 8c32a7a5a..d24df30a1 100644 --- a/MY_TeamTools/src/MY_JBBind.lua +++ b/MY_TeamTools/src/MY_JBBind.lua @@ -14,7 +14,7 @@ local PLUGIN_ROOT = X.PACKET_INFO.ROOT .. PLUGIN_NAME local MODULE_NAME = 'MY_JBBind' local _L = X.LoadLangPack(PLUGIN_ROOT .. '/lang/jx3box/') -------------------------------------------------------------------------- -if not X.AssertVersion(MODULE_NAME, _L[MODULE_NAME], '^29.0.0') then +if not X.AssertVersion(MODULE_NAME, _L[MODULE_NAME], '^29.0.1') then return end --[[#DEBUG BEGIN]]X.ReportModuleLoading(MODULE_PATH, 'START')--[[#DEBUG END]] diff --git a/MY_TeamTools/src/MY_JBEventVote.lua b/MY_TeamTools/src/MY_JBEventVote.lua index fa0887670..f38dd9ae2 100644 --- a/MY_TeamTools/src/MY_JBEventVote.lua +++ b/MY_TeamTools/src/MY_JBEventVote.lua @@ -14,7 +14,7 @@ local PLUGIN_ROOT = X.PACKET_INFO.ROOT .. PLUGIN_NAME local MODULE_NAME = 'MY_TeamTools' local _L = X.LoadLangPack(PLUGIN_ROOT .. '/lang/jx3box/') -------------------------------------------------------------------------- -if not X.AssertVersion(MODULE_NAME, _L[MODULE_NAME], '^29.0.0') then +if not X.AssertVersion(MODULE_NAME, _L[MODULE_NAME], '^29.0.1') then return end --[[#DEBUG BEGIN]]X.ReportModuleLoading(MODULE_PATH, 'START')--[[#DEBUG END]] diff --git a/MY_TeamTools/src/MY_JBLoverSync.lua b/MY_TeamTools/src/MY_JBLoverSync.lua index 1483024d7..3bb208e58 100644 --- a/MY_TeamTools/src/MY_JBLoverSync.lua +++ b/MY_TeamTools/src/MY_JBLoverSync.lua @@ -14,7 +14,7 @@ local PLUGIN_ROOT = X.PACKET_INFO.ROOT .. PLUGIN_NAME local MODULE_NAME = 'MY_JBLoverSync' local _L = X.LoadLangPack(PLUGIN_ROOT .. '/lang/jx3box/') -------------------------------------------------------------------------- -if not X.AssertVersion(MODULE_NAME, _L[MODULE_NAME], '^29.0.0') then +if not X.AssertVersion(MODULE_NAME, _L[MODULE_NAME], '^29.0.1') then return end --[[#DEBUG BEGIN]]X.ReportModuleLoading(MODULE_PATH, 'START')--[[#DEBUG END]] diff --git a/MY_TeamTools/src/MY_JBTeam.lua b/MY_TeamTools/src/MY_JBTeam.lua index ccc6470c3..e130b8ecd 100644 --- a/MY_TeamTools/src/MY_JBTeam.lua +++ b/MY_TeamTools/src/MY_JBTeam.lua @@ -14,7 +14,7 @@ local PLUGIN_ROOT = X.PACKET_INFO.ROOT .. PLUGIN_NAME local MODULE_NAME = 'MY_JBBind' local _L = X.LoadLangPack(PLUGIN_ROOT .. '/lang/jx3box/') -------------------------------------------------------------------------- -if not X.AssertVersion(MODULE_NAME, _L[MODULE_NAME], '^29.0.0') then +if not X.AssertVersion(MODULE_NAME, _L[MODULE_NAME], '^29.0.1') then return end --[[#DEBUG BEGIN]]X.ReportModuleLoading(MODULE_PATH, 'START')--[[#DEBUG END]] diff --git a/MY_TeamTools/src/MY_JBTeamSnapshot.lua b/MY_TeamTools/src/MY_JBTeamSnapshot.lua index e0bd1d889..56793df35 100644 --- a/MY_TeamTools/src/MY_JBTeamSnapshot.lua +++ b/MY_TeamTools/src/MY_JBTeamSnapshot.lua @@ -14,7 +14,7 @@ local PLUGIN_ROOT = X.PACKET_INFO.ROOT .. PLUGIN_NAME local MODULE_NAME = 'MY_JBBind' local _L = X.LoadLangPack(PLUGIN_ROOT .. '/lang/jx3box/') -------------------------------------------------------------------------- -if not X.AssertVersion(MODULE_NAME, _L[MODULE_NAME], '^29.0.0') then +if not X.AssertVersion(MODULE_NAME, _L[MODULE_NAME], '^29.0.1') then return end --[[#DEBUG BEGIN]]X.ReportModuleLoading(MODULE_PATH, 'START')--[[#DEBUG END]] diff --git a/MY_TeamTools/src/MY_PartyRequest.lua b/MY_TeamTools/src/MY_PartyRequest.lua index 2ac3b3ebe..88cf846c4 100644 --- a/MY_TeamTools/src/MY_PartyRequest.lua +++ b/MY_TeamTools/src/MY_PartyRequest.lua @@ -14,7 +14,7 @@ local PLUGIN_ROOT = X.PACKET_INFO.ROOT .. PLUGIN_NAME local MODULE_NAME = 'MY_TeamTools' local _L = X.LoadLangPack(PLUGIN_ROOT .. '/lang/') -------------------------------------------------------------------------- -if not X.AssertVersion(MODULE_NAME, _L[MODULE_NAME], '^29.0.0') then +if not X.AssertVersion(MODULE_NAME, _L[MODULE_NAME], '^29.0.1') then return end --[[#DEBUG BEGIN]]X.ReportModuleLoading(MODULE_PATH, 'START')--[[#DEBUG END]] diff --git a/MY_TeamTools/src/MY_RideRequest.lua b/MY_TeamTools/src/MY_RideRequest.lua index 13308b300..d4ee89594 100644 --- a/MY_TeamTools/src/MY_RideRequest.lua +++ b/MY_TeamTools/src/MY_RideRequest.lua @@ -14,7 +14,7 @@ local PLUGIN_ROOT = X.PACKET_INFO.ROOT .. PLUGIN_NAME local MODULE_NAME = 'MY_TeamTools' local _L = X.LoadLangPack(PLUGIN_ROOT .. '/lang/') -------------------------------------------------------------------------- -if not X.AssertVersion(MODULE_NAME, _L[MODULE_NAME], '^29.0.0') then +if not X.AssertVersion(MODULE_NAME, _L[MODULE_NAME], '^29.0.1') then return end --[[#DEBUG BEGIN]]X.ReportModuleLoading(MODULE_PATH, 'START')--[[#DEBUG END]] diff --git a/MY_TeamTools/src/MY_RoomRequest.lua b/MY_TeamTools/src/MY_RoomRequest.lua index 0350cf11d..b14e98787 100644 --- a/MY_TeamTools/src/MY_RoomRequest.lua +++ b/MY_TeamTools/src/MY_RoomRequest.lua @@ -14,7 +14,7 @@ local PLUGIN_ROOT = X.PACKET_INFO.ROOT .. PLUGIN_NAME local MODULE_NAME = 'MY_TeamTools' local _L = X.LoadLangPack(PLUGIN_ROOT .. '/lang/') -------------------------------------------------------------------------- -if not X.AssertVersion(MODULE_NAME, _L[MODULE_NAME], '^29.0.0') then +if not X.AssertVersion(MODULE_NAME, _L[MODULE_NAME], '^29.0.1') then return end --[[#DEBUG BEGIN]]X.ReportModuleLoading(MODULE_PATH, 'START')--[[#DEBUG END]] diff --git a/MY_TeamTools/src/MY_SocialRequest.lua b/MY_TeamTools/src/MY_SocialRequest.lua index de5d5e0f4..fd9e5d0b5 100644 --- a/MY_TeamTools/src/MY_SocialRequest.lua +++ b/MY_TeamTools/src/MY_SocialRequest.lua @@ -14,7 +14,7 @@ local PLUGIN_ROOT = X.PACKET_INFO.ROOT .. PLUGIN_NAME local MODULE_NAME = 'MY_TeamTools' local _L = X.LoadLangPack(PLUGIN_ROOT .. '/lang/') -------------------------------------------------------------------------- -if not X.AssertVersion(MODULE_NAME, _L[MODULE_NAME], '^29.0.0') then +if not X.AssertVersion(MODULE_NAME, _L[MODULE_NAME], '^29.0.1') then return end --[[#DEBUG BEGIN]]X.ReportModuleLoading(MODULE_PATH, 'START')--[[#DEBUG END]] diff --git a/MY_TeamTools/src/MY_TeamAD.lua b/MY_TeamTools/src/MY_TeamAD.lua index f60ee16ba..a00b584b7 100644 --- a/MY_TeamTools/src/MY_TeamAD.lua +++ b/MY_TeamTools/src/MY_TeamAD.lua @@ -14,7 +14,7 @@ local PLUGIN_ROOT = X.PACKET_INFO.ROOT .. PLUGIN_NAME local MODULE_NAME = 'MY_TeamAD' local _L = X.LoadLangPack(PLUGIN_ROOT .. '/lang/') -------------------------------------------------------------------------- -if not X.AssertVersion(MODULE_NAME, _L[MODULE_NAME], '^29.0.0') then +if not X.AssertVersion(MODULE_NAME, _L[MODULE_NAME], '^29.0.1') then return end --[[#DEBUG BEGIN]]X.ReportModuleLoading(MODULE_PATH, 'START')--[[#DEBUG END]] diff --git a/MY_TeamTools/src/MY_TeamCountdown.lua b/MY_TeamTools/src/MY_TeamCountdown.lua index 38dfcba23..6312c78d2 100644 --- a/MY_TeamTools/src/MY_TeamCountdown.lua +++ b/MY_TeamTools/src/MY_TeamCountdown.lua @@ -14,7 +14,7 @@ local PLUGIN_ROOT = X.PACKET_INFO.ROOT .. PLUGIN_NAME local MODULE_NAME = 'MY_TeamCountdown' local _L = X.LoadLangPack(PLUGIN_ROOT .. '/lang/') -------------------------------------------------------------------------- -if not X.AssertVersion(MODULE_NAME, _L[MODULE_NAME], '^29.0.0') then +if not X.AssertVersion(MODULE_NAME, _L[MODULE_NAME], '^29.0.1') then return end --[[#DEBUG BEGIN]]X.ReportModuleLoading(MODULE_PATH, 'START')--[[#DEBUG END]] diff --git a/MY_TeamTools/src/MY_TeamNotice.lua b/MY_TeamTools/src/MY_TeamNotice.lua index 08fde586a..f51739697 100644 --- a/MY_TeamTools/src/MY_TeamNotice.lua +++ b/MY_TeamTools/src/MY_TeamNotice.lua @@ -14,7 +14,7 @@ local PLUGIN_ROOT = X.PACKET_INFO.ROOT .. PLUGIN_NAME local MODULE_NAME = 'MY_TeamTools' local _L = X.LoadLangPack(PLUGIN_ROOT .. '/lang/') -------------------------------------------------------------------------- -if not X.AssertVersion(MODULE_NAME, _L[MODULE_NAME], '^29.0.0') then +if not X.AssertVersion(MODULE_NAME, _L[MODULE_NAME], '^29.0.1') then return end --[[#DEBUG BEGIN]]X.ReportModuleLoading(MODULE_PATH, 'START')--[[#DEBUG END]] diff --git a/MY_TeamTools/src/MY_TeamNoticeOfficial.lua b/MY_TeamTools/src/MY_TeamNoticeOfficial.lua index 055f86eee..e8460fc25 100644 --- a/MY_TeamTools/src/MY_TeamNoticeOfficial.lua +++ b/MY_TeamTools/src/MY_TeamNoticeOfficial.lua @@ -14,7 +14,7 @@ local PLUGIN_ROOT = X.PACKET_INFO.ROOT .. PLUGIN_NAME local MODULE_NAME = 'MY_TeamTools' local _L = X.LoadLangPack(PLUGIN_ROOT .. '/lang/') -------------------------------------------------------------------------- -if not X.AssertVersion(MODULE_NAME, _L[MODULE_NAME], '^29.0.0') then +if not X.AssertVersion(MODULE_NAME, _L[MODULE_NAME], '^29.0.1') then return end --[[#DEBUG BEGIN]]X.ReportModuleLoading(MODULE_PATH, 'START')--[[#DEBUG END]] diff --git a/MY_TeamTools/src/MY_TeamRestore.lua b/MY_TeamTools/src/MY_TeamRestore.lua index 18ab67cb3..84abc3a8e 100644 --- a/MY_TeamTools/src/MY_TeamRestore.lua +++ b/MY_TeamTools/src/MY_TeamRestore.lua @@ -14,7 +14,7 @@ local PLUGIN_ROOT = X.PACKET_INFO.ROOT .. PLUGIN_NAME local MODULE_NAME = 'MY_TeamRestore' local _L = X.LoadLangPack(PLUGIN_ROOT .. '/lang/') -------------------------------------------------------------------------- -if not X.AssertVersion(MODULE_NAME, _L[MODULE_NAME], '^29.0.0') then +if not X.AssertVersion(MODULE_NAME, _L[MODULE_NAME], '^29.0.1') then return end --[[#DEBUG BEGIN]]X.ReportModuleLoading(MODULE_PATH, 'START')--[[#DEBUG END]] diff --git a/MY_TeamTools/src/MY_TeamTools.PS.lua b/MY_TeamTools/src/MY_TeamTools.PS.lua index a51fcee21..fdaa0fc66 100644 --- a/MY_TeamTools/src/MY_TeamTools.PS.lua +++ b/MY_TeamTools/src/MY_TeamTools.PS.lua @@ -14,7 +14,7 @@ local PLUGIN_ROOT = X.PACKET_INFO.ROOT .. PLUGIN_NAME local MODULE_NAME = 'MY_TeamTools' local _L = X.LoadLangPack(PLUGIN_ROOT .. '/lang/') -------------------------------------------------------------------------- -if not X.AssertVersion(MODULE_NAME, _L[MODULE_NAME], '^29.0.0') then +if not X.AssertVersion(MODULE_NAME, _L[MODULE_NAME], '^29.0.1') then return end --[[#DEBUG BEGIN]]X.ReportModuleLoading(MODULE_PATH, 'START')--[[#DEBUG END]] diff --git a/MY_TeamTools/src/MY_TeamTools.lua b/MY_TeamTools/src/MY_TeamTools.lua index 1b5ff2d74..bb6f5ea60 100644 --- a/MY_TeamTools/src/MY_TeamTools.lua +++ b/MY_TeamTools/src/MY_TeamTools.lua @@ -14,7 +14,7 @@ local PLUGIN_ROOT = X.PACKET_INFO.ROOT .. PLUGIN_NAME local MODULE_NAME = 'MY_TeamTools' local _L = X.LoadLangPack(PLUGIN_ROOT .. '/lang/') -------------------------------------------------------------------------- -if not X.AssertVersion(MODULE_NAME, _L[MODULE_NAME], '^29.0.0') then +if not X.AssertVersion(MODULE_NAME, _L[MODULE_NAME], '^29.0.1') then return end --[[#DEBUG BEGIN]]X.ReportModuleLoading(MODULE_PATH, 'START')--[[#DEBUG END]] diff --git a/MY_TeamTools/src/MY_TeamTools_Achievement.lua b/MY_TeamTools/src/MY_TeamTools_Achievement.lua index 7f13fcab6..f12b6da8f 100644 --- a/MY_TeamTools/src/MY_TeamTools_Achievement.lua +++ b/MY_TeamTools/src/MY_TeamTools_Achievement.lua @@ -14,7 +14,7 @@ local PLUGIN_ROOT = X.PACKET_INFO.ROOT .. PLUGIN_NAME local MODULE_NAME = 'MY_TeamTools_Achievement' local _L = X.LoadLangPack(PLUGIN_ROOT .. '/lang/') -------------------------------------------------------------------------- -if not X.AssertVersion(MODULE_NAME, _L[MODULE_NAME], '^29.0.0') then +if not X.AssertVersion(MODULE_NAME, _L[MODULE_NAME], '^29.0.1') then return end --[[#DEBUG BEGIN]]X.ReportModuleLoading(MODULE_PATH, 'START')--[[#DEBUG END]] diff --git a/MY_TeamTools/src/MY_TeamTools_DeathLog.lua b/MY_TeamTools/src/MY_TeamTools_DeathLog.lua index c3b904dfd..4e8341723 100644 --- a/MY_TeamTools/src/MY_TeamTools_DeathLog.lua +++ b/MY_TeamTools/src/MY_TeamTools_DeathLog.lua @@ -14,7 +14,7 @@ local PLUGIN_ROOT = X.PACKET_INFO.ROOT .. PLUGIN_NAME local MODULE_NAME = 'MY_TeamTools_DeathLog' local _L = X.LoadLangPack(PLUGIN_ROOT .. '/lang/') -------------------------------------------------------------------------- -if not X.AssertVersion(MODULE_NAME, _L[MODULE_NAME], '^29.0.0') then +if not X.AssertVersion(MODULE_NAME, _L[MODULE_NAME], '^29.0.1') then return end --[[#DEBUG BEGIN]]X.ReportModuleLoading(MODULE_PATH, 'START')--[[#DEBUG END]] @@ -162,8 +162,8 @@ local function OnDeath(dwID, dwKiller) INFO_CACHE[dwID] = { szName = me.szName, dwForceID = me.dwForceID, - dwMountKungfuID = UI_GetPlayerMountKungfuID(), - dwActualMountKungfuID = UI_GetPlayerMountKungfuID(), + dwKungfuID = UI_GetPlayerMountKungfuID(), + dwActualKungfuID = UI_GetPlayerMountKungfuID(), } else local team = GetClientTeam() @@ -172,8 +172,8 @@ local function OnDeath(dwID, dwKiller) INFO_CACHE[dwID] = { szName = info.szName, dwForceID = info.dwForceID, - dwMountKungfuID = info.dwActualKungfuID, - dwActualMountKungfuID = info.dwActualKungfuID, + dwKungfuID = info.dwActualKungfuID, + dwActualKungfuID = info.dwActualKungfuID, } end end diff --git a/MY_TeamTools/src/MY_TeamTools_EnterMap.lua b/MY_TeamTools/src/MY_TeamTools_EnterMap.lua index af6b99b1d..14f30a9cd 100644 --- a/MY_TeamTools/src/MY_TeamTools_EnterMap.lua +++ b/MY_TeamTools/src/MY_TeamTools_EnterMap.lua @@ -14,7 +14,7 @@ local PLUGIN_ROOT = X.PACKET_INFO.ROOT .. PLUGIN_NAME local MODULE_NAME = 'MY_TeamTools_EnterMap' local _L = X.LoadLangPack(PLUGIN_ROOT .. '/lang/') -------------------------------------------------------------------------- -if not X.AssertVersion(MODULE_NAME, _L[MODULE_NAME], '^29.0.0') then +if not X.AssertVersion(MODULE_NAME, _L[MODULE_NAME], '^29.0.1') then return end --[[#DEBUG BEGIN]]X.ReportModuleLoading(MODULE_PATH, 'START')--[[#DEBUG END]] @@ -56,7 +56,7 @@ X.RegisterBgMsg('MY_ENTER_MAP', function(_, aData, nChannel, dwTalkerID, szTalke tInfoCache[dwTalkerID] = { szName = me.szName, dwForceID = me.dwForceID, - dwMountKungfuID = UI_GetPlayerMountKungfuID(), + dwKungfuID = UI_GetPlayerMountKungfuID(), } else local team = GetClientTeam() @@ -65,7 +65,7 @@ X.RegisterBgMsg('MY_ENTER_MAP', function(_, aData, nChannel, dwTalkerID, szTalke tInfoCache[dwTalkerID] = { szName = info.szName, dwForceID = info.dwForceID, - dwMountKungfuID = info.dwActualKungfuID, + dwKungfuID = info.dwActualKungfuID, } end end diff --git a/MY_TeamTools/src/MY_TeamTools_Summary.lua b/MY_TeamTools/src/MY_TeamTools_Summary.lua index 34511fb82..79884a8b4 100644 --- a/MY_TeamTools/src/MY_TeamTools_Summary.lua +++ b/MY_TeamTools/src/MY_TeamTools_Summary.lua @@ -14,7 +14,7 @@ local PLUGIN_ROOT = X.PACKET_INFO.ROOT .. PLUGIN_NAME local MODULE_NAME = 'MY_TeamTools_Summary' local _L = X.LoadLangPack(PLUGIN_ROOT .. '/lang/') -------------------------------------------------------------------------- -if not X.AssertVersion(MODULE_NAME, _L[MODULE_NAME], '^29.0.0') then +if not X.AssertVersion(MODULE_NAME, _L[MODULE_NAME], '^29.0.1') then return end --[[#DEBUG BEGIN]]X.ReportModuleLoading(MODULE_PATH, 'START')--[[#DEBUG END]] diff --git a/MY_TeamTools/src/MY_WorldMark.lua b/MY_TeamTools/src/MY_WorldMark.lua index 7e333f054..a169e0c77 100644 --- a/MY_TeamTools/src/MY_WorldMark.lua +++ b/MY_TeamTools/src/MY_WorldMark.lua @@ -15,7 +15,7 @@ local PLUGIN_ROOT = X.PACKET_INFO.ROOT .. PLUGIN_NAME local MODULE_NAME = 'MY_TeamTools' local _L = X.LoadLangPack(PLUGIN_ROOT .. '/lang/') -------------------------------------------------------------------------- -if not X.AssertVersion(MODULE_NAME, _L[MODULE_NAME], '^29.0.0') then +if not X.AssertVersion(MODULE_NAME, _L[MODULE_NAME], '^29.0.1') then return end --[[#DEBUG BEGIN]]X.ReportModuleLoading(MODULE_PATH, 'START')--[[#DEBUG END]] diff --git a/MY_TeamTools/src/MY_YunWorldMark.lua b/MY_TeamTools/src/MY_YunWorldMark.lua index 81ed7bb40..f19077f37 100644 --- a/MY_TeamTools/src/MY_YunWorldMark.lua +++ b/MY_TeamTools/src/MY_YunWorldMark.lua @@ -14,7 +14,7 @@ local PLUGIN_ROOT = X.PACKET_INFO.ROOT .. PLUGIN_NAME local MODULE_NAME = 'MY_YunWorldMark' local _L = X.LoadLangPack(PLUGIN_ROOT .. '/lang/') -------------------------------------------------------------------------- -if not X.AssertVersion(MODULE_NAME, _L[MODULE_NAME], '^29.0.0') then +if not X.AssertVersion(MODULE_NAME, _L[MODULE_NAME], '^29.0.1') then return end --[[#DEBUG BEGIN]]X.ReportModuleLoading(MODULE_PATH, 'START')--[[#DEBUG END]] diff --git a/MY_TeamTools/src/MY_YunWorldMark_Favorite.lua b/MY_TeamTools/src/MY_YunWorldMark_Favorite.lua index 49d6d2e8f..4d3c5b69d 100644 --- a/MY_TeamTools/src/MY_YunWorldMark_Favorite.lua +++ b/MY_TeamTools/src/MY_YunWorldMark_Favorite.lua @@ -14,7 +14,7 @@ local PLUGIN_ROOT = X.PACKET_INFO.ROOT .. PLUGIN_NAME local MODULE_NAME = 'MY_YunWorldMark' local _L = X.LoadLangPack(PLUGIN_ROOT .. '/lang/') -------------------------------------------------------------------------- -if not X.AssertVersion(MODULE_NAME, _L[MODULE_NAME], '^29.0.0') then +if not X.AssertVersion(MODULE_NAME, _L[MODULE_NAME], '^29.0.1') then return end --[[#DEBUG BEGIN]]X.ReportModuleLoading(MODULE_PATH, 'START')--[[#DEBUG END]] diff --git a/MY_TeamTools/src/MY_YunWorldMark_LocalData.lua b/MY_TeamTools/src/MY_YunWorldMark_LocalData.lua index 21265c152..7370a8d3b 100644 --- a/MY_TeamTools/src/MY_YunWorldMark_LocalData.lua +++ b/MY_TeamTools/src/MY_YunWorldMark_LocalData.lua @@ -14,7 +14,7 @@ local PLUGIN_ROOT = X.PACKET_INFO.ROOT .. PLUGIN_NAME local MODULE_NAME = 'MY_YunWorldMark' local _L = X.LoadLangPack(PLUGIN_ROOT .. '/lang/') -------------------------------------------------------------------------- -if not X.AssertVersion(MODULE_NAME, _L[MODULE_NAME], '^29.0.0') then +if not X.AssertVersion(MODULE_NAME, _L[MODULE_NAME], '^29.0.1') then return end --[[#DEBUG BEGIN]]X.ReportModuleLoading(MODULE_PATH, 'START')--[[#DEBUG END]] diff --git a/MY_TeamTools/src/MY_YunWorldMark_Subscribe.lua b/MY_TeamTools/src/MY_YunWorldMark_Subscribe.lua index 3e7122927..e679aa118 100644 --- a/MY_TeamTools/src/MY_YunWorldMark_Subscribe.lua +++ b/MY_TeamTools/src/MY_YunWorldMark_Subscribe.lua @@ -14,7 +14,7 @@ local PLUGIN_ROOT = X.PACKET_INFO.ROOT .. PLUGIN_NAME local MODULE_NAME = 'MY_YunWorldMark' local _L = X.LoadLangPack(PLUGIN_ROOT .. '/lang/') -------------------------------------------------------------------------- -if not X.AssertVersion(MODULE_NAME, _L[MODULE_NAME], '^29.0.0') then +if not X.AssertVersion(MODULE_NAME, _L[MODULE_NAME], '^29.0.1') then return end --[[#DEBUG BEGIN]]X.ReportModuleLoading(MODULE_PATH, 'START')--[[#DEBUG END]]