Find:
Add after:Code:Messenger.OnStatusChanged(false);
[code] foreach (RoomItem Itemit in Room.Items)
{
if (Itemit.GetBaseItem().InteractionType.ToLower() == "roller")
{
try
{
Thread Roller = new Thread(delegate() { Room.RollerItemProcess(User, Itemit); });
Roller.Start();
Room.HasThread.Add(User.HabboId, Roller);
}
catch { }
}
Add to Room.cs top
Add to Room.csCode:using System.Threading;[/room] }
If room hasn't rollers before, you must re-enter room. Items moving roller.Code:public void RollerItemProcess(RoomUser User, RoomItem RollerItem) { Room Room = UberEnvironment.GetGame().GetRoomManager().GetRoom(RoomId); for (int i = 0; i < 999999999; i++) { Thread.Sleep(2000); foreach (RoomItem Itemit in Items) { if (Itemit.GetBaseItem().InteractionType.ToLower() != "roller" && Itemit.X == RollerItem.X && Itemit.Y == RollerItem.Y) { int nextx = RollerItem.SquareInFront.x; int nexty = RollerItem.SquareInFront.y; ServerMessage Message2 = new ServerMessage(230); Message2.AppendInt32(RollerItem.X); Message2.AppendInt32(RollerItem.Y); Message2.AppendInt32(nextx); Message2.AppendInt32(nexty); Message2.AppendInt32(1); Message2.AppendUInt(Itemit.Id); Message2.AppendString(Itemit.Z.ToString().Replace(",", ".")); Message2.AppendString(Convert.ToChar(2).ToString()); Message2.AppendString(Itemit.Z.ToString().Replace(",", ".")); Message2.AppendString(Convert.ToChar(2).ToString()); Message2.AppendUInt(Itemit.Id); SendMessage(Message2); SetFloorItem(User.GetClient(), Itemit, nextx, nexty, Itemit.Rot, false); } } Thread.Sleep(2000); if (Room.UserCount == 0) { break; } } }
Edit:
Not tested code, furni move no re-enter required:
Add FurniInteractor.cs
Find:Code:class InteractorRoller : FurniInteractor { public override void OnPlace(GameClient Session, RoomItem Item) { Room Room = UberEnvironment.GetGame().GetRoomManager().GetRoom(Item.RoomId); RoomUser User = Room.GetRoomUserByHabbo(Session.GetHabbo().Username); foreach (RoomItem Itemit in Room.Items) { if (Itemit.GetBaseItem().InteractionType.ToLower() == "roller") { try { Thread Roller = new Thread(delegate() { Room.RollerItemProcess(User, Itemit); }); Roller.Start(); Room.HasThread.Add(User.HabboId, Roller); } catch { } } } } public override void OnRemove(GameClient Session, RoomItem Item) { } public override void OnTrigger(GameClient Session, RoomItem Item, int Request, bool UserHasRights) { } }
Add after:Code:case "scoreboard": return new InteractorScoreboard();
Code:case "roller": return new InteractorRoller();


![[UBEREMU] Furni moving in roller 80%](http://ragezone.com/hyper728.png)


