public void Parse(HabboHotel.GameClients.GameClient Session, ClientPacket Packet)
        {
            if (Session == null || Session.GetHabbo() == null)
            {
                return;
            }

            if (!Session.GetHabbo().InRoom)
            {
                return;
            }

            int ItemId = Packet.PopInt();

            Session.SendMessage(new HideWiredConfigComposer());

            Room Room = Session.GetHabbo().CurrentRoom;

            if (Room == null)
            {
                return;
            }

            if (!Room.CheckRights(Session, false) && !Room.CheckRights(Session, true))
            {
                return;
            }

            Item SelectedItem = Room.GetRoomItemHandler().GetItem(ItemId);

            if (SelectedItem == null)
            {
                return;
            }

            IWiredItem Box = null;

            if (!Session.GetHabbo().CurrentRoom.GetWired().TryGet(ItemId, out Box))
            {
                return;
            }

            if (Box.Type == WiredBoxType.EffectGiveUserBadge && !Session.GetHabbo().GetPermissions().HasRight("room_item_wired_rewards"))
            {
                Session.SendNotification("You don't have the correct permissions to do this.");
                return;
            }

            Box.HandleSave(Packet);
            Session.GetHabbo().CurrentRoom.GetWired().SaveBox(Box);
        }
예제 #2
0
        public void Parse(GameClient session, ClientPacket packet)
        {
            if (session?.GetHabbo() == null)
            {
                return;
            }

            if (!session.GetHabbo().InRoom)
            {
                return;
            }

            var room = session.GetHabbo().CurrentRoom;

            if (room == null || !room.CheckRights(session, false, true))
            {
                return;
            }

            var itemId = packet.PopInt();

            session.SendPacket(new HideWiredConfigComposer());

            var selectedItem = room.GetRoomItemHandler().GetItem(itemId);

            if (selectedItem == null)
            {
                return;
            }

            IWiredItem box = null;

            if (!session.GetHabbo().CurrentRoom.GetWired().TryGet(itemId, out box))
            {
                return;
            }

            if (box.Type == WiredBoxType.EffectGiveUserBadge && !session.GetHabbo().GetPermissions().HasRight("room_item_wired_rewards"))
            {
                session.SendNotification("You don't have the correct permissions to do this.");
                return;
            }

            box.HandleSave(packet);
            session.GetHabbo().CurrentRoom.GetWired().SaveBox(box);
        }