Added roller glitch. See Issue #47

This commit is contained in:
Beny 2019-05-16 10:27:06 +01:00
parent 793d48961d
commit 60536d9fdf
2 changed files with 28 additions and 14 deletions

View File

@ -1737,13 +1737,21 @@ public class Room implements Comparable<Room>, ISerialize, Runnable
if (item != null && itemsNewTile.contains(item)) if (item != null && itemsNewTile.contains(item))
{ {
try Emulator.getThreading().run(new Runnable() {
{ @Override
item.onWalkOn(unit, room, null); public void run() {
} catch (Exception e) if (unit.getGoal() == rollerTile)
{ {
Emulator.getLogging().logErrorLine(e); try
} {
item.onWalkOn(unit, room, null);
} catch (Exception e)
{
Emulator.getLogging().logErrorLine(e);
}
}
}
}, 500);
} }
} }

View File

@ -1,5 +1,6 @@
package com.eu.habbo.messages.outgoing.rooms.users; 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.Room;
import com.eu.habbo.habbohotel.rooms.RoomTile; import com.eu.habbo.habbohotel.rooms.RoomTile;
import com.eu.habbo.habbohotel.rooms.RoomUnit; 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()); RoomTile rollerTile = room.getLayout().getTile(this.roller.getX(), this.roller.getY());
if (RoomUnitOnRollerComposer.this.oldLocation == rollerTile && RoomUnitOnRollerComposer.this.roomUnit.getGoal() == rollerTile) Emulator.getThreading().run(new Runnable() {
{ @Override
RoomUnitOnRollerComposer.this.roomUnit.setLocation(room.getLayout().getTile(newLocation.x, newLocation.y)); public void run() {
RoomUnitOnRollerComposer.this.roomUnit.setPreviousLocationZ(RoomUnitOnRollerComposer.this.newLocation.getStackHeight()); if (RoomUnitOnRollerComposer.this.oldLocation == rollerTile && RoomUnitOnRollerComposer.this.roomUnit.getGoal() == rollerTile)
RoomUnitOnRollerComposer.this.roomUnit.setZ(RoomUnitOnRollerComposer.this.newLocation.getStackHeight()); {
RoomUnitOnRollerComposer.this.roomUnit.sitUpdate = true; 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 else
{ {