gmcp.tin 1.5 KB

12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152
  1. #nop GMCP 支持库;
  2. #nop vim: set filetype=tt:;
  3. /*
  4. 本文件属于 PaoTin++ 的一部分。
  5. PaoTin++ © 2020~2022 的所有版权均由担子炮(dzp <danzipao@gmail.com>) 享有并保留一切法律权利
  6. 你可以在遵照 GPLv3 协议的基础之上使用、修改及重新分发本程序。
  7. */
  8. load-lib telnet;
  9. load-lib event;
  10. event.Define {GMCP.Move} {无参} {$MODULE} {接收到 GMCP 移动信息,已更新 gGMCP[Move]};
  11. event.Define {GMCP.Status} {无参} {$MODULE} {接收到 GMCP 角色状态,已更新 gGMCP[Status]};
  12. event.Define {GMCP.Combat} {无参} {$MODULE} {接收到 GMCP 战斗信息,已更新 gGMCP[Combat]};
  13. event.Define {GMCP.Buff} {无参} {$MODULE} {接收到 GMCP BUFF状态,已更新 gGMCP[Buff]};
  14. #alias {gmcp.Enable} {
  15. #event {IAC WILL GMCP} {
  16. #send {$TELNET[IAC]$TELNET[DO]$TELNET[GMCP]\};
  17. };
  18. };
  19. #alias {gmcp.Handle} {
  20. #local key {%1};
  21. #local handler {%2};
  22. #line sub var #event {IAC SB GMCP $key IAC SE} {$handler};
  23. };
  24. #alias {gmcp.Subscribe} {
  25. gmcp.Handle GMCP.Move {
  26. #line sub escape #var gGMCP[Move] {%%0};
  27. #var gGMCP[Move] {$gGMCP[Move][1]};
  28. event.Emit GMCP.Move {};
  29. };
  30. gmcp.Handle GMCP.Status {
  31. #line sub escape #var gGMCP[Status] {%%0};
  32. event.Emit GMCP.Status {};
  33. };
  34. gmcp.Handle GMCP.Combat {
  35. #line sub escape #var gGMCP[Combat] {%%0};
  36. event.Emit GMCP.Combat {};
  37. };
  38. gmcp.Handle GMCP.Buff {
  39. #line sub escape #var gGMCP[Buff] {%%0};
  40. event.Emit GMCP.Buff {};
  41. };
  42. };