PCFastKey.lua 19 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324325326327328329330331332333334335336337338339340341342343344345346347348349350351352353354355356357358359360361362363364365366367368369370371372373374375376377378379380381382383384385386387388389390391392393394395396397398399400401402403404405406407408409410411412413414415416417418419420421422423424425426427428429430431432433434435436437438439440441442443444445446447448449450451452453454455456457458459460461462463464465466467468469470471472473474475476477478479480481482483484485486487488489490491492493494495496497498499500501502503504505506507508509510511512513514515516517518519520521522523524525526527528529530531532533534535536537538539540541542543544545546547548549550551552553554555556557558559560561562563564565566567568569570571572573574575576577578579580581582583584585586587588589590591592593594595596597598599600601602603604605606607608609610611612613614615616617618619620621622623624625626627628629630631632633634635636637
  1. ---@class EPCFastKeyCodeType
  2. EPCFastKeyCodeType = {
  3. UIOpen = 1,---开启界面
  4. SetTurn = 2,---开关控制
  5. }
  6. ---@class PCFastKey
  7. PCFastKey=class()
  8. local this = PCFastKey
  9. local KeyCode=CS.UnityEngine.KeyCode
  10. local ACStr
  11. local CheckCtrl=false
  12. local KeyTb={
  13. ['B']=KeyCode.B,
  14. ['C']=KeyCode.C,
  15. ['E']=KeyCode.E,
  16. ['G']=KeyCode.G,
  17. ['I']=KeyCode.I,
  18. ['J']=KeyCode.J,
  19. ['O']=KeyCode.O,
  20. ['M']=KeyCode.M,
  21. ['U']=KeyCode.U,
  22. ['V']=KeyCode.V,
  23. ['E']=KeyCode.E,
  24. ['H']=KeyCode.H,
  25. ['K']=KeyCode.K,
  26. ['M']=KeyCode.M,
  27. ['P']=KeyCode.P,
  28. ['Q']=KeyCode.Q,
  29. ['R']=KeyCode.R,
  30. ['S'] =KeyCode.S,
  31. ['T']=KeyCode.T,
  32. ['W']=KeyCode.W,
  33. ['X']=KeyCode.X,
  34. ['Z']=KeyCode.Z,
  35. ['Alpha1']= KeyCode.Alpha1,
  36. ['Alpha2']= KeyCode.Alpha2,
  37. ['Alpha3']= KeyCode.Alpha3,
  38. ['Alpha4']= KeyCode.Alpha4,
  39. ['Alpha5']= KeyCode.Alpha5,
  40. ['F1']=KeyCode.F1,
  41. ['F7']=KeyCode.F7,
  42. ['F8']=KeyCode.F8,
  43. ['F9']=KeyCode.F9,
  44. ['F10']=KeyCode.F10,
  45. ['F11']=KeyCode.F11,
  46. ['F12']=KeyCode.F12,
  47. ['Up']=KeyCode.UpArrow,
  48. ['Down']=KeyCode.DownArrow,
  49. ['ESC']=KeyCode.Escape,
  50. ['Tab']=KeyCode.Tab,
  51. ['Pause']=KeyCode.Pause,
  52. ['LeftShift']=KeyCode.LeftShift,
  53. ['RightShift']=KeyCode.RightShift,
  54. ['Enter']=KeyCode.Return,
  55. }
  56. function PCFastKey.Init()
  57. PCFastKey.GetCfgKeyCode()
  58. PCFastKey.KeyEvent = {
  59. --['E']=PCFastKey.OpenEmail,--打开邮件
  60. --
  61. ['M']=PCFastKey.OpenBigMap,--显示自动寻路窗口
  62. --['R']=PCFastKey.OpenRank,--打开排行榜
  63. --['P']=PCFastKey.OpenMarry,--打开婚姻界面
  64. --['T']=PCFastKey.SendTrade,--发送交易请求
  65. --['X']=PCFastKey.JoinSociaty,--加入行会
  66. --['Z']=PCFastKey.SelectSociaty,--打开行会选择
  67. ['Q']=PCFastKey.FastUseItemQ,--快捷使用Q
  68. ['W']=PCFastKey.FastUseItemW,--快捷使用W
  69. ['E']=PCFastKey.FastUseItemE,--快捷使用E
  70. ['R']=PCFastKey.FastUseItemR,--快捷使用R
  71. --['V']=PCFastKey.OpenBag,--打开背包
  72. ['F7']=PCFastKey.OpenHookSetting,--打开挂机设置
  73. ['F8']=PCFastKey.TurnAutoFight,--切换自动挂机
  74. ['Tab']=PCFastKey.OpenBigMap,--打开大地图
  75. ['Enter']=PCFastKey.OpenChatUI,--打开聊天
  76. ['ESC']=PCFastKey.CheckNeedOpenSet,--是否需要打开设置
  77. ['LeftShift']=PCFastKey.ChangeMoveState,--切换禁止移动
  78. ['RightShift']=PCFastKey.ChangeMoveState,--切换禁止移动
  79. --['F10']=PCFastKey.OpenPlayer,--打开角色窗口
  80. --['F11']=PCFastKey.OpenSkill,--打开技能窗口
  81. --['F12']=PCFastKey.OpenSup,--打开辅助窗口
  82. --
  83. --
  84. --['Pause']=PCFastKey.Screenshots,--截图
  85. --['CtrlB']=PCFastKey.OpenShop,--打开商铺
  86. --['CtrlE']=PCFastKey.ChangeState,--切换状态
  87. --['CtrlH']=PCFastKey.ChangeAtk,--选择攻击模式
  88. --['CtrlQ']=PCFastKey.ChangeDef,--开启关闭守护状态
  89. --['CtrlS']=PCFastKey.UseTeamSkill,--使用合击技能
  90. --['CtrlM']=PCFastKey.RideHorse,--上马
  91. --['CtrlZ']=PCFastKey.ShowGoodNames,--显示物品名称
  92. --
  93. --['AltQ']=PCFastKey.QuitGame,--退出游戏
  94. --['AltR']=PCFastKey.RefuseBag,--刷新背包
  95. --['AltW']=PCFastKey.QuikTeam,--快速组队
  96. --['AltX']=PCFastKey.BackToChoose,--返回角色选择界面
  97. --
  98. ['Alpha1']=PCFastKey.ChangeEquipSkill1,--将已装备的技能设置为1
  99. ['Alpha2']=PCFastKey.ChangeEquipSkill2,--将已装备的技能设置为1
  100. ['Alpha3']=PCFastKey.ChangeEquipSkill3,--将已装备的技能设置为1
  101. ['Alpha4']=PCFastKey.ChangeEquipSkill4,--将已装备的技能设置为1
  102. ['Alpha5']=PCFastKey.ChangeEquipSkill5,--将已装备的技能设置为1
  103. ['CtrlAlpha1']=PCFastKey.ChangeSkill1,--更换技能1
  104. ['CtrlAlpha2']=PCFastKey.ChangeSkill2,--更换技能2
  105. ['CtrlAlpha3']=PCFastKey.ChangeSkill3,--更换技能3
  106. ['CtrlAlpha4']=PCFastKey.ChangeSkill4,--更换技能4
  107. ['CtrlAlpha5']=PCFastKey.ChangeSkill5,--更换技能5
  108. }
  109. PCFastKey.InputKeyEvent={
  110. ['Up']=PCFastKey.LookUpMessage,
  111. ['Down']=PCFastKey.LookDownMessage,
  112. }
  113. --this.OneKey()
  114. end
  115. ---获取配表的按键列表
  116. function PCFastKey.GetCfgKeyCode()
  117. ---操作ui面板的快捷键
  118. PCFastKey.CfgUIKeyCodeList={}
  119. ---ESC按钮,特殊key
  120. PCFastKey.escSystemKey=0
  121. ---其他功能的快捷键
  122. --PCFastKey.CfgTurnKeyCodeList={}
  123. --KeyTb={}
  124. if SL:GetConfigTable("cfg_shortcutKey") then
  125. ---@param v cfg_shortcutKey_column
  126. for i, v in ipairs(SL:GetConfigTable("cfg_shortcutKey")) do
  127. if v.shortcutKey=="ESC" then
  128. PCFastKey.escSystemKey=v.system
  129. end
  130. ---多键
  131. if string.contains(v.shortcutKey,"#") then
  132. local keyList=string.split(v.shortcutKey,"#")
  133. for index = 1, table.count(keyList) do
  134. --KeyTb[keyList[index]]= System.Enum.Parse(typeof(KeyCode), keyList[index].ToString())
  135. if v.type==EPCFastKeyCodeType.UIOpen then
  136. PCFastKey.CfgUIKeyCodeList[keyList[index]]=v.system
  137. end
  138. end
  139. else
  140. ---单键
  141. --KeyTb[v.shortcutKey]= System.Enum.Parse(typeof(KeyCode), keyList[index].ToString())
  142. if v.type==EPCFastKeyCodeType.UIOpen then
  143. PCFastKey.CfgUIKeyCodeList[v.shortcutKey]=v.system
  144. end
  145. end
  146. end
  147. end
  148. end
  149. function PCFastKey.Update()
  150. if not PCSkillInfoMgr.mainUIShow then
  151. return
  152. end
  153. PCFastKey.CheckInput()
  154. end
  155. function PCFastKey.CheckInput()
  156. if Input.GetKey(KeyCode.LeftControl) or Input.GetKey(KeyCode.RightControl) then
  157. ACStr='Ctrl'
  158. CheckCtrl=true
  159. elseif Input.GetKey(KeyCode.LeftAlt) or Input.GetKey(KeyCode.RightAlt) then
  160. ACStr='Alt'
  161. CheckCtrl=true
  162. else
  163. CheckCtrl=false
  164. end
  165. if CheckCtrl then
  166. PCFastKey.TwoKey()
  167. else
  168. PCFastKey.OneKey()
  169. end
  170. end
  171. function PCFastKey.OneKey()
  172. for i,v in pairs(KeyTb) do
  173. if Input.GetKeyDown(v) then
  174. if PCFastKey.KeyEvent[tostring(i)] or PCFastKey.CfgUIKeyCodeList[tostring(i)] then
  175. if Misc.IsFocusOnInputText()==false then
  176. if PCFastKey.CfgUIKeyCodeList[tostring(i)] then
  177. local isOpenUI= PCFastKey.OpenSystemUI(PCFastKey.CfgUIKeyCodeList[tostring(i)]);
  178. if isOpenUI then
  179. return
  180. end
  181. end
  182. PCFastKey.KeyEvent[tostring(i)]()
  183. end
  184. --elseif Misc.IsFocusOnInputText() then
  185. -- if PCFastKey.InputKeyEvent[tostring(i)] then
  186. -- PCFastKey.InputKeyEvent[tostring(i)]()
  187. -- end
  188. end
  189. end
  190. end
  191. end
  192. function PCFastKey.TwoKey()
  193. for i,v in pairs(KeyTb) do
  194. if Input.GetKeyDown(v) then
  195. if DebugFlag.LogEnable then
  196. log(ACStr..tostring(i))
  197. end
  198. if PCFastKey.KeyEvent[ACStr..tostring(i)] then
  199. if Misc.IsFocusOnInputText()==false then
  200. PCFastKey.KeyEvent[ACStr..tostring(i)]()
  201. end
  202. end
  203. end
  204. end
  205. end
  206. ---切换是否可移动状态
  207. function this.ChangeMoveState()
  208. if SL:GetMetaValue(EMetaVarGetKey.GET_CLICK_FLOOR_IS_SELECT) == EScreen.True then
  209. SL:SetMetaValue(EMetaVarSetKey.SET_IS_CLICK_FLOOR_MOVE,EScreen.False)
  210. else
  211. SL:SetMetaValue(EMetaVarSetKey.SET_IS_CLICK_FLOOR_MOVE,EScreen.True)
  212. end
  213. end
  214. ---打开挂机设置
  215. function this.OpenHookSetting()
  216. if not GUI:GetUI("dev/ui/Setting/Panel/KLHook/KLHookPanel") then
  217. -- GUI:UIPanel_Open("dev/ui/Setting/Panel/KLHook/KLHookPanel")
  218. KmlManager.HideAllKmlPanel()
  219. SL:OpenSettingPanel( ESettingType.OnHookTog)
  220. --SL:HideBigMap()
  221. SL.HideMainPanel()
  222. else
  223. --SL:ShowBigMap()
  224. GUI:UIPanel_Close("dev/ui/Setting/Panel/KLSettingToggle/KLSettingTogglePanel")
  225. GUI:UIPanel_Close("dev/ui/Setting/Panel/KLHook/KLHookPanel")
  226. end
  227. end
  228. ---快捷使用
  229. function this.FastUseItem(key)
  230. SL:onLUAEvent(LUA_EVENT_FastUseItem,{key=key})
  231. end
  232. function this.FastUseItemQ()
  233. this.FastUseItem(1)
  234. end
  235. function this.FastUseItemW()
  236. this.FastUseItem(2)
  237. end
  238. function this.FastUseItemE()
  239. this.FastUseItem(3)
  240. end
  241. function this.FastUseItemR()
  242. this.FastUseItem(4)
  243. end
  244. ---设置鼠标右键装备技能
  245. function this.ChangeEquipSkill(skillGrid)
  246. local skillId=0
  247. ---获取对应格子上的技能
  248. ---变身走另一套逻辑
  249. if InfoManager.shapeShiftCardInfo:isShiftMonster() then
  250. local shiftMonsterGroup = InfoManager.shapeShiftCardInfo.shiftMonsterGroup
  251. local shiftSkill = InfoManager.shapeShiftCardInfo.shiftSkill
  252. ---@type number[]
  253. local skills = shiftSkill[shiftMonsterGroup].unlockSkill
  254. local lockSkills = shiftSkill[shiftMonsterGroup].lockSkill
  255. local showSkills = {}
  256. local showSkillsLevel = {}
  257. for i, v in pairs(skills) do
  258. ---@type cfg_skill_column
  259. local skill = SL:GetConfig("cfg_skill", i)
  260. if skill.type == ECfgSkillType.Normal and skill.group == ESkillGroup.normal then
  261. showSkills[#showSkills + 1] = i
  262. showSkillsLevel[#showSkillsLevel + 1] = false
  263. end
  264. end
  265. for i, v in pairs(lockSkills) do
  266. ---@type cfg_skill_column
  267. local skill = SL:GetConfig("cfg_skill", i)
  268. if skill.type == ECfgSkillType.Normal and skill.group == ESkillGroup.normal then
  269. showSkills[#showSkills + 1] = i
  270. showSkillsLevel[#showSkillsLevel + 1] = true
  271. end
  272. end
  273. if showSkills[skillGrid] and showSkillsLevel[skillGrid] then
  274. skillId=showSkills[skillGrid]
  275. end
  276. else
  277. local showSkills = SL:GetMetaValue(EMetaVarGetKey.SKILL_SHOW_LIST)
  278. skillId=showSkills[skillGrid]
  279. end
  280. ---空技能点击无反应
  281. if skillId == 0 then
  282. return
  283. end
  284. ---点击之后将右键技能设置为该技能
  285. LoginManager.selectSkillId:Set(skillId)
  286. ---抛出技能改变事件,用于刷新
  287. SL:onLUAEvent(LUA_EVENT_SelectSkill_Change)
  288. end
  289. function this.ChangeEquipSkill1()
  290. this.ChangeEquipSkill(1)
  291. end
  292. function this.ChangeEquipSkill2()
  293. this.ChangeEquipSkill(2)
  294. end
  295. function this.ChangeEquipSkill3()
  296. this.ChangeEquipSkill(3)
  297. end
  298. function this.ChangeEquipSkill4()
  299. this.ChangeEquipSkill(4)
  300. end
  301. function this.ChangeEquipSkill5()
  302. this.ChangeEquipSkill(5)
  303. end
  304. ---切换设置快捷技能
  305. function this.ChangeSkill1()
  306. this.ChangeSkill(1)
  307. end
  308. function this.ChangeSkill2()
  309. this.ChangeSkill(2)
  310. end
  311. function this.ChangeSkill3()
  312. this.ChangeSkill(3)
  313. end
  314. function this.ChangeSkill4()
  315. this.ChangeSkill(4)
  316. end
  317. function this.ChangeSkill5()
  318. this.ChangeSkill(5)
  319. end
  320. function this.CheckNeedOpenSet()
  321. if SL.GetIsShowMainUI() then
  322. if ConfigManager.Exsit_cfg_system_switch( PCFastKey.escSystemKey) then
  323. local systemData=ConfigManager.Get_cfg_system_switch( PCFastKey.escSystemKey)
  324. local isMeet = SL:GetMetaValue(EMetaVarGetKey.IS_OPEN_SYSTEMFUNCTION,systemData.systemName)
  325. if isMeet then
  326. KmlManager.HideAllKmlPanel()
  327. EventManager.Dispatch(LUA_EVENT_OPENMAINSYSTEMFUNCTION,systemData.systemName)
  328. --GUI:UIPanel_Open("dev/ui/Bag/Panel/KLUIBag/KLUIBagPanel")
  329. else
  330. SL:TipMessage( "功能未开启", 1, NoticeType.NoticeMid )
  331. end
  332. end
  333. else
  334. KmlManager.HideAllKmlPanel()
  335. SL.ShowMainPanel()
  336. end
  337. end
  338. function this.ChangeSkill(gridNum)
  339. local showSkills = SL:GetMetaValue(EMetaVarGetKey.SKILL_SHOW_LIST)
  340. if PCSkillInfoMgr.nowKeyId ~= 0 and showSkills[gridNum] ~= PCSkillInfoMgr.nowKeyId and SL:GetMetaValue(EMetaVarGetKey.SKILL_CHECK_IS_LEARNED,PCSkillInfoMgr.nowKeyId) then
  341. showSkills[gridNum] = PCSkillInfoMgr.nowKeyId
  342. for i = 1, 8 do
  343. if i ~=gridNum and showSkills[i] ==PCSkillInfoMgr.nowKeyId then
  344. showSkills[i] = 0
  345. end
  346. end
  347. SL:SetMetaValue(EMetaVarSetKey.SKILL_SHOW_LIST, showSkills)
  348. --sl
  349. --self:ShowSkillIcon()
  350. SL:onLUAEvent(LUA_EVENT_REFRESH_ATTACK_SKILL)
  351. end
  352. end
  353. function PCFastKey.OpenBigMap()
  354. if GUI:GetUI("dev/ui/Map/Panel/KLBigMap/KLBigMapPanel") then
  355. SL:HideBigMap()
  356. --SL.ShowMainPanel()
  357. else
  358. KmlManager.HideAllKmlPanel()
  359. SL:ShowBigMap()
  360. end
  361. end
  362. function PCFastKey.OpenChatUI()
  363. if GUI:GetUI("dev/ui/Chat/Panel/KLUIChatPanel/KLUIChatPanel") then
  364. SL:CloseChatUI()
  365. SL.ShowMainPanel()
  366. else
  367. KmlManager.HideAllKmlPanel()
  368. SL:OpenChatUI()
  369. end
  370. end
  371. ---切换自动挂机
  372. function PCFastKey.TurnAutoFight()
  373. local onHookState = SL:GetMetaValue(EMetaVarGetKey.GET_ONHOOK_STATE)
  374. if onHookState == EAutoOnHookStatus.PauseOnHook then
  375. SL:StopOnHook(true)
  376. elseif onHookState == EAutoOnHookStatus.StopOnHook then
  377. SL:StartOnHook(true,true)
  378. elseif onHookState == EAutoOnHookStatus.OnHooking then
  379. SL:StopOnHook(true)
  380. end
  381. end
  382. ---@param systemId number @cfg_system表id
  383. function PCFastKey.OpenSystemUI(systemId)
  384. if ConfigManager.Exsit_cfg_system_switch(systemId) then
  385. local systemData=ConfigManager.Get_cfg_system_switch(systemId)
  386. local isMeet = SL:GetMetaValue(EMetaVarGetKey.IS_OPEN_SYSTEMFUNCTION,systemData.systemName)
  387. if isMeet then
  388. local tbl = cfg_MainPanelUI_post.GetSystemInfoBySystemId(systemData.systemName)
  389. if tbl and not string.isNullOrEmpty(tbl.command)then
  390. ---如果界面开着直接return
  391. if GUI:GetUI(tbl.command) then
  392. KmlManager.HideAllKmlPanel()
  393. return true
  394. end
  395. end
  396. KmlManager.HideAllKmlPanel()
  397. EventManager.Dispatch(LUA_EVENT_OPENMAINSYSTEMFUNCTION,systemData.systemName)
  398. --GUI:UIPanel_Open("dev/ui/Bag/Panel/KLUIBag/KLUIBagPanel")
  399. else
  400. SL:TipMessage( "功能未开启", 1, NoticeType.NoticeMid )
  401. end
  402. return true
  403. --return isMeet
  404. end
  405. return false
  406. --return false
  407. end
  408. --查看上一条消息
  409. function PCFastKey.LookUpMessage()
  410. if DebugFlag.LogEnable then
  411. log("查看上一条")
  412. end
  413. EventManager.Dispatch(Event.UpOrDownBtn,true)
  414. end
  415. --查看下一条消息
  416. function PCFastKey.LookDownMessage()
  417. if DebugFlag.LogEnable then
  418. log("查看下一条")
  419. end
  420. EventManager.Dispatch(Event.UpOrDownBtn,false)
  421. end
  422. --打开背包
  423. function PCFastKey.OpenBag()
  424. end
  425. --打开角色窗口
  426. function PCFastKey.OpenPlayer()
  427. end
  428. --打开技能窗口
  429. function PCFastKey.OpenSkill()
  430. end
  431. --打开辅助窗口
  432. function PCFastKey.OpenSup()
  433. PCFastKey.Command("!!退出行会")
  434. end
  435. --返回角色选择界面
  436. function PCFastKey.BackToChoose()
  437. PopUpWindowManager.CreateMessageTemplate({ { type = MessageUIControlType.Text, text = "你想退出到选择角色界面吗?"},
  438. { type = MessageUIControlType.Button, text = "确定", callback = LoginManager.LeaveGameToCreateRolePanel },
  439. { type = MessageUIControlType.Button, position = MessageUIControlPosition.LeftBottom, text = "取消", callback = nil} })
  440. end
  441. --退出游戏
  442. function PCFastKey.QuitGame()
  443. PopUpWindowManager.CreateMessageTemplate({ { type = MessageUIControlType.Text, text = "你想退出游戏吗?" },
  444. { type = MessageUIControlType.Button, text = "确定", callback = LoginManager.LeaveGame },
  445. { type = MessageUIControlType.Button, position = MessageUIControlPosition.LeftBottom, text = "取消", callback = nil} })
  446. end
  447. --截图
  448. function PCFastKey.Screenshots()
  449. end
  450. --打开婚姻
  451. function PCFastKey.OpenMarry()
  452. end
  453. --打开商铺
  454. function PCFastKey.OpenShop()
  455. end
  456. --上马
  457. function PCFastKey.RideHorse()
  458. end
  459. --选择攻击模式
  460. function PCFastKey.ChangeAtk()
  461. EventManager.Dispatch(Event.UI_ChangeAtk,nil)
  462. end
  463. --切换状态
  464. function PCFastKey.ChangeState()
  465. end
  466. --开启关闭守护状态
  467. function PCFastKey.ChangeDef()
  468. end
  469. --打开邮件
  470. function PCFastKey.OpenEmail()
  471. UIShowPanelByMessage:Show(SL.ReqGetMailListMessage,nil,MessageDef.ResMailListMessage,"UIEMailPanel")
  472. end
  473. --使用合击技能
  474. function PCFastKey.UseTeamSkill()
  475. end
  476. --打开排行榜
  477. function PCFastKey.OpenRank()
  478. end
  479. --显示自动寻路窗口
  480. function PCFastKey.ShowRoad()
  481. end
  482. --发送交易请求
  483. function PCFastKey.SendTrade()
  484. --发送交易请求
  485. SL:ReqTradeMessage(RoleManager.meData.id)
  486. end
  487. --加入行会
  488. function PCFastKey.JoinSociaty()
  489. end
  490. --打开行会选择界面
  491. function PCFastKey.SelectSociaty()
  492. end
  493. ---@type string
  494. function PCFastKey.Command(date)
  495. if date==nil then
  496. if DebugFlag.LogEnable then
  497. log(date)
  498. end
  499. return date
  500. end
  501. if PCFastKey.JudgeStrEqul(date,ShieldTypeString[ShieldType.PrivateChat]) then
  502. if DebugFlag.LogEnable then
  503. log(string.gsub(date,ShieldTypeString[ShieldType.PrivateChat],"[私聊]"))
  504. end
  505. return string.gsub(date,ShieldTypeString[ShieldType.PrivateChat],"[私聊]")
  506. elseif PCFastKey.JudgeStrEqul(date,ShieldTypeString[ShieldType.Propaganda]) then
  507. if string.sub(date,1,2)~=nil then
  508. if string.sub(date,1,2) ==ShieldTypeString[ShieldType.TeamChat] then
  509. if DebugFlag.LogEnable then
  510. log(string.gsub(date,ShieldTypeString[ShieldType.TeamChat],"[组队]"))
  511. end
  512. return string.gsub(date,ShieldTypeString[ShieldType.TeamChat],"[组队]")
  513. --return ShieldType.TeamChat
  514. elseif string.sub(date,1,2)== ShieldTypeString[ShieldType.UnionChat] then
  515. if DebugFlag.LogEnable then
  516. log(string.gsub(date,ShieldTypeString[ShieldType.UnionChat],"[行会]"))
  517. end
  518. return string.gsub(date,ShieldTypeString[ShieldType.UnionChat],"[行会]")
  519. --return ShieldType.UnionChat
  520. else
  521. if DebugFlag.LogEnable then
  522. log(string.gsub(date,ShieldTypeString[ShieldType.Propaganda],"[喊话]"))
  523. end
  524. return string.gsub(date,ShieldTypeString[ShieldType.Propaganda],"[喊话]")
  525. --return ShieldType.Propaganda
  526. end
  527. else
  528. if DebugFlag.LogEnable then
  529. log(string.gsub(date,ShieldTypeString[ShieldType.Propaganda],"[喊话]"))
  530. end
  531. return string.gsub(date,ShieldTypeString[ShieldType.Propaganda],"[喊话]")
  532. --return ShieldType.Propaganda
  533. end
  534. else
  535. if DebugFlag.LogEnable then
  536. log(date)
  537. end
  538. return date
  539. end
  540. end
  541. function PCFastKey.JudgeStrEqul(a,b)
  542. if #a<#b then
  543. return false
  544. end
  545. for i = 1, #b do
  546. if string.sub(a,1,i)~=string.sub(b,1,i) then
  547. return false
  548. end
  549. end
  550. return true
  551. end