gmcp.tin 2.0 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172
  1. #nop vim: set filetype=tt:;
  2. /*
  3. 本文件属于 PaoTin++ 的一部分
  4. ===========
  5. PaoTin++ © 2020~2023 的所有版权均由担子炮(dzp <danzipao@gmail.com>) 享有并保留一切法律权利
  6. 你可以在遵照 GPLv3 协议的基础之上使用、修改及重新分发本程序。
  7. ===========
  8. */
  9. VAR {未核销的 GMCP.Move 信息队列} {map.gmcp-move.tbc} {};
  10. event.HandleOnce {map/init} {map/gmcp} {map} {map.GMCP.TraceMove};
  11. #alias {map.GMCP.TraceMove} {
  12. event.Handle GMCP.Move {map/gmcp} {map} {map.GMCP.OnMove};
  13. };
  14. #alias {map.GMCP.StopTrace} {
  15. event.Handle GMCP.Move {map/gmcp} {map};
  16. };
  17. #alias {map.GMCP.OnMove} {
  18. #list map.gmcp-move.tbc add {{$gGMCP[Move]}};
  19. };
  20. VAR {上次遇到缺失 GMCP.Move 的行走反馈的时间} {map.missing-gmcp.lasttime} {@time.Now{}};
  21. VAR {是否提示 GMCP.Move BUG} {map.missing-gmcp.notify} {false};
  22. #func {map.GMCP.Confirm} {
  23. #local move-success {@default{%1;true}};
  24. #local cmd {@ga.ThisCmd{}};
  25. #if { {$cmd} == {%s{l|look}{|\s+(.*)}%s} } {
  26. #replace cmd {^%s{l|look}{|\s+(.*)}%s$} {
  27. {cmd} {look}
  28. {exit} {@dir.Long{&4}}
  29. };
  30. #return {$cmd};
  31. };
  32. #if { @isTrue{$move-success} } {
  33. #while { &map.gmcp-move.tbc[] > 0 && @isFalse{$map.gmcp-move.tbc[1][成功]} } {
  34. #list map.gmcp-move.tbc delete 1;
  35. };
  36. };
  37. #if { &map.gmcp-move.tbc[] == 0 } {
  38. #local now {@time.Now{}};
  39. #if { $now < $map.missing-gmcp.lasttime + 60 * 5 && @isTrue{$map.missing-gmcp.notify} } {
  40. errLog 发现 BUG,遇到了遗失先导 GMCP.Move 事件的行走反馈。;
  41. };
  42. #else {
  43. dbgLog map => 发现 BUG,遇到了遗失先导 GMCP.Move 事件的行走反馈。;
  44. };
  45. #var map.missing-gmcp.lasttime {$now};
  46. #return {
  47. {cmd} {$cmd}
  48. };
  49. };
  50. #local gmcp {$map.gmcp-move.tbc[1]};
  51. #list map.gmcp-move.tbc delete 1;
  52. #return {
  53. {cmd} {$cmd}
  54. {gmcp} {$gmcp}
  55. };
  56. };