ModuleExchange.cs 2.0 KB

12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061626364656667686970717273
  1. using System;
  2. using System.Collections.Generic;
  3. using System.Linq;
  4. using System.Text;
  5. using System.Threading.Tasks;
  6. using pomelo.connector;
  7. using CommonLang.Property;
  8. using pomelo.area;
  9. namespace XmdsBotTest.Runner
  10. {
  11. public class ModuleExchange : BotRunner.RunnerModule
  12. {
  13. List<label> LabelList;
  14. public ModuleExchange(BotRunner r) : base(r)
  15. {
  16. }
  17. protected internal override void OnGateBindPlayer(BindPlayerResponse e)
  18. {
  19. base.OnGateBindPlayer(e);
  20. try_get_exchange_label();
  21. }
  22. protected internal override void OnBattleActorReady(CommonAI.ZoneClient.ZoneLayer layer, CommonAI.ZoneClient.ZoneActor actor)
  23. {
  24. layer.AddTimeDelayMS(Config.CheckIntervalMS, (t) =>
  25. {
  26. if (Enable)
  27. {
  28. }
  29. });
  30. layer.AddTimePeriodicMS(Config.CheckIntervalMS, (t) =>
  31. {
  32. if (Enable)
  33. {
  34. try_get_exchange_list();
  35. }
  36. });
  37. }
  38. private void try_get_exchange_list()
  39. {
  40. if (LabelList != null)
  41. {
  42. int randValue = bot.Random.Next(0, LabelList.Count - 1);
  43. client.GameSocket.exchangeHandler.getExchangeListRequest(
  44. "1000120501", LabelList[randValue].typeId, (err, rsp) =>
  45. { });
  46. }
  47. }
  48. private void try_get_exchange_label()
  49. {
  50. client.GameSocket.exchangeHandler.getExchangeLabelRequest(
  51. "1000120501", (err, rsp) =>
  52. {
  53. LabelList = rsp.s2c_labelList;
  54. });
  55. }
  56. [Desc("兑换配置")]
  57. [Expandable]
  58. public class Config
  59. {
  60. [Desc("兑换检测间隔")]
  61. public static int CheckIntervalMS = 5000;
  62. public override string ToString()
  63. {
  64. return "兑换配置";
  65. }
  66. }
  67. }
  68. }