From 89883d868f98ea9e72ba34e72b517726ffae1d22 Mon Sep 17 00:00:00 2001 From: duckietm Date: Mon, 6 May 2024 15:22:44 +0200 Subject: [PATCH] Fix: more then 1 item --- .../rooms/items/RoomPickupChooserEvent.java | 41 ++++++++++--------- 1 file changed, 21 insertions(+), 20 deletions(-) diff --git a/Emulator/src/main/java/com/eu/habbo/messages/incoming/rooms/items/RoomPickupChooserEvent.java b/Emulator/src/main/java/com/eu/habbo/messages/incoming/rooms/items/RoomPickupChooserEvent.java index 73896ec..c7e3649 100644 --- a/Emulator/src/main/java/com/eu/habbo/messages/incoming/rooms/items/RoomPickupChooserEvent.java +++ b/Emulator/src/main/java/com/eu/habbo/messages/incoming/rooms/items/RoomPickupChooserEvent.java @@ -1,38 +1,39 @@ package com.eu.habbo.messages.incoming.rooms.items; - import com.eu.habbo.habbohotel.permissions.Permission; - import com.eu.habbo.habbohotel.rooms.Room; - import com.eu.habbo.habbohotel.users.HabboItem; - import com.eu.habbo.messages.incoming.MessageHandler; +import com.eu.habbo.habbohotel.permissions.Permission; +import com.eu.habbo.habbohotel.rooms.Room; +import com.eu.habbo.habbohotel.users.HabboItem; +import com.eu.habbo.messages.incoming.MessageHandler; public class RoomPickupChooserEvent extends MessageHandler { @Override public void handle() throws Exception { - int category = this.packet.readInt(); - int itemId = this.packet.readInt(); + int count = this.packet.readInt(); Room room = this.client.getHabbo().getHabboInfo().getCurrentRoom(); if (room == null) return; - HabboItem item = room.getHabboItem(itemId); + for (int i = 0; i < count; i++) { + int itemId = this.packet.readInt(); + HabboItem item = room.getHabboItem(itemId); - if (item == null) - return; + if (item != null) { + if (item.getUserId() == this.client.getHabbo().getHabboInfo().getId()) { + room.pickUpItem(item, this.client.getHabbo()); + } else { + if (room.hasRights(this.client.getHabbo())) { + if (this.client.getHabbo().hasPermission(Permission.ACC_ANYROOMOWNER)) { + item.setUserId(this.client.getHabbo().getHabboInfo().getId()); + } else if (this.client.getHabbo().getHabboInfo().getId() != room.getOwnerId() && item.getUserId() == room.getOwnerId()) { + continue; + } - if (item.getUserId() == this.client.getHabbo().getHabboInfo().getId()) { - room.pickUpItem(item, this.client.getHabbo()); - } else { - if (room.hasRights(this.client.getHabbo())) { - if (this.client.getHabbo().hasPermission(Permission.ACC_ANYROOMOWNER)) { - item.setUserId(this.client.getHabbo().getHabboInfo().getId()); - } else if (this.client.getHabbo().getHabboInfo().getId() != room.getOwnerId() && item.getUserId() == room.getOwnerId()) { - return; + room.ejectUserItem(item); + } } - - room.ejectUserItem(item); } } } -} +} \ No newline at end of file