RankWarn.cs 3.0 KB

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