ModuleGuild.cs 2.7 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990
  1. using System.Linq;
  2. using pomelo.connector;
  3. using CommonLang.Reflection;
  4. namespace ZeusBotTest.Runner
  5. {
  6. public class ModuleGuild : BotRunner.RunnerModule
  7. {
  8. string nameList = "abcdefghijklmnopqrstuvwsyzABCDEFGHIJKLMNOPQRSTUVWXYZ1234567890";
  9. public ModuleGuild(BotRunner r) : base(r)
  10. {
  11. }
  12. protected internal override void OnGateBindPlayer(BindPlayerResponse e)
  13. {
  14. base.OnGateBindPlayer(e);
  15. }
  16. protected internal override void OnBattleActorReady(CommonAI.ZoneClient.ZoneLayer layer, CommonAI.ZoneClient.ZoneActor actor)
  17. {
  18. layer.AddTimeDelayMS(Config.CheckIntervalMS, (t) =>
  19. {
  20. if (Enable)
  21. {
  22. try_get_guild_list();
  23. try_get_guild_member_list();
  24. try_get_guild_depot_list();
  25. }
  26. });
  27. layer.AddTimePeriodicMS(Config.CheckIntervalMS, (t) =>
  28. {
  29. if (Enable)
  30. {
  31. }
  32. });
  33. }
  34. private void try_get_guild_list()
  35. {
  36. client.GameSocket.guildHandler.getGuildListRequest("",
  37. (err, rsp) =>
  38. {
  39. if (30 > rsp.s2c_guildList.Count)
  40. {
  41. client.GameSocket.guildHandler.createGuildRequest("111", get_rand_name(), "1",
  42. (err1, rsp1) => { });
  43. }
  44. });
  45. }
  46. private string get_rand_name()
  47. {
  48. string name = "";
  49. for (int j = 0; j < 6; j++)
  50. {
  51. int randChar = bot.Random.Next(0, nameList.Count() - 1);
  52. name += nameList[randChar];
  53. }
  54. return name;
  55. }
  56. private void try_get_guild_member_list()
  57. {
  58. client.GameSocket.guildHandler.getMyGuildMembersRequest(
  59. (err, rsp) =>
  60. { });
  61. }
  62. private void try_get_guild_depot_list()
  63. {
  64. client.GameSocket.guildManagerHandler.getDepotInfoRequest(
  65. (err, rsp) =>
  66. { });
  67. }
  68. [Desc("公会配置")]
  69. [Expandable]
  70. public class Config
  71. {
  72. [Desc("公会检测间隔")]
  73. public static int CheckIntervalMS = 5000;
  74. public override string ToString()
  75. {
  76. return "公会配置";
  77. }
  78. }
  79. }
  80. }