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.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) { ServerPacket packet = new ServerPacket(267); packet.AppendBoolean(Session.GetHabbo().HasFuse("fuse_use_wardrobe")); if (Session.GetHabbo().HasFuse("fuse_use_wardrobe")) { DataTable WardrobeData = null; using (DatabaseClient dbClient = UberEnvironment.GetDatabase().GetClient()) { dbClient.AddParamWithValue("userid", Session.GetHabbo().Id); WardrobeData = dbClient.ReadDataTable("SELECT * FROM user_wardrobe WHERE user_id = @userid"); } if (WardrobeData == null) { packet.AppendInt32(0); } else { packet.AppendInt32(WardrobeData.Rows.Count); foreach (DataRow Row in WardrobeData.Rows) { packet.AppendUInt((uint)Row["slot_id"]); packet.AppendStringWithBreak((string)Row["look"]); packet.AppendStringWithBreak((string)Row["gender"]); } } } Session.SendPacket(packet); }
public void parse(GameClient Session, ClientPacket Packet) { if (Session.GetHabbo().LoadingRoom <= 0) { return; } RoomData Data = UberEnvironment.GetGame().GetRoomManager().GenerateRoomData(Session.GetHabbo().LoadingRoom); if (Data == null) { return; } if (Data.Model == null) { Session.SendNotif("Sorry, model data is missing from this room and therefore cannot be loaded."); Session.SendPacket(new ServerPacket(18)); Session.ClearRoomLoading(); return; } Session.SendPacket(Data.Model.SerializeHeightmap()); Session.SendPacket(Data.Model.SerializeRelativeHeightmap()); }
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) { 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) { Room Room = UberEnvironment.GetGame().GetRoomManager().GetRoom(Session.GetHabbo().CurrentRoomId); if (Room == null) { return; } RoomUser User = Room.GetRoomUserByHabbo(Session.GetHabbo().Id); if (User == null) { return; } User.Unidle(); int X = Packet.PopWiredInt32(); int Y = Packet.PopWiredInt32(); if (X == User.X && Y == User.Y) { return; } int Rot = Rotation.Calculate(User.X, User.Y, X, Y); User.SetRot(Rot); }
public void SellItem(GameClient Session, uint ItemId, int SellingPrice) { UserItem Item = Session.GetHabbo().GetInventoryComponent().GetItem(ItemId); if (Item == null || SellingPrice > 10000 || !CanSellItem(Item)) { ServerPacket packet = new ServerPacket(610); packet.AppendBoolean(false); Session.SendPacket(packet); return; } int Comission = CalculateComissionPrice(SellingPrice); int TotalPrice = SellingPrice + Comission; int ItemType = 1; if (Item.GetBaseItem().Type == "i") { ItemType++; } using (DatabaseClient dbClient = UberEnvironment.GetDatabase().GetClient()) { dbClient.AddParamWithValue("public_name", Item.GetBaseItem().PublicName); dbClient.AddParamWithValue("extra_data", Item.ExtraData); dbClient.ExecuteQuery("INSERT INTO catalog_marketplace_offers (item_id,user_id,asking_price,total_price,public_name,sprite_id,item_type,timestamp,extra_data) VALUES ('" + Item.BaseItem + "','" + Session.GetHabbo().Id + "','" + SellingPrice + "','" + TotalPrice + "',@public_name,'" + Item.GetBaseItem().SpriteId + "','" + ItemType + "','" + UberEnvironment.GetUnixTimestamp() + "',@extra_data)"); } Session.GetHabbo().GetInventoryComponent().RemoveItem(ItemId); ServerPacket p610 = new ServerPacket(610); p610.AppendBoolean(true); Session.SendPacket(p610); }
public void parse(GameClient Session, ClientPacket Packet) { if (Session.GetHabbo().InRoom) { UberEnvironment.GetGame().GetRoomManager().GetRoom(Session.GetHabbo().CurrentRoomId).RemoveUserFromRoom(Session, true, false); } }
public void parse(GameClient Session, ClientPacket Packet) { CatalogPage Page = UberEnvironment.GetGame().GetCatalog().GetPage(Packet.PopWiredInt32()); if (Page == null || !Page.Enabled || !Page.Visible || Page.ComingSoon || Page.MinRank > Session.GetHabbo().Rank) { return; } if (Page.ClubOnly && !Session.GetHabbo().GetSubscriptionManager().HasSubscription("habbo_club")) { Session.SendNotif("This page is for Club members only!"); return; } Session.SendPacket(UberEnvironment.GetGame().GetCatalog().SerializePage(Page)); if (Page.Layout == "recycler") { ServerPacket message = new ServerPacket(507); message.AppendBoolean(true); message.AppendBoolean(false); Session.SendPacket(message); } }
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.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) { Room Room = UberEnvironment.GetGame().GetRoomManager().GetRoom(Session.GetHabbo().CurrentRoomId); if (Room == null) { return; } RoomUser User = Room.GetRoomUserByHabbo(Session.GetHabbo().Id); if (User == null || !User.CanWalk) { return; } int _moveX = Packet.PopWiredInt32(); int _moveY = Packet.PopWiredInt32(); if (_moveX == User.X && _moveY == User.Y) { return; } User.MoveTo(_moveX, _moveY); }
public void AlertUser(GameClient ModSession, uint UserId, string Message, Boolean Caution) { GameClient Client = UberEnvironment.GetGame().GetClientManager().GetClientByHabbo(UserId); if (Client == null || Client.GetHabbo().Id == ModSession.GetHabbo().Id) { return; } if (Caution && Client.GetHabbo().Rank >= ModSession.GetHabbo().Rank) { ModSession.SendNotif("You do not have permission to caution that user, sending as a regular message instead."); Caution = false; } Client.SendNotif(Message, Caution); if (Caution) { using (DatabaseClient dbClient = UberEnvironment.GetDatabase().GetClient()) { dbClient.ExecuteQuery("UPDATE user_info SET cautions = cautions + 1 WHERE user_id = '" + UserId + "' LIMIT 1"); } } }
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) { DataTable Results = null; using (DatabaseClient dbClient = UberEnvironment.GetDatabase().GetClient()) { Results = dbClient.ReadDataTable("SELECT asking_price FROM catalog_marketplace_offers WHERE user_id = '" + Session.GetHabbo().Id + "' AND state = '2'"); } if (Results == null) { return; } int Profit = 0; foreach (DataRow Row in Results.Rows) { Profit += (int)Row["asking_price"]; } if (Profit >= 1) { Session.GetHabbo().Credits += Profit; Session.GetHabbo().UpdateCreditsBalance(true); } using (DatabaseClient dbClient = UberEnvironment.GetDatabase().GetClient()) { dbClient.ExecuteQuery("DELETE FROM catalog_marketplace_offers WHERE user_id = '" + Session.GetHabbo().Id + "' AND state = '2'"); } }
public void GivePixels(GameClient Client) { Double Timestamp = UberEnvironment.GetUnixTimestamp(); Client.GetHabbo().LastActivityPointsUpdate = Timestamp; Client.GetHabbo().ActivityPoints += RCV_AMOUNT; Client.GetHabbo().UpdateActivityPointsBalance(true, RCV_AMOUNT); }
public void parse(GameClient Session, ClientPacket Packet) { if (Session.GetHabbo().GetMessenger() == null) { return; } Session.SendPacket(Session.GetHabbo().GetMessenger().PerformSearch(Packet.PopFixedString())); }
public void parse(GameClient Session, ClientPacket Packet) { if (Session.GetHabbo().GetInventoryComponent() == null) { return; } Session.SendPacket(Session.GetHabbo().GetInventoryComponent().SerializePetInventory()); }
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().GetMessenger() == null) { return; } Session.GetHabbo().GetMessenger().RequestBuddy(Packet.PopFixedString()); }
public void parse(GameClient Session, ClientPacket Packet) { if (Session.GetHabbo().GetMessenger() == null) { return; } Session.SendPacket(Session.GetHabbo().GetMessenger().SerializeUpdates()); }
public void parse(GameClient Session, ClientPacket Packet) { Room Room = UberEnvironment.GetGame().GetRoomManager().GetRoom(Session.GetHabbo().CurrentRoomId); if (Room == null || !Room.CanTradeInRoom) { return; } Room.TryStopTrade(Session.GetHabbo().Id); }
public void parse(GameClient Session, ClientPacket Packet) { if (!UberEnvironment.GetGame().GetModerationTool().UsersHasPendingTicket(Session.GetHabbo().Id)) { return; } UberEnvironment.GetGame().GetModerationTool().DeletePendingTicketForUser(Session.GetHabbo().Id); ServerPacket packet = new ServerPacket(320); Session.SendPacket(packet); }
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)); }
// PENDING REWRITE public void BanUser(GameClient Client, string Moderator, Double LengthSeconds, string Reason, Boolean IpBan) { ModerationBanType Type = ModerationBanType.USERNAME; string Var = Client.GetHabbo().Username; string RawVar = "user"; Double Expire = UberEnvironment.GetUnixTimestamp() + LengthSeconds; if (IpBan) { Type = ModerationBanType.IP; Var = Client.GetConnection().IPAddress; RawVar = "ip"; } Bans.Add(new ModerationBan(Type, Var, Reason, Expire)); using (DatabaseClient dbClient = UberEnvironment.GetDatabase().GetClient()) { dbClient.ExecuteQuery("INSERT INTO bans (bantype,value,reason,expire,added_by,added_date) VALUES ('" + RawVar + "','" + Var + "','" + Reason + "','" + Expire + "','" + Moderator + "','" + DateTime.Now.ToLongDateString() + "')"); } if (IpBan) { DataTable UsersAffected = null; using (DatabaseClient dbClient = UberEnvironment.GetDatabase().GetClient()) { UsersAffected = dbClient.ReadDataTable("SELECT id FROM users WHERE ip_last = '" + Var + "'"); } if (UsersAffected != null) { foreach (DataRow Row in UsersAffected.Rows) { using (DatabaseClient dbClient = UberEnvironment.GetDatabase().GetClient()) { dbClient.ExecuteQuery("UPDATE user_info SET bans = bans + 1 WHERE user_id = '" + (uint)Row["id"] + "' LIMIT 1"); } } } } else { using (DatabaseClient dbClient = UberEnvironment.GetDatabase().GetClient()) { dbClient.ExecuteQuery("UPDATE user_info SET bans = bans + 1 WHERE user_id = '" + Client.GetHabbo().Id + "' LIMIT 1"); } } Client.SendBanMessage("You have been banned: " + Reason); Client.Disconnect(); }
public void parse(GameClient Session, ClientPacket Packet) { if (!Session.GetHabbo().HasFuse("fuse_alert")) { return; } int One = Packet.PopWiredInt32(); int Two = Packet.PopWiredInt32(); string Message = Packet.PopFixedString(); UberEnvironment.GetGame().GetModerationTool().RoomAlert(Session.GetHabbo().CurrentRoomId, !Two.Equals(3), Message); }
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) { Room Room = UberEnvironment.GetGame().GetRoomManager().GetRoom(Session.GetHabbo().CurrentRoomId); if (Room == null || !Room.CanTradeInRoom) { return; } RoomUser User = Room.GetRoomUserByHabbo(Session.GetHabbo().Id); RoomUser User2 = Room.GetRoomUserByVirtualId(Packet.PopWiredInt32()); Room.TryStartTrade(User, User2); }