public void parse(GameClient Session, ClientPacket Packet) { Packet.PopWiredInt32(); Room Room = UberEnvironment.GetGame().GetRoomManager().GetRoom(Session.GetHabbo().CurrentRoomId); if (Room == null || !Room.CheckRights(Session, true)) { return; } RoomItem Item = Room.GetItem(Packet.PopWiredUInt()); if (Item == null) { return; } switch (Item.GetBaseItem().InteractionType.ToLower()) { case "postit": return; // not allowed to pick up post.its } Room.RemoveFurniture(Session, Item.Id); Session.GetHabbo().GetInventoryComponent().AddItem(Item.Id, Item.BaseItem, Item.ExtraData); Session.GetHabbo().GetInventoryComponent().UpdateItems(false); }
public void parse(GameClient Session, ClientPacket Packet) { Room Room = UberEnvironment.GetGame().GetRoomManager().GetRoom(Session.GetHabbo().CurrentRoomId); if (Room == null || !Room.CheckRights(Session, true)) { return; } RoomItem Exchange = Room.GetItem(Packet.PopWiredUInt()); if (Exchange == null) { return; } if (!Exchange.GetBaseItem().Name.StartsWith("CF_") && !Exchange.GetBaseItem().Name.StartsWith("CFC_")) { return; } string[] Split = Exchange.GetBaseItem().Name.Split('_'); int Value = int.Parse(Split[1]); if (Value > 0) { Session.GetHabbo().Credits += Value; Session.GetHabbo().UpdateCreditsBalance(true); } Room.RemoveFurniture(null, Exchange.Id); Session.SendPacket(new ServerPacket(219)); }
public void parse(GameClient Session, ClientPacket Packet) { uint SlotId = Packet.PopWiredUInt(); string Look = Packet.PopFixedString(); string Gender = Packet.PopFixedString(); if (!AntiMutant.ValidateLook(Look, Gender)) { return; } using (DatabaseClient dbClient = UberEnvironment.GetDatabase().GetClient()) { dbClient.AddParamWithValue("userid", Session.GetHabbo().Id); dbClient.AddParamWithValue("slotid", SlotId); dbClient.AddParamWithValue("look", Look); dbClient.AddParamWithValue("gender", Gender.ToUpper()); if (dbClient.ReadDataRow("SELECT null FROM user_wardrobe WHERE user_id = @userid AND slot_id = @slotid LIMIT 1") != null) { dbClient.ExecuteQuery("UPDATE user_wardrobe SET look = @look, gender = @gender WHERE user_id = @userid AND slot_id = @slotid LIMIT 1"); } else { dbClient.ExecuteQuery("INSERT INTO user_wardrobe (user_id,slot_id,look,gender) VALUES (@userid,@slotid,@look,@gender)"); } } }
public void parse(GameClient Session, ClientPacket Packet) { uint _id = Packet.PopWiredUInt(); DataRow Row = null; using (DatabaseClient dbClient = UberEnvironment.GetDatabase().GetClient()) { Row = dbClient.ReadDataRow("SELECT * FROM catalog_marketplace_offers WHERE offer_id = '" + _id + "' LIMIT 1"); } if (Row == null || (uint)Row["user_id"] != Session.GetHabbo().Id || (string)Row["state"] != "1") { return; } Item Item = UberEnvironment.GetGame().GetItemManager().GetItem((uint)Row["item_id"]); if (Item == null) { return; } UberEnvironment.GetGame().GetCatalog().DeliverItems(Session, Item, 1, (string)Row["extra_data"]); using (DatabaseClient dbClient = UberEnvironment.GetDatabase().GetClient()) { dbClient.ExecuteQuery("DELETE FROM catalog_marketplace_offers WHERE offer_id = '" + _id + "' LIMIT 1"); } ServerPacket packet = new ServerPacket(614); packet.AppendUInt((uint)Row["offer_id"]); packet.AppendBoolean(true); Session.SendPacket(packet); }
public void parse(GameClient Session, ClientPacket Packet) { uint Id = Packet.PopWiredUInt(); RoomData Data = UberEnvironment.GetGame().GetRoomManager().GenerateRoomData(Id); if (Data == null || Session.GetHabbo().FavoriteRooms.Count >= 30 || Session.GetHabbo().FavoriteRooms.Contains(Id) || Data.Type == "public") { ServerPacket packet = new ServerPacket(33); packet.AppendInt32(-9001); Session.SendPacket(packet); return; } ServerPacket _packet = new ServerPacket(459); _packet.AppendUInt(Id); _packet.AppendBoolean(true); Session.SendPacket(_packet); Session.GetHabbo().FavoriteRooms.Add(Id); using (DatabaseClient dbClient = UberEnvironment.GetDatabase().GetClient()) { dbClient.ExecuteQuery("INSERT INTO user_favorites (user_id,room_id) VALUES ('" + Session.GetHabbo().Id + "','" + Id + "')"); } }
public void parse(GameClient Session, ClientPacket Packet) { if (Session.GetHabbo().GetMessenger() == null) { return; } // Remove all = @f I H // Remove specific = @f H I <reqid> int Mode = Packet.PopWiredInt32(); int Amount = Packet.PopWiredInt32(); if (Mode == 0 && Amount == 1) { uint RequestId = Packet.PopWiredUInt(); Session.GetHabbo().GetMessenger().HandleRequest(RequestId); } else if (Mode == 1) { Session.GetHabbo().GetMessenger().HandleAllRequests(); } else { } // todo: remove breakpoint - eventually -, but leave for a while to make sure the structure is correct and this never happens }
public void parse(GameClient Session, ClientPacket Packet) { Room Room = UberEnvironment.GetGame().GetRoomManager().GetRoom(Session.GetHabbo().CurrentRoomId); if (Room == null || Room.IsPublic || (!Room.AllowPets && !Room.CheckRights(Session, true))) { return; } uint PetId = Packet.PopWiredUInt(); RoomUser PetUser = Room.GetPet(PetId); if (PetUser == null || PetUser.PetData == null || PetUser.PetData.OwnerId != Session.GetHabbo().Id) { return; } PetUser.PetData.OnRespect(); Session.GetHabbo().DailyPetRespectPoints--; using (DatabaseClient dbClient = UberEnvironment.GetDatabase().GetClient()) { dbClient.AddParamWithValue("userid", Session.GetHabbo().Id); dbClient.ExecuteQuery("UPDATE users SET daily_pet_respect_points = daily_pet_respect_points - 1 WHERE id = @userid LIMIT 1"); } }
public void parse(GameClient Session, ClientPacket Packet) { Room Room = UberEnvironment.GetGame().GetRoomManager().GetRoom(Session.GetHabbo().CurrentRoomId); if (Room == null) { return; } RoomUser User = Room.GetRoomUserByHabbo(Packet.PopWiredUInt()); if (User == null || User.IsBot) { return; } ServerPacket packet = new ServerPacket(228); packet.AppendUInt(User.GetClient().GetHabbo().Id); packet.AppendInt32(User.GetClient().GetHabbo().GetBadgeComponent().EquippedCount); foreach (Badge Badge in User.GetClient().GetHabbo().GetBadgeComponent().BadgeList) { if (Badge.Slot <= 0) { continue; } packet.AppendInt32(Badge.Slot); packet.AppendStringWithBreak(Badge.Code); } Session.SendPacket(packet); }
public void parse(GameClient Session, ClientPacket Packet) { Room Room = UberEnvironment.GetGame().GetRoomManager().GetRoom(Session.GetHabbo().CurrentRoomId); if (Room == null) { return; } if (!Room.CheckRights(Session)) { return; // insufficient permissions } uint UserId = Packet.PopWiredUInt(); RoomUser User = Room.GetRoomUserByHabbo(UserId); if (User == null || User.IsBot) { return; } if (Room.CheckRights(User.GetClient(), true) || User.GetClient().GetHabbo().HasFuse("fuse_mod")) { return; // can't kick room owner or mods! } Room.RemoveUserFromRoom(User.GetClient(), true, true); }
public void parse(GameClient Session, ClientPacket Packet) { if (Session.GetHabbo().GetMessenger() == null) { return; } int Amount = Packet.PopWiredInt32(); for (int i = 0; i < Amount; i++) { uint RequestId = Packet.PopWiredUInt(); MessengerRequest MessRequest = Session.GetHabbo().GetMessenger().GetRequest(RequestId); if (MessRequest == null) { continue; } if (MessRequest.To != Session.GetHabbo().Id) { // not this user's request. filthy haxxor! return; } if (!Session.GetHabbo().GetMessenger().FriendshipExists(MessRequest.To, MessRequest.From)) { Session.GetHabbo().GetMessenger().CreateFriendship(MessRequest.From); } Session.GetHabbo().GetMessenger().HandleRequest(RequestId); } }
public void parse(GameClient Session, ClientPacket Packet) { Room Room = UberEnvironment.GetGame().GetRoomManager().GetRoom(Session.GetHabbo().CurrentRoomId); if (Room == null) { return; } RoomItem Item = Room.GetItem(Packet.PopWiredUInt()); if (Item == null) { return; } Boolean hasRights = false; if (Room.CheckRights(Session)) { hasRights = true; } Item.Interactor.OnTrigger(Session, Item, Packet.PopWiredInt32(), hasRights); }
public void parse(GameClient Session, ClientPacket Packet) { Room Room = UberEnvironment.GetGame().GetRoomManager().GetRoom(Session.GetHabbo().CurrentRoomId); if (Room == null || Session.GetHabbo().DailyRespectPoints <= 0) { return; } RoomUser User = Room.GetRoomUserByHabbo(Packet.PopWiredUInt()); if (User == null || User.GetClient().GetHabbo().Id == Session.GetHabbo().Id || User.IsBot) { return; } Session.GetHabbo().DailyRespectPoints--; User.GetClient().GetHabbo().Respect++; using (DatabaseClient dbClient = UberEnvironment.GetDatabase().GetClient()) { dbClient.ExecuteQuery("UPDATE users SET respect = respect + 1 WHERE id = '" + User.GetClient().GetHabbo().Id + "' LIMIT 1"); dbClient.ExecuteQuery("UPDATE users SET daily_respect_points = daily_respect_points - 1 WHERE id = '" + Session.GetHabbo().Id + "' LIMIT 1"); } // FxkqUzYP_ ServerPacket Message = new ServerPacket(440); Message.AppendUInt(User.GetClient().GetHabbo().Id); Message.AppendInt32(User.GetClient().GetHabbo().Respect); Room.SendMessage(Message); }
public void parse(GameClient Session, ClientPacket Packet) { int count = Packet.PopWiredInt32(); List<uint> UserIds = new List<uint>(); for (int i = 0; i < count; i++) { UserIds.Add(Packet.PopWiredUInt()); } string message = UberEnvironment.FilterInjectionChars(Packet.PopFixedString(), true); ServerPacket Message = new ServerPacket(135); Message.AppendUInt(Session.GetHabbo().Id); Message.AppendStringWithBreak(message); foreach (uint Id in UserIds) { if (!Session.GetHabbo().GetMessenger().FriendshipExists(Session.GetHabbo().Id, Id)) { continue; } GameClient Client = UberEnvironment.GetGame().GetClientManager().GetClientByHabbo(Id); if (Client == null) { return; } Client.SendPacket(Message); } }
public void parse(GameClient Session, ClientPacket Packet) { Room Room = UberEnvironment.GetGame().GetRoomManager().GetRoom(Session.GetHabbo().CurrentRoomId); if (Room == null) { return; } RoomUser User = Room.GetRoomUserByHabbo(Packet.PopWiredUInt()); if (User == null || User.IsBot) { return; } ServerPacket packet = new ServerPacket(350); packet.AppendUInt(User.GetClient().GetHabbo().Id); packet.AppendInt32(User.GetClient().GetHabbo().Tags.Count); foreach (string Tag in User.GetClient().GetHabbo().Tags) { packet.AppendStringWithBreak(Tag); } Session.SendPacket(packet); }
public void parse(GameClient Session, ClientPacket Packet) { int PageId = Packet.PopWiredInt32(); uint ItemId = Packet.PopWiredUInt(); string ExtraData = Packet.PopFixedString(); UberEnvironment.GetGame().GetCatalog().HandlePurchase(Session, PageId, ItemId, ExtraData, false, "", ""); }
public void parse(GameClient Session, ClientPacket Packet) { Room Room = UberEnvironment.GetGame().GetRoomManager().GetRoom(Session.GetHabbo().CurrentRoomId); if (Room == null || !Room.CheckRights(Session, true)) { return; } UserItem Item = Session.GetHabbo().GetInventoryComponent().GetItem(Packet.PopWiredUInt()); if (Item == null) { return; } string type = "floor"; if (Item.GetBaseItem().Name.ToLower().Contains("wallpaper")) { type = "wallpaper"; } else if (Item.GetBaseItem().Name.ToLower().Contains("landscape")) { type = "landscape"; } switch (type) { case "floor": Room.Floor = Item.ExtraData; break; case "wallpaper": Room.Wallpaper = Item.ExtraData; break; case "landscape": Room.Landscape = Item.ExtraData; break; } using (DatabaseClient dbClient = UberEnvironment.GetDatabase().GetClient()) { dbClient.ExecuteQuery("UPDATE rooms SET " + type + " = '" + Item.ExtraData + "' WHERE id = '" + Room.RoomId + "' LIMIT 1"); } Session.GetHabbo().GetInventoryComponent().RemoveItem(Item.Id); ServerPacket Message = new ServerPacket(46); Message.AppendStringWithBreak(type); Message.AppendStringWithBreak(Item.ExtraData); Room.SendMessage(Message); }
public void parse(GameClient Session, ClientPacket Packet) { if (!Session.GetHabbo().HasFuse("fuse_chatlogs")) { return; } Session.SendPacket(UberEnvironment.GetGame().GetModerationTool().SerializeUserChatlog(Packet.PopWiredUInt())); }
public void parse(GameClient Session, ClientPacket Packet) { int PageId = Packet.PopWiredInt32(); uint ItemId = Packet.PopWiredUInt(); string ExtraData = Packet.PopFixedString(); string GiftUser = UberEnvironment.FilterInjectionChars(Packet.PopFixedString()); string GiftMessage = UberEnvironment.FilterInjectionChars(Packet.PopFixedString()); UberEnvironment.GetGame().GetCatalog().HandlePurchase(Session, PageId, ItemId, ExtraData, true, GiftUser, GiftMessage); }
public void parse(GameClient Session, ClientPacket Packet) { Room Room = UberEnvironment.GetGame().GetRoomManager().GetRoom(Session.GetHabbo().CurrentRoomId); if (Room == null || !Room.CheckRights(Session, true)) { return; } RoomItem Present = Room.GetItem(Packet.PopWiredUInt()); if (Present == null) { return; } DataRow Data = null; using (DatabaseClient dbClient = UberEnvironment.GetDatabase().GetClient()) { Data = dbClient.ReadDataRow("SELECT base_id,amount,extra_data FROM user_presents WHERE item_id = '" + Present.Id + "' LIMIT 1"); } if (Data == null) { return; } Item BaseItem = UberEnvironment.GetGame().GetItemManager().GetItem((uint)Data["base_id"]); if (BaseItem == null) { return; } Room.RemoveFurniture(Session, Present.Id); ServerPacket packet = new ServerPacket(219); packet.AppendUInt(Present.Id); Session.SendPacket(packet); packet = new ServerPacket(129); packet.AppendStringWithBreak(BaseItem.Type); packet.AppendInt32(BaseItem.SpriteId); packet.AppendStringWithBreak(BaseItem.Name); Session.SendPacket(packet); using (DatabaseClient dbClient = UberEnvironment.GetDatabase().GetClient()) { dbClient.ExecuteQuery("DELETE FROM user_presents WHERE item_id = '" + Present.Id + "' LIMIT 1"); } UberEnvironment.GetGame().GetCatalog().DeliverItems(Session, BaseItem, (int)Data["amount"], (string)Data["extra_data"]); }
public void parse(GameClient Session, ClientPacket Packet) { if (!Session.GetHabbo().HasFuse("fuse_alert")) { return; } uint UserId = Packet.PopWiredUInt(); string Message = Packet.PopFixedString(); UberEnvironment.GetGame().GetModerationTool().AlertUser(Session, UserId, Message, true); }
public void parse(GameClient Session, ClientPacket Packet) { uint userId = Packet.PopWiredUInt(); string message = UberEnvironment.FilterInjectionChars(Packet.PopFixedString()); if (Session.GetHabbo().GetMessenger() == null) { return; } Session.GetHabbo().GetMessenger().SendInstantMessage(userId, message); }
public void parse(GameClient Session, ClientPacket Packet) { uint ItemId = Packet.PopWiredUInt(); DataRow Row = null; using (DatabaseClient dbClient = UberEnvironment.GetDatabase().GetClient()) { Row = dbClient.ReadDataRow("SELECT * FROM catalog_marketplace_offers WHERE offer_id = '" + ItemId + "' LIMIT 1"); } if (Row == null || (string)Row["state"] != "1" || (double)Row["timestamp"] <= UberEnvironment.GetGame().GetCatalog().GetMarketplace().FormatTimestamp()) { Session.SendNotif("Sorry, this offer has expired."); return; } Item Item = UberEnvironment.GetGame().GetItemManager().GetItem((uint)Row["item_id"]); if (Item == null) { return; } if ((int)Row["total_price"] >= 1) { Session.GetHabbo().Credits -= (int)Row["total_price"]; Session.GetHabbo().UpdateCreditsBalance(true); } UberEnvironment.GetGame().GetCatalog().DeliverItems(Session, Item, 1, (string)Row["extra_data"]); using (DatabaseClient dbClient = UberEnvironment.GetDatabase().GetClient()) { dbClient.ExecuteQuery("UPDATE catalog_marketplace_offers SET state = '2' WHERE offer_id = '" + ItemId + "' LIMIT 1"); } ServerPacket packet = new ServerPacket(67); packet.AppendUInt(Item.ItemId); packet.AppendStringWithBreak(Item.Name); packet.AppendInt32(0); packet.AppendInt32(0); packet.AppendInt32(1); packet.AppendStringWithBreak(Item.Type.ToLower()); packet.AppendInt32(Item.SpriteId); packet.AppendStringWithBreak(""); packet.AppendInt32(1); packet.AppendInt32(-1); packet.AppendStringWithBreak(""); Session.SendPacket(packet); Session.SendPacket(UberEnvironment.GetGame().GetCatalog().GetMarketplace().SerializeOffers(-1, -1, "", 1)); }
public void parse(GameClient Session, ClientPacket Packet) { uint TopicId = Packet.PopWiredUInt(); HelpTopic Topic = UberEnvironment.GetGame().GetHelpTool().GetTopic(TopicId); if (Topic == null) { return; } Session.SendPacket(UberEnvironment.GetGame().GetHelpTool().SerializeTopic(Topic)); }
public void parse(GameClient Session, ClientPacket Packet) { if (!Session.GetHabbo().HasFuse("fuse_mod")) { return; } int Result = Packet.PopWiredInt32(); // result, 1 = useless, 2 = abusive, 3 = resolved int Junk = Packet.PopWiredInt32(); // ? uint TicketId = Packet.PopWiredUInt(); // id UberEnvironment.GetGame().GetModerationTool().CloseTicket(Session, TicketId, Result); }
public void parse(GameClient Session, ClientPacket Packet) { uint Id = Packet.PopWiredUInt(); HelpCategory Category = UberEnvironment.GetGame().GetHelpTool().GetCategory(Id); if (Category == null) { return; } Session.SendPacket(UberEnvironment.GetGame().GetHelpTool().SerializeCategory(Category)); }
public void parse(GameClient Session, ClientPacket Packet) { if (!Session.GetHabbo().HasFuse("fuse_ban")) { return; } uint UserId = Packet.PopWiredUInt(); string Message = Packet.PopFixedString(); int Length = Packet.PopWiredInt32() * 3600; UberEnvironment.GetGame().GetModerationTool().BanUser(Session, UserId, Length, Message); }
public void parse(GameClient Session, ClientPacket Packet) { if (!Session.GetHabbo().HasFuse("fuse_mod")) { return; } uint RoomId = Packet.PopWiredUInt(); Boolean ActOne = Packet.PopWiredBoolean(); // set room lock to doorbell Boolean ActTwo = Packet.PopWiredBoolean(); // set room to inappropiate Boolean ActThree = Packet.PopWiredBoolean(); // kick all users UberEnvironment.GetGame().GetModerationTool().PerformRoomAction(Session, RoomId, ActThree, ActOne, ActTwo); }
public void parse(GameClient Session, ClientPacket Packet) { if (Session.GetHabbo().GetMessenger() == null) { return; } int Requests = Packet.PopWiredInt32(); for (int i = 0; i < Requests; i++) { Session.GetHabbo().GetMessenger().DestroyFriendship(Packet.PopWiredUInt()); } }
public void parse(GameClient Session, ClientPacket Packet) { if (!Session.GetHabbo().HasFuse("fuse_chatlogs")) { return; } int Junk = Packet.PopWiredInt32(); uint RoomId = Packet.PopWiredUInt(); if (UberEnvironment.GetGame().GetRoomManager().GetRoom(RoomId) != null) { Session.SendPacket(UberEnvironment.GetGame().GetModerationTool().SerializeRoomChatlog(RoomId)); } }
public void parse(GameClient Session, ClientPacket Packet) { Packet.PopWiredInt32(); uint Id = Packet.PopWiredUInt(); Packet.PopWiredInt32(); RoomData Data = UberEnvironment.GetGame().GetRoomManager().GenerateRoomData(Id); if (Data == null || Data.Type != "public") { return; } Session.PrepareRoomForUser(Data.Id, ""); }