public void Parse(HabboHotel.GameClients.GameClient session, ClientPacket packet) { string Category = packet.PopString(); string Search = packet.PopString(); ICollection <SearchResultList> Categories = new List <SearchResultList>(); if (!string.IsNullOrEmpty(Search)) { SearchResultList QueryResult = null; if (PlusEnvironment.GetGame().GetNavigator().TryGetSearchResultList(0, out QueryResult)) { Categories.Add(QueryResult); } } else { Categories = PlusEnvironment.GetGame().GetNavigator().GetCategorysForSearch(Category); if (Categories.Count == 0) { //Are we going in deep?! Categories = PlusEnvironment.GetGame().GetNavigator().GetResultByIdentifier(Category); if (Categories.Count > 0) { session.SendPacket(new NavigatorSearchResultSetComposer(Category, Search, Categories, session, 2, 100)); return; } } } session.SendPacket(new NavigatorSearchResultSetComposer(Category, Search, Categories, session)); }
public void Parse(HabboHotel.GameClients.GameClient session, ClientPacket packet) { string Name = PlusEnvironment.GetGame().GetChatManager().GetFilter().CheckMessage(packet.PopString()); string Description = PlusEnvironment.GetGame().GetChatManager().GetFilter().CheckMessage(packet.PopString()); int RoomId = packet.PopInt(); int Colour1 = packet.PopInt(); int Colour2 = packet.PopInt(); int Unknown = packet.PopInt(); int groupCost = Convert.ToInt32(PlusEnvironment.GetSettingsManager().TryGetValue("catalog.group.purchase.cost")); if (session.GetHabbo().Credits < groupCost) { session.SendPacket(new BroadcastMessageAlertComposer("A group costs " + groupCost + " credits! You only have " + session.GetHabbo().Credits + "!")); return; } else { session.GetHabbo().Credits -= groupCost; session.SendPacket(new CreditBalanceComposer(session.GetHabbo().Credits)); } RoomData Room = null; if (!RoomFactory.TryGetData(RoomId, out Room)) { return; } if (Room == null || Room.OwnerId != session.GetHabbo().Id || Room.Group != null) { return; } string Badge = string.Empty; for (int i = 0; i < 5; i++) { Badge += BadgePartUtility.WorkBadgeParts(i == 0, packet.PopInt().ToString(), packet.PopInt().ToString(), packet.PopInt().ToString()); } Group Group = null; if (!PlusEnvironment.GetGame().GetGroupManager().TryCreateGroup(session.GetHabbo(), Name, Description, RoomId, Badge, Colour1, Colour2, out Group)) { session.SendNotification("An error occured whilst trying to create this group.\n\nTry again. If you get this message more than once, report it at the link below.\r\rhttp://boonboards.com"); return; } session.SendPacket(new PurchaseOKComposer()); Room.Group = Group; if (session.GetHabbo().CurrentRoomId != Room.Id) { session.SendPacket(new RoomForwardComposer(Room.Id)); } session.SendPacket(new NewGroupInfoComposer(RoomId, Group.Id)); }
public void Parse(HabboHotel.GameClients.GameClient Session, ClientPacket Packet) { if (!Session.GetHabbo().InRoom) { return; } Room Room = Session.GetHabbo().CurrentRoom; if (Room == null) { return; } DynamicRoomModel Model = Room.GetGameMap().Model; if (Model == null) { return; } ICollection <Item> FloorItems = Room.GetRoomItemHandler().GetFloor; Session.SendPacket(new FloorPlanFloorMapComposer(FloorItems)); Session.SendPacket(new FloorPlanSendDoorComposer(Model.DoorX, Model.DoorY, Model.DoorOrientation)); Session.SendPacket(new RoomVisualizationSettingsComposer(Room.WallThickness, Room.FloorThickness, PlusEnvironment.EnumToBool(Room.Hidewall.ToString()))); }
public void Parse(HabboHotel.GameClients.GameClient Session, ClientPacket Packet) { if (!Session.GetHabbo().InRoom) { return; } int ItemId = Packet.PopInt(); ICollection <TelevisionItem> Videos = PlusEnvironment.GetGame().GetTelevisionManager().TelevisionList; if (Videos.Count == 0) { Session.SendNotification("Oh, it looks like the hotel manager haven't added any videos for you to watch! :("); return; } Dictionary <int, TelevisionItem> dict = PlusEnvironment.GetGame().GetTelevisionManager()._televisions; foreach (TelevisionItem value in RandomValues(dict).Take(1)) { Session.SendPacket(new GetYouTubeVideoComposer(ItemId, value.YouTubeId)); } Session.SendPacket(new GetYouTubePlaylistComposer(ItemId, Videos)); }
public void Parse(HabboHotel.GameClients.GameClient Session, ClientPacket Packet) { if (Session == null || Session.GetHabbo() == null || !Session.GetHabbo().InRoom) { return; } int ItemId = Packet.PopInt(); int GroupId = Packet.PopInt(); Item Item = Session.GetHabbo().CurrentRoom.GetRoomItemHandler().GetItem(ItemId); if (Item == null) { return; } if (Item.Data.InteractionType != InteractionType.GUILD_GATE) { return; } Group Group = null; if (!PlusEnvironment.GetGame().GetGroupManager().TryGetGroup(GroupId, out Group)) { return; } Session.SendPacket(new GroupFurniSettingsComposer(Group, ItemId, Session.GetHabbo().Id)); Session.SendPacket(new GroupInfoComposer(Group, Session, false)); }
public void Parse(HabboHotel.GameClients.GameClient Session, ClientPacket Packet) { if (!Session.GetHabbo().InRoom) { return; } Room Room = null; if (!PlusEnvironment.GetGame().GetRoomManager().TryGetRoom(Session.GetHabbo().CurrentRoomId, out Room)) { return; } RoomUser PetUser = null; if (!Room.GetRoomUserManager().TryGetPet(Packet.PopInt(), out PetUser)) { return; } if (PetUser.PetData == null || PetUser.PetData.OwnerId != Session.GetHabbo().Id) { return; } //Fetch the furniture Id for the pets current saddle. int SaddleId = ItemUtility.GetSaddleId(PetUser.PetData.Saddle); //Remove the saddle from the pet. PetUser.PetData.Saddle = 0; using (IQueryAdapter dbClient = PlusEnvironment.GetDatabaseManager().GetQueryReactor()) { dbClient.RunQuery("UPDATE `bots_petdata` SET `have_saddle` = '0' WHERE `id` = '" + PetUser.PetData.PetId + "' LIMIT 1"); } //Give the saddle back to the user. ItemData ItemData = null; if (!PlusEnvironment.GetGame().GetItemManager().GetItem(SaddleId, out ItemData)) { return; } Item Item = ItemFactory.CreateSingleItemNullable(ItemData, Session.GetHabbo(), "", "", 0, 0, 0); if (Item != null) { Session.GetHabbo().GetInventoryComponent().TryAddItem(Item); Session.SendPacket(new FurniListNotificationComposer(Item.Id, 1)); Session.SendPacket(new PurchaseOKComposer()); Session.SendPacket(new FurniListAddComposer(Item)); Session.SendPacket(new FurniListUpdateComposer()); } //Update the Pet and the Pet figure information. Room.SendPacket(new UsersComposer(PetUser)); Room.SendPacket(new PetHorseFigureInformationComposer(PetUser)); }
public void Parse(HabboHotel.GameClients.GameClient Session, ClientPacket Packet) { int GameId = Packet.PopInt(); Session.SendPacket(new GameAccountStatusComposer(GameId)); Session.SendPacket(new PlayableGamesComposer(GameId)); Session.SendPacket(new GameAchievementListComposer(Session, PlusEnvironment.GetGame().GetAchievementManager().GetGameAchievements(GameId), GameId)); }
public void Parse(HabboHotel.GameClients.GameClient Session, ClientPacket Packet) { if (!Session.GetHabbo().InRoom) { return; } Room Room = null; if (!PlusEnvironment.GetGame().GetRoomManager().TryGetRoom(Session.GetHabbo().CurrentRoomId, out Room)) { return; } if (!Room.CheckRights(Session, true)) { return; } if (PlusEnvironment.GetSettingsManager().TryGetValue("room.item.exchangeables.enabled") != "1") { Session.SendNotification("The hotel managers have temporarilly disabled exchanging!"); return; } Item Exchange = Room.GetRoomItemHandler().GetItem(Packet.PopInt()); if (Exchange == null) { return; } if (Exchange.Data.InteractionType != InteractionType.EXCHANGE) { return; } int Value = Exchange.Data.BehaviourData; if (Value > 0) { Session.GetHabbo().Credits += Value; Session.SendPacket(new CreditBalanceComposer(Session.GetHabbo().Credits)); } using (IQueryAdapter dbClient = PlusEnvironment.GetDatabaseManager().GetQueryReactor()) { dbClient.SetQuery("DELETE FROM `items` WHERE `id` = @exchangeId LIMIT 1"); dbClient.AddParameter("exchangeId", Exchange.Id); dbClient.RunQuery(); } Session.SendPacket(new FurniListUpdateComposer()); Room.GetRoomItemHandler().RemoveFurniture(null, Exchange.Id, false); Session.GetHabbo().GetInventoryComponent().RemoveItem(Exchange.Id); }
public void Parse(HabboHotel.GameClients.GameClient Session, ClientPacket Packet) { ICollection <TopLevelItem> TopLevelItems = PlusEnvironment.GetGame().GetNavigator().GetTopLevelItems(); Session.SendPacket(new NavigatorMetaDataParserComposer(TopLevelItems)); Session.SendPacket(new NavigatorLiftedRoomsComposer()); Session.SendPacket(new NavigatorCollapsedCategoriesComposer()); Session.SendPacket(new NavigatorPreferencesComposer()); }
public void Parse(HabboHotel.GameClients.GameClient Session, ClientPacket Packet) { if (Session == null || Session.GetHabbo() == null) { return; } int UserId = Packet.PopInt(); Room Room = null; if (!PlusEnvironment.GetGame().GetRoomManager().TryGetRoom(Session.GetHabbo().CurrentRoomId, out Room)) { return; } if (!Room.CheckRights(Session, true)) { return; } if (Room.UsersWithRights.Contains(UserId)) { Session.SendNotification(PlusEnvironment.GetLanguageManager().TryGetValue("room.rights.user.has_rights")); return; } Room.UsersWithRights.Add(UserId); using (IQueryAdapter dbClient = PlusEnvironment.GetDatabaseManager().GetQueryReactor()) { dbClient.RunQuery("INSERT INTO `room_rights` (`room_id`,`user_id`) VALUES ('" + Room.RoomId + "','" + UserId + "')"); } RoomUser RoomUser = Room.GetRoomUserManager().GetRoomUserByHabbo(UserId); if (RoomUser != null && !RoomUser.IsBot) { RoomUser.SetStatus("flatctrl 1", ""); RoomUser.UpdateNeeded = true; if (RoomUser.GetClient() != null) { RoomUser.GetClient().SendPacket(new YouAreControllerComposer(1)); } Session.SendPacket(new FlatControllerAddedComposer(Room.RoomId, RoomUser.GetClient().GetHabbo().Id, RoomUser.GetClient().GetHabbo().Username)); } else { UserCache User = PlusEnvironment.GetGame().GetCacheManager().GenerateUser(UserId); if (User != null) { Session.SendPacket(new FlatControllerAddedComposer(Room.RoomId, User.Id, User.Username)); } } }
public void Parse(HabboHotel.GameClients.GameClient Session, ClientPacket Packet) { if (Session == null || Session.GetHabbo() == null) { return; } Group Group = null; if (!PlusEnvironment.GetGame().GetGroupManager().TryGetGroup(Packet.PopInt(), out Group)) { return; } if (Group.IsMember(Session.GetHabbo().Id) || Group.IsAdmin(Session.GetHabbo().Id) || (Group.HasRequest(Session.GetHabbo().Id) && Group.GroupType == GroupType.PRIVATE)) { return; } List <Group> Groups = PlusEnvironment.GetGame().GetGroupManager().GetGroupsForUser(Session.GetHabbo().Id); if (Groups.Count >= 1500) { Session.SendPacket(new BroadcastMessageAlertComposer("Oops, it appears that you've hit the group membership limit! You can only join upto 1,500 groups.")); return; } Group.AddMember(Session.GetHabbo().Id); if (Group.GroupType == GroupType.LOCKED) { List <GameClient> GroupAdmins = (from Client in PlusEnvironment.GetGame().GetClientManager().GetClients.ToList() where Client != null && Client.GetHabbo() != null && Group.IsAdmin(Client.GetHabbo().Id) select Client).ToList(); foreach (GameClient Client in GroupAdmins) { Client.SendPacket(new GroupMembershipRequestedComposer(Group.Id, Session.GetHabbo(), 3)); } Session.SendPacket(new GroupInfoComposer(Group, Session)); } else { Session.SendPacket(new GroupFurniConfigComposer(PlusEnvironment.GetGame().GetGroupManager().GetGroupsForUser(Session.GetHabbo().Id))); Session.SendPacket(new GroupInfoComposer(Group, Session)); if (Session.GetHabbo().CurrentRoom != null) { Session.GetHabbo().CurrentRoom.SendPacket(new RefreshFavouriteGroupComposer(Session.GetHabbo().Id)); } else { Session.SendPacket(new RefreshFavouriteGroupComposer(Session.GetHabbo().Id)); } } }
public void Parse(HabboHotel.GameClients.GameClient Session, ClientPacket Packet) { Room Instance = PlusEnvironment.GetGame().GetRoomManager().TryGetRandomLoadedRoom(); if (Instance != null) { Session.SendPacket(new FindFriendsProcessResultComposer(true)); Session.SendPacket(new RoomForwardComposer(Instance.Id)); } else { Session.SendPacket(new FindFriendsProcessResultComposer(false)); } }
public void Parse(HabboHotel.GameClients.GameClient Session, ClientPacket Packet) { if (!Session.GetHabbo().InRoom) { return; } Room Instance; if (!PlusEnvironment.GetGame().GetRoomManager().TryGetRoom(Session.GetHabbo().CurrentRoomId, out Instance)) { return; } if (!Instance.CheckRights(Session, true)) { return; } foreach (int UserId in new List <int>(Instance.UsersWithRights)) { RoomUser User = Instance.GetRoomUserManager().GetRoomUserByHabbo(UserId); if (User != null && !User.IsBot) { User.RemoveStatus("flatctrl 1"); User.UpdateNeeded = true; User.GetClient().SendPacket(new YouAreControllerComposer(0)); } using (IQueryAdapter dbClient = PlusEnvironment.GetDatabaseManager().GetQueryReactor()) { dbClient.SetQuery("DELETE FROM `room_rights` WHERE `user_id` = @uid AND `room_id` = @rid LIMIT 1"); dbClient.AddParameter("uid", UserId); dbClient.AddParameter("rid", Instance.Id); dbClient.RunQuery(); } Session.SendPacket(new FlatControllerRemovedComposer(Instance, UserId)); Session.SendPacket(new RoomRightsListComposer(Instance)); Session.SendPacket(new UserUpdateComposer(Instance.GetRoomUserManager().GetUserList().ToList())); } if (Instance.UsersWithRights.Count > 0) { Instance.UsersWithRights.Clear(); } }
public void Parse(HabboHotel.GameClients.GameClient Session, ClientPacket Packet) { int SellingPrice = Packet.PopInt(); int ComissionPrice = Packet.PopInt(); int ItemId = Packet.PopInt(); Item Item = Session.GetHabbo().GetInventoryComponent().GetItem(ItemId); if (Item == null) { Session.SendPacket(new MarketplaceMakeOfferResultComposer(0)); return; } if (!ItemUtility.IsRare(Item)) { Session.SendNotification("Sorry, only Rares & LTDs can go be auctioned off in the Marketplace!"); return; } if (SellingPrice > 70000000 || SellingPrice == 0) { Session.SendPacket(new MarketplaceMakeOfferResultComposer(0)); return; } int Comission = PlusEnvironment.GetGame().GetCatalog().GetMarketplace().CalculateComissionPrice((float)SellingPrice); int TotalPrice = SellingPrice + Comission; int ItemType = 1; if (Item.GetBaseItem().Type == 'i') { ItemType++; } using (IQueryAdapter dbClient = PlusEnvironment.GetDatabaseManager().GetQueryReactor()) { dbClient.SetQuery("INSERT INTO `catalog_marketplace_offers` (`furni_id`,`item_id`,`user_id`,`asking_price`,`total_price`,`public_name`,`sprite_id`,`item_type`,`timestamp`,`extra_data`,`limited_number`,`limited_stack`) VALUES ('" + ItemId + "','" + Item.BaseItem + "','" + Session.GetHabbo().Id + "','" + SellingPrice + "','" + TotalPrice + "',@public_name,'" + Item.GetBaseItem().SpriteId + "','" + ItemType + "','" + PlusEnvironment.GetUnixTimestamp() + "',@extra_data, '" + Item.LimitedNo + "', '" + Item.LimitedTot + "')"); dbClient.AddParameter("public_name", Item.GetBaseItem().PublicName); dbClient.AddParameter("extra_data", Item.ExtraData); dbClient.RunQuery(); dbClient.RunQuery("DELETE FROM `items` WHERE `id` = '" + ItemId + "' AND `user_id` = '" + Session.GetHabbo().Id + "' LIMIT 1"); } Session.GetHabbo().GetInventoryComponent().RemoveItem(ItemId); Session.SendPacket(new MarketplaceMakeOfferResultComposer(1)); }
public void Parse(HabboHotel.GameClients.GameClient Session, ClientPacket Packet) { if (!Session.GetHabbo().InRoom) { return; } Quest UserQuest = PlusEnvironment.GetGame().GetQuestManager().GetQuest(Session.GetHabbo().QuestLastCompleted); Quest NextQuest = PlusEnvironment.GetGame().GetQuestManager().GetNextQuestInSeries(UserQuest.Category, UserQuest.Number + 1); if (NextQuest == null) { return; } using (IQueryAdapter dbClient = PlusEnvironment.GetDatabaseManager().GetQueryReactor()) { dbClient.RunQuery("REPLACE INTO `user_quests`(`user_id`,`quest_id`) VALUES (" + Session.GetHabbo().Id + ", " + NextQuest.Id + ")"); dbClient.RunQuery("UPDATE `user_stats` SET `quest_id` = '" + NextQuest.Id + "' WHERE `id` = '" + Session.GetHabbo().Id + "' LIMIT 1"); } Session.GetHabbo().GetStats().QuestID = NextQuest.Id; PlusEnvironment.GetGame().GetQuestManager().GetList(Session, null); Session.SendPacket(new QuestStartedComposer(Session, NextQuest)); }
public void Parse(HabboHotel.GameClients.GameClient Session, ClientPacket Packet) { try { String parseCampaings = Packet.PopString(); if (parseCampaings.Contains("gamesmaker")) { return; } String campaingName = ""; String[] parser = parseCampaings.Split(';'); for (int i = 0; i < parser.Length; i++) { if (String.IsNullOrEmpty(parser[i]) || parser[i].EndsWith(",")) { continue; } String[] data = parser[i].Split(','); campaingName = data[1]; } Session.SendPacket(new CampaignComposer(parseCampaings, campaingName)); } catch { } }
public void Parse(HabboHotel.GameClients.GameClient session, ClientPacket packet) { if (session == null || session.GetHabbo() == null || !session.GetHabbo().GetPermissions().HasRight("mod_tickets")) { return; } int ticketId = packet.PopInt(); ModerationTicket ticket = null; if (!PlusEnvironment.GetGame().GetModerationManager().TryGetTicket(ticketId, out ticket) || ticket.Room == null) { return; } RoomData data = null; if (!RoomFactory.TryGetData(ticket.Room.Id, out data)) { return; } session.SendPacket(new ModeratorTicketChatlogComposer(ticket, data, ticket.Timestamp)); }
public void Parse(HabboHotel.GameClients.GameClient Session, ClientPacket Packet) { if (Session == null || Session.GetHabbo() == null || Session.GetHabbo().GetMessenger() == null) { return; } string Query = StringCharFilter.Escape(Packet.PopString().Replace("%", "")); if (Query.Length < 1 || Query.Length > 100) { return; } List <SearchResult> Friends = new List <SearchResult>(); List <SearchResult> OthersUsers = new List <SearchResult>(); List <SearchResult> Results = SearchResultFactory.GetSearchResult(Query); foreach (SearchResult Result in Results.ToList()) { if (Session.GetHabbo().GetMessenger().FriendshipExists(Result.UserId)) { Friends.Add(Result); } else { OthersUsers.Add(Result); } } Session.SendPacket(new HabboSearchResultComposer(Friends, OthersUsers)); }
public void Parse(HabboHotel.GameClients.GameClient Session, ClientPacket Packet) { int ItemId = Packet.PopInt(); //Item Id string VideoId = Packet.PopString(); //Video ID Session.SendPacket(new GetYouTubeVideoComposer(ItemId, VideoId)); }
public void Parse(HabboHotel.GameClients.GameClient Session, ClientPacket Packet) { int GroupId = Packet.PopInt(); int UserId = Packet.PopInt(); Group Group = null; if (!PlusEnvironment.GetGame().GetGroupManager().TryGetGroup(GroupId, out Group)) { return; } if (Session.GetHabbo().Id != Group.CreatorId && !Group.IsAdmin(Session.GetHabbo().Id)) { return; } if (!Group.HasRequest(UserId)) { return; } Group.HandleRequest(UserId, false); Session.SendPacket(new UnknownGroupComposer(Group.Id, UserId)); }
public void Parse(HabboHotel.GameClients.GameClient Session, ClientPacket Packet) { int CreditsOwed = 0; DataTable Table = null; using (IQueryAdapter dbClient = ButterflyEnvironment.GetDatabaseManager().GetQueryReactor()) { dbClient.SetQuery("SELECT `asking_price` FROM `catalog_marketplace_offers` WHERE `user_id` = '" + Session.GetHabbo().Id + "' AND `state` = '2'"); Table = dbClient.GetTable(); } if (Table != null) { foreach (DataRow row in Table.Rows) { CreditsOwed += Convert.ToInt32(row["asking_price"]); } if (CreditsOwed >= 1) { Session.GetHabbo().WibboPoints += CreditsOwed; Session.SendPacket(new HabboActivityPointNotificationComposer(Session.GetHabbo().WibboPoints, 0, 105)); using (IQueryAdapter dbClient = ButterflyEnvironment.GetDatabaseManager().GetQueryReactor()) { dbClient.RunQuery("DELETE FROM `catalog_marketplace_offers` WHERE `user_id` = '" + Session.GetHabbo().Id + "' AND `state` = '2'"); dbClient.RunQuery("UPDATE users SET vip_points = vip_points + " + CreditsOwed + " WHERE id = " + Session.GetHabbo().Id); } } } }
public void Parse(HabboHotel.GameClients.GameClient Session, ClientPacket Packet) { int GroupId = Packet.PopInt(); int UserId = Packet.PopInt(); Group Group = null; if (!PlusEnvironment.GetGame().GetGroupManager().TryGetGroup(GroupId, out Group)) { return; } if ((Session.GetHabbo().Id != Group.CreatorId && !Group.IsAdmin(Session.GetHabbo().Id)) && !Session.GetHabbo().GetPermissions().HasRight("fuse_group_accept_any")) { return; } if (!Group.HasRequest(UserId)) { return; } Habbo Habbo = PlusEnvironment.GetHabboById(UserId); if (Habbo == null) { Session.SendNotification("Oops, an error occurred whilst finding this user."); return; } Group.HandleRequest(UserId, true); Session.SendPacket(new GroupMemberUpdatedComposer(GroupId, Habbo, 4)); }
public void Parse(HabboHotel.GameClients.GameClient Session, ClientPacket Packet) { int CreditsOwed = 0; DataTable Table = null; using (IQueryAdapter dbClient = PlusEnvironment.GetDatabaseManager().GetQueryReactor()) { dbClient.SetQuery("SELECT `asking_price` FROM `catalog_marketplace_offers` WHERE `user_id` = '" + Session.GetHabbo().Id + "' AND `state` = '2'"); Table = dbClient.GetTable(); } if (Table != null) { foreach (DataRow row in Table.Rows) { CreditsOwed += Convert.ToInt32(row["asking_price"]); } if (CreditsOwed >= 1) { Session.GetHabbo().Credits += CreditsOwed; Session.SendPacket(new CreditBalanceComposer(Session.GetHabbo().Credits)); } using (IQueryAdapter dbClient = PlusEnvironment.GetDatabaseManager().GetQueryReactor()) { dbClient.RunQuery("DELETE FROM `catalog_marketplace_offers` WHERE `user_id` = '" + Session.GetHabbo().Id + "' AND `state` = '2'"); } } }
public void Parse(HabboHotel.GameClients.GameClient Session, ClientPacket Packet) { if (Session == null || Session.GetHabbo() == null || !Session.GetHabbo().InRoom) { return; } Room Room = Session.GetHabbo().CurrentRoom; if (Room == null) { return; } RoomUser RoomUser = Room.GetRoomUserManager().GetRoomUserByHabbo(Session.GetHabbo().Id); if (RoomUser == null) { return; } Trade Trade = null; if (!Room.GetTrading().TryGetTrade(RoomUser.TradeId, out Trade)) { Session.SendPacket(new TradingClosedComposer(Session.GetHabbo().Id)); return; } Trade.EndTrade(Session.GetHabbo().Id); }
public void Parse(HabboHotel.GameClients.GameClient Session, ClientPacket Packet) { if (!Session.GetHabbo().GetPermissions().HasRight("mod_tool")) { return; } int RoomId = Packet.PopInt(); RoomData Data = PlusEnvironment.GetGame().GetRoomManager().GenerateRoomData(RoomId); if (Data == null) { return; } Room Room; if (!PlusEnvironment.GetGame().GetRoomManager().TryGetRoom(RoomId, out Room)) { return; } Session.SendPacket(new ModeratorRoomInfoComposer(Data, (Room.GetRoomUserManager().GetRoomUserByHabbo(Data.OwnerName) != null))); }
public void Parse(HabboHotel.GameClients.GameClient Session, ClientPacket Packet) { int userID = Packet.PopInt(); Boolean IsMe = Packet.PopBoolean(); Habbo targetData = PlusEnvironment.GetHabboById(userID); if (targetData == null) { Session.SendNotification("An error occured whilst finding that user's profile."); return; } List <Group> Groups = PlusEnvironment.GetGame().GetGroupManager().GetGroupsForUser(targetData.Id); int friendCount = 0; using (IQueryAdapter dbClient = PlusEnvironment.GetDatabaseManager().GetQueryReactor()) { dbClient.SetQuery("SELECT COUNT(0) FROM `messenger_friendships` WHERE (`user_one_id` = @userid OR `user_two_id` = @userid)"); dbClient.AddParameter("userid", userID); friendCount = dbClient.GetInteger(); } Session.SendPacket(new ProfileInformationComposer(targetData, Session, Groups, friendCount)); }
public void Parse(HabboHotel.GameClients.GameClient Session, ClientPacket Packet) { if (Session == null || Session.GetHabbo() == null || !Session.GetHabbo().GetPermissions().HasRight("mod_tickets")) { return; } int TicketId = Packet.PopInt(); ModerationTicket Ticket = null; if (!PlusEnvironment.GetGame().GetModerationManager().TryGetTicket(TicketId, out Ticket) || Ticket.Room == null) { return; } RoomData Data = PlusEnvironment.GetGame().GetRoomManager().GenerateRoomData(Ticket.Room.Id); if (Data == null) { return; } Session.SendPacket(new ModeratorTicketChatlogComposer(Ticket, Data, Ticket.Timestamp)); }
public void Parse(HabboHotel.GameClients.GameClient Session, ClientPacket Packet) { int GroupId = Packet.PopInt(); string Name = PlusEnvironment.GetGame().GetChatManager().GetFilter().CheckMessage(Packet.PopString()); string Desc = PlusEnvironment.GetGame().GetChatManager().GetFilter().CheckMessage(Packet.PopString()); Group Group = null; if (!PlusEnvironment.GetGame().GetGroupManager().TryGetGroup(GroupId, out Group)) { return; } if (Group.CreatorId != Session.GetHabbo().Id) { return; } using (IQueryAdapter dbClient = PlusEnvironment.GetDatabaseManager().GetQueryReactor()) { dbClient.SetQuery("UPDATE `groups` SET `name`= @name, `desc` = @desc WHERE `id` = @groupId LIMIT 1"); dbClient.AddParameter("name", Name); dbClient.AddParameter("desc", Desc); dbClient.AddParameter("groupId", GroupId); dbClient.RunQuery(); } Group.Name = Name; Group.Description = Desc; Session.SendPacket(new GroupInfoComposer(Group, Session)); }
public void Parse(HabboHotel.GameClients.GameClient Session, ClientPacket Packet) { int SellingPrice = Packet.PopInt(); int ComissionPrice = Packet.PopInt(); int ItemId = Packet.PopInt(); Item Item = Session.GetHabbo().GetInventoryComponent().GetItem(ItemId); if (Item == null) { Session.SendPacket(new MarketplaceMakeOfferResultComposer(0)); return; } if (!ItemUtility.IsRare(Item)) { return; } if (SellingPrice > 99999 || SellingPrice <= 0) { Session.SendPacket(new MarketplaceMakeOfferResultComposer(0)); return; } int Comission = ButterflyEnvironment.GetGame().GetCatalog().GetMarketplace().CalculateComissionPrice((float)SellingPrice); int TotalPrice = SellingPrice + Comission; int ItemType = 1; if (Item.GetBaseItem().Type == 'i') { ItemType++; } using (IQueryAdapter dbClient = ButterflyEnvironment.GetDatabaseManager().GetQueryReactor()) { dbClient.RunQuery("DELETE items, items_limited FROM items LEFT JOIN items_limited ON(items_limited.item_id = items.id) WHERE `id` = '" + ItemId + "'"); dbClient.SetQuery("INSERT INTO `catalog_marketplace_offers` (`furni_id`,`item_id`,`user_id`,`asking_price`,`total_price`,`public_name`,`sprite_id`,`item_type`,`timestamp`,`extra_data`,`limited_number`,`limited_stack`) VALUES ('" + ItemId + "','" + Item.BaseItem + "','" + Session.GetHabbo().Id + "','" + SellingPrice + "','" + TotalPrice + "',@public_name,'" + Item.GetBaseItem().SpriteId + "','" + ItemType + "','" + ButterflyEnvironment.GetUnixTimestamp() + "',@extra_data, '" + Item.LimitedNo + "', '" + Item.LimitedTot + "')"); dbClient.AddParameter("public_name", Item.GetBaseItem().ItemName); dbClient.AddParameter("extra_data", Item.ExtraData); dbClient.RunQuery(); } Session.GetHabbo().GetInventoryComponent().RemoveItem(ItemId); Session.SendPacket(new MarketplaceMakeOfferResultComposer(1)); }
public void Parse(HabboHotel.GameClients.GameClient Session, ClientPacket Packet) { if (Session == null || Session.GetHabbo() == null || !Session.GetHabbo().InRoom) { return; } Room Room = Session.GetHabbo().CurrentRoom; if (Room == null) { return; } RoomUser RoomUser = Room.GetRoomUserManager().GetRoomUserByHabbo(Session.GetHabbo().Id); if (RoomUser == null) { return; } int ItemId = Packet.PopInt(); Trade Trade = null; if (!Room.GetTrading().TryGetTrade(RoomUser.TradeId, out Trade)) { Session.SendPacket(new TradingClosedComposer(Session.GetHabbo().Id)); return; } Item Item = Session.GetHabbo().GetInventoryComponent().GetItem(ItemId); if (Item == null) { return; } if (!Trade.CanChange) { return; } TradeUser User = Trade.Users[0]; if (User.RoomUser != RoomUser) { User = Trade.Users[1]; } if (!User.OfferedItems.ContainsKey(Item.Id)) { return; } Trade.RemoveAccepted(); User.OfferedItems.Remove(Item.Id); Trade.SendPacket(new TradingUpdateComposer(Trade)); }