fixed 
Code:
else if (Item.GetBaseItem().InteractionType.ToLower() == "roller")
{
Coord UserPos = new Coord(User.X, User.Y);
Coord ItemPos = new Coord(Item.X, Item.Y);
if (UserPos == ItemPos)
{
waitRoller(1000);
int newX = Item.SquareInFront.x;
int newY = Item.SquareInFront.y;
SendMessage(RollingGallo(User, newY, newX, Item));
User.X = newX;
User.Y = newY;
User.UpdateNeeded = true;
}
}
and this
Code:
public ServerMessage RollingGallo(RoomUser User, int newY, int newX, RoomItem Item)
{
ServerMessage Message = new ServerMessage(230);
Message.AppendInt32(User.X);
Message.AppendInt32(User.Y);
Message.AppendInt32(newX);
Message.AppendInt32(newY);
Message.AppendBoolean(false);
Message.AppendUInt(Item.Id);
Message.AppendInt32(2);
Message.AppendBoolean(false);
Message.AppendString(SqAbsoluteHeight(User.X, User.Y).ToString() + Convert.ToChar(2) + SqAbsoluteHeight(newX, newY).ToString() + Convert.ToChar(2) + Convert.ToChar(1));
return Message;
}
but only 2 turn and not wait :S