ModuleGuild.cs 2.9 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103
  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 ModuleGuild : BotRunner.RunnerModule
  12. {
  13. string nameList = "abcdefghijklmnopqrstuvwsyzABCDEFGHIJKLMNOPQRSTUVWXYZ1234567890";
  14. public ModuleGuild() {
  15. module_name = "公会";
  16. }
  17. public ModuleGuild(BotRunner r) : base(r)
  18. {
  19. }
  20. protected internal override void OnGateBindPlayer(BindPlayerResponse e)
  21. {
  22. base.OnGateBindPlayer(e);
  23. }
  24. protected internal override void OnBattleActorReady(CommonAI.ZoneClient.ZoneLayer layer, CommonAI.ZoneClient.ZoneActor actor)
  25. {
  26. layer.AddTimeDelayMS(Config.CheckIntervalMS, (t) =>
  27. {
  28. if (Enable)
  29. {
  30. try_get_guild_list();
  31. try_get_guild_member_list();
  32. try_get_guild_depot_list();
  33. }
  34. });
  35. layer.AddTimePeriodicMS(Config.CheckIntervalMS, (t) =>
  36. {
  37. if (Enable)
  38. {
  39. }
  40. });
  41. }
  42. private void try_get_guild_list()
  43. {
  44. client.GameSocket.guildHandler.getGuildListRequest("",
  45. (err, rsp) =>
  46. {
  47. if (30 > rsp.s2c_guildList.Count)
  48. {
  49. client.GameSocket.guildHandler.createGuildRequest("111", get_rand_name(), "1",
  50. (err1, rsp1) => { });
  51. }
  52. });
  53. }
  54. private string get_rand_name()
  55. {
  56. string name = "";
  57. for (int j = 0; j < 6; j++)
  58. {
  59. int randChar = bot.Random.Next(0, nameList.Count() - 1);
  60. name += nameList[randChar];
  61. }
  62. return name;
  63. }
  64. private void try_get_guild_member_list()
  65. {
  66. client.GameSocket.guildHandler.getMyGuildMembersRequest(
  67. (err, rsp) =>
  68. { });
  69. }
  70. private void try_get_guild_depot_list()
  71. {
  72. client.GameSocket.guildManagerHandler.getDepotInfoRequest(
  73. (err, rsp) =>
  74. { });
  75. }
  76. [Desc("公会配置")]
  77. [Expandable]
  78. public class Config : ConfigBase
  79. {
  80. [Desc("公会检测间隔")]
  81. public static int CheckIntervalMS = 5000;
  82. public override string ToString()
  83. {
  84. return "公会配置";
  85. }
  86. public override void popG2DPropertyDialog()
  87. {
  88. CommonFroms.G2D.G2DPropertyDialog<ModuleGuild.Config>.Show("修改配置", this);
  89. }
  90. }
  91. }
  92. }