Hi, I've fixed Staffpicks for BCStorm.
Add to GameClientMessageHandler.cs:
Insert in to SharedPacketLib.cs:Code:internal void Staffpick() { uint num = this.Request.PopWiredUInt(); if (this.Session.GetHabbo().Rank < 5u) { this.Session.SendNotif("You can´t do that!"); } if (this.Session.GetHabbo().Rank > 5u) { Room room = ButterflyEnvironment.GetGame().GetRoomManager().GetRoom(num); int num2 = 0; using (IQueryAdapter queryreactor = ButterflyEnvironment.GetDatabaseManager().getQueryreactor()) { queryreactor.setQuery("SELECT * FROM navigator_publics_new WHERE room_id = '" + num + "'"); if (queryreactor.getRow() != null) { num2 = 1; } } if (num2 == 0) { this.Session.SendNotif("This Room was added to Staff Picked Rooms!"); room.staff_pick = true; using (IQueryAdapter queryreactor = ButterflyEnvironment.GetDatabaseManager().getQueryreactor()) { queryreactor.runFastQuery(string.Concat(new object[] { "INSERT INTO `navigator_publics_new` (`bannertype`, `caption`, `room_id`, `category_id`, `category_parent_id`, `image`, `image_type`, `typeofdata`) VALUES ('1', '", room.Name, "', '", num, "', '", ButterflyEnvironment.staff_pick_category, "', '", ButterflyEnvironment.staff_pick_category, "', 'officialrooms_hq/staffpickfolder.gif', 'internal', '3')" })); queryreactor.runFastQuery(string.Concat(new object[] { "UPDATE rooms SET is_picked = '1' WHERE id = ", num, "" })); queryreactor.runFastQuery(string.Concat(new object[] { "UPDATE users SET staffpicks = staffpicks +1 WHERE id = ", room.OwnerId, "" })); ButterflyEnvironment.GetGame().GetNavigator().Initialize(queryreactor); } } else { this.Session.SendNotif("This Room was removed from Staff Picked Rooms!"); room.staff_pick = false; using (IQueryAdapter queryreactor = ButterflyEnvironment.GetDatabaseManager().getQueryreactor()) { queryreactor.runFastQuery("DELETE FROM `navigator_publics_new` WHERE (`room_id`='" + num + "')"); queryreactor.runFastQuery(string.Concat(new object[] { "UPDATE rooms SET is_picked = '0' WHERE id = ", num, "" })); ButterflyEnvironment.GetGame().GetNavigator().Initialize(queryreactor); } } ServerMessage message = new ServerMessage(3116); message.AppendBoolean(false); message.AppendInt32(room.Id); message.AppendString(room.Name); message.AppendBoolean(true); message.AppendInt32(room.OwnerId); message.AppendString(room.Owner); message.AppendInt32(room.State); message.AppendInt32(room.UsersNow); message.AppendInt32(room.UsersMax); message.AppendString(room.Description); message.AppendInt32(0); message.AppendInt32((room.Category == 52) ? 2 : 0); message.AppendInt32(room.Score); message.AppendInt32(0); message.AppendInt32(room.Category); if (room.GroupId == 0) { message.AppendInt32(0); message.AppendInt32(0); } else { MyGuild guild = ButterflyEnvironment.GetGame().GetGuilds().GetGuild(room.GroupId); message.AppendInt32(guild.Id); message.AppendString(guild.Name); message.AppendString(guild.Image); } message.AppendString(""); message.AppendInt32(room.TagCount); foreach (string string_ in room.Tags) { message.AppendString(string_); } message.AppendInt32(0); message.AppendInt32(0); message.AppendInt32(0); message.AppendBoolean(true); message.AppendBoolean(true); message.AppendInt32(0); message.AppendInt32(0); message.AppendBoolean(false); message.AppendBoolean(room.staff_pick); message.AppendBoolean(false); message.AppendInt32(0); message.AppendInt32(0); message.AppendInt32(0); message.AppendBoolean(false); message.AppendBoolean(true); this.Session.SendMessage(message); room.SendMessage(message); } }
Insert in to StaticClientMessageHandler.cs:Code:internal static void Staffpick(GameClientMessageHandler handler) { handler.Staffpick(); }
Insert in to Incoming.cs over "static Incoming()":Code:handlers.Add(Incoming.Staffpick, new StaticRequestHandler(SharedPacketLib.Staffpick));
Insert in to Incoming.cs under "Incoming.unknown = 3870;":Code:public static int Staffpick;
Go to Navigator.cs Initialize():Code:Incoming.Staffpick = 2708;
Add
UnderCode:this.PrivateCategories.Clear(); this.PublicItems.Clear();
Go to ButterflyEnvironment:Code:dbClient.setQuery("SELECT id,caption,min_rank FROM navigator_flatcats WHERE enabled = 2"); DataTable table = dbClient.getTable(); dbClient.setQuery("SELECT * FROM navigator_publics_new ORDER BY ordernum ASC"); DataTable table2 = dbClient.getTable();
Add
UnderCode:internal static int staff_pick_category = 3;// Your Navigator Publics Category
Go to ButterflyEnvironment:Code:internal static bool useSSO;
Add
UnderCode:internal static int staff_pick_category = 3;// Your Navigator Publics Category
Go to Rooms.cs:Code:internal static bool useSSO;
Add
UnderCode:internal bool staff_pick;
Go to your Database and insert these Queries:Code:private List<RoomBot> Bots;
Please tell me if i forgot something.Code:ALTER TABLE `rooms` ADD `is_picked` int(3) NOT NULL DEFAULT '0'; ALTER TABLE `users` ADD `staffpicks` int(15) NOT NULL DEFAULT '0';
99% because the Button shows after a restart the wrong text
Feel free to post a comment or like it ;)




![[BCSTORM] Staffpicks 99%](http://ragezone.com/hyper728.png)


