Code:
if (Item.GetBaseItem().InteractionType == InteractionType.arrowplate && User.GoalX == Item.GetX && User.GoalY == Item.GetY) {
if (TeleHandler.IsTeleLinked(Item.Id, room))
{
uint linkedTele = TeleHandler.GetLinkedTele(Item.Id, room);
uint teleRoomId = TeleHandler.GetTeleRoomId(linkedTele, room);
Room newRoom = ButterflyEnvironment.GetGame().GetRoomManager().LoadRoom(teleRoomId);
Room oldRoom = ButterflyEnvironment.GetGame().GetRoomManager().LoadRoom(room.RoomId);
if (teleRoomId == room.RoomId)
{
RoomItem roomItem2 = room.GetRoomItemHandler().GetItem(linkedTele);
if (roomItem2 != null)
{
User.SetPos(roomItem2.GetX, roomItem2.GetY, roomItem2.GetZ);
User.SetRot(roomItem2.Rot, false);
roomItem2.ExtraData = "2";
roomItem2.UpdateState(false, true);
}
}
else
{
User.GetClient().GetHabbo().IsTeleporting = true;
User.GetClient().GetHabbo().TeleportingRoomID = teleRoomId;
User.GetClient().GetHabbo().TeleporterId = linkedTele;
User.GetClient().GetMessageHandler().PrepareRoomForUser(teleRoomId, "");
}
}
else
User.UnlockWalking();
}