gmcp.tin 1.9 KB

12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061626364656667686970
  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. #func {map.GMCP.Confirm} {
  22. #local move-success {@default{%1;true}};
  23. #local cmd {@ga.ThisCmd{}};
  24. #if { {$cmd} == {%s{l|look}{|\s+(.*)}%s} } {
  25. #replace cmd {^%s{l|look}{|\s+(.*)}%s$} {
  26. {cmd} {look}
  27. {exit} {@dir.Long{&4}}
  28. };
  29. #return {$cmd};
  30. };
  31. #if { @isTrue{$move-success} } {
  32. #while { &map.gmcp-move.tbc[] > 0 && @isFalse{$map.gmcp-move.tbc[1][成功]} } {
  33. #list map.gmcp-move.tbc delete 1;
  34. };
  35. };
  36. #if { &map.gmcp-move.tbc[] == 0 } {
  37. #local now {@time.Now{}};
  38. #if { $now < $map.missing-gmcp.lasttime + 60 * 5 } {
  39. errLog 发现 BUG,遇到了遗失先导 GMCP.Move 事件的行走反馈。;
  40. };
  41. #else {
  42. dbgLog map => 发现 BUG,遇到了遗失先导 GMCP.Move 事件的行走反馈。;
  43. };
  44. #var map.missing-gmcp.lasttime {$now};
  45. #return {
  46. {cmd} {$cmd}
  47. };
  48. };
  49. #local gmcp {$map.gmcp-move.tbc[1]};
  50. #list map.gmcp-move.tbc delete 1;
  51. #return {
  52. {cmd} {$cmd}
  53. {gmcp} {$gmcp}
  54. };
  55. };