ModuleRank.cs 2.8 KB

12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061626364656667686970717273747576777879808182
  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 ModuleRank : BotRunner.RunnerModule
  12. {
  13. List<int> Kinds = new List<int>();
  14. public ModuleRank(BotRunner r) : base(r)
  15. {
  16. Kinds = new List<int>();
  17. Kinds.Add(101); // 战力本服榜
  18. Kinds.Add(102); // 战力苍狼榜
  19. Kinds.Add(103); // 战力御剑榜
  20. Kinds.Add(104); // 战力逸仙榜
  21. Kinds.Add(105); // 战力神箭榜
  22. Kinds.Add(106); // 战力灵狐榜
  23. Kinds.Add(200); // 本服等级榜
  24. Kinds.Add(300); // 仙盟等级榜
  25. Kinds.Add(400); // 仙盟盟战榜
  26. Kinds.Add(500); // 本服坐骑榜
  27. Kinds.Add(600); // 本服宠物榜
  28. Kinds.Add(1003); // 试炼大赛
  29. Kinds.Add(2006); // 问道大会资历榜
  30. Kinds.Add(2009); // 五岳一战
  31. }
  32. protected internal override void OnGateBindPlayer(BindPlayerResponse e)
  33. {
  34. base.OnGateBindPlayer(e);
  35. }
  36. protected internal override void OnBattleActorReady(CommonAI.ZoneClient.ZoneLayer layer, CommonAI.ZoneClient.ZoneActor actor)
  37. {
  38. layer.AddTimeDelayMS(Config.CheckIntervalMS, (t) =>
  39. {
  40. if (Enable)
  41. {
  42. }
  43. });
  44. layer.AddTimePeriodicMS(Config.CheckIntervalMS, (t) =>
  45. {
  46. if (Enable)
  47. {
  48. try_get_rank_list();
  49. }
  50. });
  51. }
  52. private void try_get_rank_list()
  53. {
  54. int randValue = bot.Random.Next(0, Kinds.Count);
  55. int rankSeason = -1;
  56. // 五岳一战新添赛季随机赛季类型
  57. if (2009 == Kinds[randValue]) {
  58. rankSeason = bot.Random.Next(0, 2); // 根据协议,随机生成赛季参数
  59. }
  60. //Console.WriteLine("rankType:-->>{0} rankSeason:---->>{1}", Kinds[randValue], rankSeason);
  61. client.GameSocket.leaderBoardHandler.leaderBoardRequest(Kinds[randValue],rankSeason,
  62. (err, rsp) =>
  63. { });
  64. }
  65. [Desc("排行榜配置")]
  66. [Expandable]
  67. public class Config
  68. {
  69. [Desc("排行榜检测间隔")]
  70. public static int CheckIntervalMS = 5000;
  71. public override string ToString()
  72. {
  73. return "排行榜配置";
  74. }
  75. }
  76. }
  77. }