diff --git a/src/main/java/com/eu/habbo/habbohotel/rooms/Room.java b/src/main/java/com/eu/habbo/habbohotel/rooms/Room.java index f02726dd..aadeb5e2 100644 --- a/src/main/java/com/eu/habbo/habbohotel/rooms/Room.java +++ b/src/main/java/com/eu/habbo/habbohotel/rooms/Room.java @@ -1737,13 +1737,21 @@ public class Room implements Comparable, ISerialize, Runnable if (item != null && itemsNewTile.contains(item)) { - try - { - item.onWalkOn(unit, room, null); - } catch (Exception e) - { - Emulator.getLogging().logErrorLine(e); - } + Emulator.getThreading().run(new Runnable() { + @Override + public void run() { + if (unit.getGoal() == rollerTile) + { + try + { + item.onWalkOn(unit, room, null); + } catch (Exception e) + { + Emulator.getLogging().logErrorLine(e); + } + } + } + }, 500); } } diff --git a/src/main/java/com/eu/habbo/messages/outgoing/rooms/users/RoomUnitOnRollerComposer.java b/src/main/java/com/eu/habbo/messages/outgoing/rooms/users/RoomUnitOnRollerComposer.java index 70b79890..88833dc9 100644 --- a/src/main/java/com/eu/habbo/messages/outgoing/rooms/users/RoomUnitOnRollerComposer.java +++ b/src/main/java/com/eu/habbo/messages/outgoing/rooms/users/RoomUnitOnRollerComposer.java @@ -1,5 +1,6 @@ package com.eu.habbo.messages.outgoing.rooms.users; +import com.eu.habbo.Emulator; import com.eu.habbo.habbohotel.rooms.Room; import com.eu.habbo.habbohotel.rooms.RoomTile; import com.eu.habbo.habbohotel.rooms.RoomUnit; @@ -62,13 +63,18 @@ public class RoomUnitOnRollerComposer extends MessageComposer { RoomTile rollerTile = room.getLayout().getTile(this.roller.getX(), this.roller.getY()); - if (RoomUnitOnRollerComposer.this.oldLocation == rollerTile && RoomUnitOnRollerComposer.this.roomUnit.getGoal() == rollerTile) - { - RoomUnitOnRollerComposer.this.roomUnit.setLocation(room.getLayout().getTile(newLocation.x, newLocation.y)); - RoomUnitOnRollerComposer.this.roomUnit.setPreviousLocationZ(RoomUnitOnRollerComposer.this.newLocation.getStackHeight()); - RoomUnitOnRollerComposer.this.roomUnit.setZ(RoomUnitOnRollerComposer.this.newLocation.getStackHeight()); - RoomUnitOnRollerComposer.this.roomUnit.sitUpdate = true; - } + Emulator.getThreading().run(new Runnable() { + @Override + public void run() { + if (RoomUnitOnRollerComposer.this.oldLocation == rollerTile && RoomUnitOnRollerComposer.this.roomUnit.getGoal() == rollerTile) + { + RoomUnitOnRollerComposer.this.roomUnit.setLocation(room.getLayout().getTile(newLocation.x, newLocation.y)); + RoomUnitOnRollerComposer.this.roomUnit.setPreviousLocationZ(RoomUnitOnRollerComposer.this.newLocation.getStackHeight()); + RoomUnitOnRollerComposer.this.roomUnit.setZ(RoomUnitOnRollerComposer.this.newLocation.getStackHeight()); + RoomUnitOnRollerComposer.this.roomUnit.sitUpdate = true; + } + } + }, 500); } else {