public void Execute(GameClients.GameClient Session, Rooms.Room Room, string[] Params) { if (!Room.CheckRights(Session, true)) return; Room.GetRoomItemHandler().RemoveItems(Session); using (IQueryAdapter dbClient = PlusEnvironment.GetDatabaseManager().GetQueryReactor()) { dbClient.SetQuery("UPDATE `items` SET `room_id` = '0' WHERE `room_id` = @RoomId AND `user_id` = @UserId"); dbClient.AddParameter("RoomId", Room.Id); dbClient.AddParameter("UserId", Session.GetHabbo().Id); dbClient.RunQuery(); } List<Item> Items = Room.GetRoomItemHandler().GetWallAndFloor.ToList(); if (Items.Count > 0) Session.SendWhisper("There are still more items in this room, manually remove them or use :ejectall to eject them!"); Session.SendMessage(new FurniListUpdateComposer()); }
public void Execute(GameClients.GameClient Session, Rooms.Room Room, string[] Params) { if (Session.GetHabbo().Id == Room.OwnerId) { //Let us check anyway. if (!Room.CheckRights(Session, true)) return; foreach (Item Item in Room.GetRoomItemHandler().GetWallAndFloor.ToList()) { if (Item == null || Item.UserID == Session.GetHabbo().Id) continue; GameClient TargetClient = PlusEnvironment.GetGame().GetClientManager().GetClientByUserID(Item.UserID); if (TargetClient != null && TargetClient.GetHabbo() != null) { Room.GetRoomItemHandler().RemoveFurniture(TargetClient, Item.Id); TargetClient.GetHabbo().GetInventoryComponent().AddNewItem(Item.Id, Item.BaseItem, Item.ExtraData, Item.GroupId, true, true, Item.LimitedNo, Item.LimitedTot); TargetClient.GetHabbo().GetInventoryComponent().UpdateItems(false); } else { Room.GetRoomItemHandler().RemoveFurniture(null, Item.Id); using (IQueryAdapter dbClient = PlusEnvironment.GetDatabaseManager().GetQueryReactor()) { dbClient.RunQuery("UPDATE `items` SET `room_id` = '0' WHERE `id` = '" + Item.Id + "' LIMIT 1"); } } } } else { foreach (Item Item in Room.GetRoomItemHandler().GetWallAndFloor.ToList()) { if (Item == null || Item.UserID != Session.GetHabbo().Id) continue; GameClient TargetClient = PlusEnvironment.GetGame().GetClientManager().GetClientByUserID(Item.UserID); if (TargetClient != null && TargetClient.GetHabbo() != null) { Room.GetRoomItemHandler().RemoveFurniture(TargetClient, Item.Id); TargetClient.GetHabbo().GetInventoryComponent().AddNewItem(Item.Id, Item.BaseItem, Item.ExtraData, Item.GroupId, true, true, Item.LimitedNo, Item.LimitedTot); TargetClient.GetHabbo().GetInventoryComponent().UpdateItems(false); } else { Room.GetRoomItemHandler().RemoveFurniture(null, Item.Id); using (IQueryAdapter dbClient = PlusEnvironment.GetDatabaseManager().GetQueryReactor()) { dbClient.RunQuery("UPDATE `items` SET `room_id` = '0' WHERE `id` = '" + Item.Id + "' LIMIT 1"); } } } } }
internal bool PlayVideoInRoom(Rooms.Room Room, string Video) { Video = Video.Replace("http://www.youtube.", ""); Video = Video.Replace("www.youtube.", ""); try { Video = Video.Split('=')[1]; } catch { return false; } if (Video == "") return false; foreach (PlayerTV Tv in LoadedTVs.Values) { if (Tv.RoomId == Room.RoomId) { Tv.CustomVideo = Video; RoomItem Item = Room.GetRoomItemHandler().GetItem(Tv.Item); if (Item != null) { Item.ExtraData = Video; var ServerMessage = new ServerMessage(Outgoing.UpdateRoomItemMessageComposer); Item.Serialize(ServerMessage); Room.SendMessage(ServerMessage); } } } return true; }