New: Add Chooser pickup items

This commit is contained in:
duckietm 2024-05-06 13:30:23 +02:00
parent 157da15d51
commit 998f7c97f9
4 changed files with 41 additions and 2 deletions

View File

@ -8,7 +8,6 @@ import com.eu.habbo.habbohotel.rooms.RoomUnit;
import com.eu.habbo.messages.ClientMessage;
import com.eu.habbo.messages.ServerMessage;
import com.eu.habbo.messages.outgoing.rooms.items.ItemStateComposer;
import gnu.trove.map.hash.TLongLongHashMap;
import org.slf4j.Logger;
import org.slf4j.LoggerFactory;

View File

@ -384,6 +384,7 @@ public class PacketManager {
this.registerHandler(Incoming.RotateMoveItemEvent, RotateMoveItemEvent.class);
this.registerHandler(Incoming.MoveWallItemEvent, MoveWallItemEvent.class);
this.registerHandler(Incoming.RoomPickupItemEvent, RoomPickupItemEvent.class);
this.registerHandler(Incoming.RoomPickupChooserEvent, RoomPickupChooserEvent.class);
this.registerHandler(Incoming.RoomPlacePaintEvent, RoomPlacePaintEvent.class);
this.registerHandler(Incoming.RoomUserStartTypingEvent, RoomUserStartTypingEvent.class);
this.registerHandler(Incoming.RoomUserStopTypingEvent, RoomUserStopTypingEvent.class);

View File

@ -134,6 +134,7 @@ public class Incoming {
public static final int BotSettingsEvent = 1986;
public static final int StalkFriendEvent = 3997;
public static final int RoomPickupItemEvent = 3456;
public static final int RoomPickupChooserEvent = 10017;
public static final int RedeemItemEvent = 3115;
public static final int RequestFriendsEvent = 1523;
public static final int RequestAchievementsEvent = 219;

View File

@ -0,0 +1,38 @@
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;
public class RoomPickupChooserEvent extends MessageHandler {
@Override
public void handle() throws Exception {
int category = this.packet.readInt();
int itemId = this.packet.readInt();
Room room = this.client.getHabbo().getHabboInfo().getCurrentRoom();
if (room == null)
return;
HabboItem item = room.getHabboItem(itemId);
if (item == null)
return;
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);
}
}
}
}