Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- using Sulakore.Modules;
- using System;
- using System.Collections.Generic;
- using System.ComponentModel;
- using System.Data;
- using System.Drawing;
- using System.Linq;
- using System.Text;
- using System.Threading.Tasks;
- using System.Windows.Forms;
- using Tangine;
- using Sulakore.Communication;
- namespace Plunderer
- {
- [Author("Scott Stamp", HabboName = "msie", Hotel = Sulakore.Habbo.HHotel.Com)]
- [Module("Plunderer", "Automated pickall machine!")]
- public partial class MainFrm : ExtensionForm
- {
- public override bool IsRemoteModule => true;
- private ushort NavigatorSearchResponse = 0, NavigatorSearchRequest = 0;
- private ushort RoomLoadRequest = 0, FloorHeightMapMessage = 0, ChatSayRequest = 0,
- RoomCategoryChangeMessage = 0;
- public MainFrm()
- {
- InitializeComponent();
- NavigatorSearchResponse = Game.GetMessageHeaders("3a4a3615a46c62f86c659dabbccf501b")[0];
- NavigatorSearchRequest = Game.GetMessageHeaders("91ee4be6c3f86104540443a67f4094ea")[0];
- RoomLoadRequest = Game.GetMessageHeaders("54b3814d0718881388baab5268a619f3")[0];
- FloorHeightMapMessage = Game.GetMessageHeaders("28b93d64f5126a5b304f088c384c974e")[0];
- ChatSayRequest = Game.GetMessageHeaders("0112c940712e9061bdaa2b9581216551")[0];
- RoomCategoryChangeMessage = Game.GetMessageHeaders("ad25a7e8fb8d4be89d5949451b2a2a5c")[0];
- Triggers.InAttach(RoomCategoryChangeMessage, (e) => e.IsBlocked = true);
- }
- private void pickAllRoomsBtn_Click(object sender, EventArgs e)
- {
- Triggers.InAttach(NavigatorSearchResponse, NavigatorSearchResults);
- Connection.SendToServerAsync(NavigatorSearchRequest, "my", "");
- pickAllRoomsBtn.Text = "Picking...";
- }
- private void NavigatorSearchResults(DataInterceptedEventArgs e)
- {
- Triggers.InDetach(NavigatorSearchResponse);
- var packet = e.Packet;
- var rooms = new Dictionary<int, HabboRoom>();
- packet.SkipString();
- packet.SkipString();
- int count = packet.ReadInteger();
- for (int i = 0; i < count; i++)
- {
- string categoryName = packet.ReadString();
- string categoryText = packet.ReadString();
- packet.SkipInteger();
- packet.SkipBoolean();
- packet.SkipInteger();
- int count2 = packet.ReadInteger();
- for (int i2 = 0; i2 < count2; i2++)
- {
- int flatId = packet.ReadInteger();
- string roomName = packet.ReadString();
- packet.SkipInteger();
- string ownerName = packet.ReadString();
- packet.SkipInteger();
- int userCount = packet.ReadInteger();
- int maxUsers = packet.ReadInteger();
- string description = packet.ReadString();
- packet.SkipInteger();
- int score = packet.ReadInteger();
- int ranking = packet.ReadInteger();
- packet.SkipInteger();
- int count3 = packet.ReadInteger();
- for (int i3 = 0; i3 < count3; i3++)
- packet.SkipString();
- int count4 = packet.ReadInteger();
- if ((count4 & 1) > 0)
- packet.SkipString();
- if ((count4 & 2) > 0)
- {
- packet.SkipInteger();
- packet.SkipString();
- packet.SkipString();
- }
- if ((count4 & 4) > 0)
- {
- packet.SkipString();
- packet.SkipString();
- packet.SkipInteger();
- }
- //if (userCount > 0)
- if (!rooms.ContainsKey(flatId))
- rooms.Add(flatId, new HabboRoom(categoryName, categoryText, flatId, ownerName, roomName, description, userCount, maxUsers, score, ranking));
- }
- }
- Task.Run(() =>
- {
- foreach (var room in rooms)
- {
- Triggers.InAttach(FloorHeightMapMessage, RoomLoaded);
- Connection.SendToServerAsync(RoomLoadRequest, room.Key, "", -1);
- Task.Delay(2000).Wait();
- }
- Invoke((MethodInvoker)delegate
- {
- pickAllRoomsBtn.Text = "Done!";
- Task.Delay(2000).Wait();
- pickAllRoomsBtn.Text = "Pick All Rooms";
- });
- });
- }
- private void RoomLoaded(DataInterceptedEventArgs e)
- {
- Connection.SendToServerAsync(ChatSayRequest, ":pickall", 0, -1);
- Triggers.InDetach(FloorHeightMapMessage);
- }
- }
- }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement