Advertisement
Guest User

Untitled

a guest
Aug 16th, 2017
74
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
C# 5.08 KB | None | 0 0
  1. using Sulakore.Modules;
  2. using System;
  3. using System.Collections.Generic;
  4. using System.ComponentModel;
  5. using System.Data;
  6. using System.Drawing;
  7. using System.Linq;
  8. using System.Text;
  9. using System.Threading.Tasks;
  10. using System.Windows.Forms;
  11. using Tangine;
  12. using Sulakore.Communication;
  13.  
  14. namespace Plunderer
  15. {
  16.     [Author("Scott Stamp", HabboName = "msie", Hotel = Sulakore.Habbo.HHotel.Com)]
  17.     [Module("Plunderer", "Automated pickall machine!")]
  18.     public partial class MainFrm : ExtensionForm
  19.     {
  20.         public override bool IsRemoteModule => true;
  21.  
  22.         private ushort NavigatorSearchResponse = 0, NavigatorSearchRequest = 0;
  23.         private ushort RoomLoadRequest = 0, FloorHeightMapMessage = 0, ChatSayRequest = 0,
  24.             RoomCategoryChangeMessage = 0;
  25.  
  26.         public MainFrm()
  27.         {
  28.             InitializeComponent();
  29.  
  30.             NavigatorSearchResponse = Game.GetMessageHeaders("3a4a3615a46c62f86c659dabbccf501b")[0];
  31.             NavigatorSearchRequest = Game.GetMessageHeaders("91ee4be6c3f86104540443a67f4094ea")[0];
  32.  
  33.             RoomLoadRequest = Game.GetMessageHeaders("54b3814d0718881388baab5268a619f3")[0];
  34.             FloorHeightMapMessage = Game.GetMessageHeaders("28b93d64f5126a5b304f088c384c974e")[0];
  35.             ChatSayRequest = Game.GetMessageHeaders("0112c940712e9061bdaa2b9581216551")[0];
  36.             RoomCategoryChangeMessage = Game.GetMessageHeaders("ad25a7e8fb8d4be89d5949451b2a2a5c")[0];
  37.  
  38.             Triggers.InAttach(RoomCategoryChangeMessage, (e) => e.IsBlocked = true);
  39.         }
  40.  
  41.         private void pickAllRoomsBtn_Click(object sender, EventArgs e)
  42.         {
  43.             Triggers.InAttach(NavigatorSearchResponse, NavigatorSearchResults);
  44.             Connection.SendToServerAsync(NavigatorSearchRequest, "my", "");
  45.  
  46.             pickAllRoomsBtn.Text = "Picking...";
  47.         }
  48.  
  49.         private void NavigatorSearchResults(DataInterceptedEventArgs e)
  50.         {
  51.             Triggers.InDetach(NavigatorSearchResponse);
  52.             var packet = e.Packet;
  53.             var rooms = new Dictionary<int, HabboRoom>();
  54.  
  55.             packet.SkipString();
  56.             packet.SkipString();
  57.  
  58.             int count = packet.ReadInteger();
  59.  
  60.             for (int i = 0; i < count; i++)
  61.             {
  62.                 string categoryName = packet.ReadString();
  63.                 string categoryText = packet.ReadString();
  64.                 packet.SkipInteger();
  65.                 packet.SkipBoolean();
  66.                 packet.SkipInteger();
  67.  
  68.                 int count2 = packet.ReadInteger();
  69.                 for (int i2 = 0; i2 < count2; i2++)
  70.                 {
  71.                     int flatId = packet.ReadInteger();
  72.                     string roomName = packet.ReadString();
  73.                     packet.SkipInteger();
  74.                     string ownerName = packet.ReadString();
  75.                     packet.SkipInteger();
  76.                     int userCount = packet.ReadInteger();
  77.                     int maxUsers = packet.ReadInteger();
  78.                     string description = packet.ReadString();
  79.                     packet.SkipInteger();
  80.                     int score = packet.ReadInteger();
  81.                     int ranking = packet.ReadInteger();
  82.                     packet.SkipInteger();
  83.  
  84.                     int count3 = packet.ReadInteger();
  85.                     for (int i3 = 0; i3 < count3; i3++)
  86.                         packet.SkipString();
  87.  
  88.                     int count4 = packet.ReadInteger();
  89.                     if ((count4 & 1) > 0)
  90.                         packet.SkipString();
  91.  
  92.                     if ((count4 & 2) > 0)
  93.                     {
  94.                         packet.SkipInteger();
  95.                         packet.SkipString();
  96.                         packet.SkipString();
  97.                     }
  98.  
  99.                     if ((count4 & 4) > 0)
  100.                     {
  101.                         packet.SkipString();
  102.                         packet.SkipString();
  103.                         packet.SkipInteger();
  104.                     }
  105.  
  106.                     //if (userCount > 0)
  107.                     if (!rooms.ContainsKey(flatId))
  108.                         rooms.Add(flatId, new HabboRoom(categoryName, categoryText, flatId, ownerName, roomName, description, userCount, maxUsers, score, ranking));
  109.                 }
  110.             }
  111.  
  112.             Task.Run(() =>
  113.             {
  114.                 foreach (var room in rooms)
  115.                 {
  116.                     Triggers.InAttach(FloorHeightMapMessage, RoomLoaded);
  117.                     Connection.SendToServerAsync(RoomLoadRequest, room.Key, "", -1);
  118.                     Task.Delay(2000).Wait();
  119.                 }
  120.  
  121.                 Invoke((MethodInvoker)delegate
  122.                 {
  123.                     pickAllRoomsBtn.Text = "Done!";
  124.                     Task.Delay(2000).Wait();
  125.                     pickAllRoomsBtn.Text = "Pick All Rooms";
  126.                 });
  127.             });
  128.         }
  129.  
  130.         private void RoomLoaded(DataInterceptedEventArgs e)
  131.         {
  132.             Connection.SendToServerAsync(ChatSayRequest, ":pickall", 0, -1);
  133.             Triggers.InDetach(FloorHeightMapMessage);
  134.         }
  135.     }
  136. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement