Fix Uber rollers 100%

Status
Not open for further replies.
Newbie Spellweaver
Joined
Dec 24, 2008
Messages
6
Reaction score
0
Hi teach them how to install the emulator

The code is compatible with this FIXEADO UBER EMU and the effect of the rollers

First go to HabboHotel >> Rooms >> Room.cs

first searches search

Code:
if (Item.GetBaseItem().InteractionType.To Lower() == "bed")
                {
                    if (!User.Statusses.Cont ainsKey("lay"))
                    {
                        User.Statusses.Add("lay", Item.GetBaseItem().Height.ToString().Replace(',', '.') + " null");
                    }

                    User.Z = Item.Z;
                    User.RotHead = Item.Rot;
                    User.RotBody = Item.Rot;

                    User.UpdateNeeded = true;

                }

And down that you put the code:

Code:
else if (Item.GetBaseItem().InteractionType.ToLower() == "swim2")
                {
                    int EffectId2 = 30;
                    ServerMessage Message = new ServerMessage(485);
                    Message.AppendInt32(User.VirtualId);
                    Message.AppendInt32(EffectId2);
                    SendMessage(Message);


            }



                else if (Item.GetBaseItem().InteractionType.ToLower() == "roller")
                {
                    #region Paquete y algunos datos de los rollers.
                    //[14-7-2009 15:48:52 from 62.50.35.171:30000] 
                    //@bIHPBJ0.0HH/flatctrl useradmin//

                    //[14-7-2009 15:48:52 from 62.50.35.171:30000] 
                    //@bIHPBK0.0HH/flatctrl useradmin/mv 8,2,0.0//

                    //[14-7-2009 15:48:49 from 62.50.35.171:30000] 
                    //@bIHPBK0.0PAPA/flatctrl useradmin//

                    //[14-7-2009 15:48:48 from 62.50.35.171:30000] 
                    //@bIHPBJ0.0PAPA/flatctrl useradmin/mv 8,3,0.0//

                    //rollers
                    //[14-7-2009 15:46:56 from 62.50.35.171:30000] 
                    //@bIHRBJ0.45II/flatctrl useradmin//

                    //[14-7-2009 15:46:56 from 62.50.35.171:30000] 
                    //@bIHRBJ0.45II/flatctrl useradmin///
                    /*
                     R -> Movimiento
                     4 -> Adelante Y + 1
                     0 -> Hacia detras Y - 1
                     6 -> X- 1 hacia izq.
                     2 -> X + 1hacia derecha
*/
                    #endregion
    
                    #region Variables
                    int newX = 0;
                    int newY = 0;
                    Coord UserPos = new Coord(User.X, User.Y);
                    Coord ItemPos = new Coord(Item.X, Item.Y);
                    #endregion
                    #region ¡Movemos el RollingGallo!
                    if (UserPos == ItemPos)
                    {
                        User.RemoveStatus("mv");
                        User.UpdateNeeded = true;
                        #region Hacia delante
                        if (Item.Rot == 4)
                        {
                            // Thread.Sleep(time);
                            newY = User.Y + 1;
                            Coord MoveTo = new Coord(User.X, newY);
                            waitRoller(300);
                            
                            User.MoveTo(MoveTo);
                            User.RemoveStatus("mv");
                            User.UpdateNeeded = true;
                            SendMessage(RollingGallo(User, newY, User.X, Item));
                        }
                        #endregion
                        #region Hacia detrás
                        if (Item.Rot == 0)
                        {
                            // Thread.Sleep(time);
                            newY = User.Y - 1;
                            Coord MoveTo = new Coord(User.X, newY);
                            waitRoller(300);
                            
                            User.MoveTo(MoveTo);
                            User.RemoveStatus("mv");
                            User.UpdateNeeded = true;
                            User.UpdateNeeded = true;
                            User.ResetStatus();
                            SendMessage(RollingGallo(User, newY, User.X, Item));
                        }
                        #endregion
                        #region Hacia izquierda
                        if (Item.Rot == 6)
                        {
                            // Thread.Sleep(time);
                            newX = User.X - 1;
                            Coord MoveTo = new Coord(newX, User.Y);
                            waitRoller(300);
                            
                            User.MoveTo(MoveTo);
                            User.RemoveStatus("mv");
                            User.UpdateNeeded = true;
                            User.ResetStatus();
                            SendMessage(RollingGallo(User, User.Y, newX, Item));
                        }
                        #endregion
                        #region Hacia derecha
                        if (Item.Rot == 2)
                        {
                            // Thread.Sleep(time);
                            newX = User.X + 1;
                            Coord MoveTo = new Coord(newX, User.Y);
                            waitRoller(300);
                            
                            User.MoveTo(MoveTo);
                            User.RemoveStatus("mv");
                            User.UpdateNeeded = true;
                            User.ResetStatus();
                            SendMessage(RollingGallo(User, User.Y, newX, Item));
                        }
                        #endregion

                        
                    }
                    #endregion

                }

Step Two:

After looking:

public bool ValidTile(int X, int Y)
{
if (X < 0 || Y < 0 || X >= Model.MapSizeX || Y >= Model.MapSizeY)
{
return false;
}

return true;
}

And you put down that:

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.AppendBoole an(false);
            Message.AppendUInt(Item.Id);
            Message.AppendInt32(2);
            Message.AppendBoole an(false);
            Message.AppendStrin g("0.45" + Convert.ToChar(2) + "0.0" + Convert.ToChar(2) + Convert.ToChar(1));

            return Message;
        }

Code:
private void waitRoller(int time)
        {
            int i = 0;
            while (time > i)
            {
                i++;
            }
            
        }

And then debug.

You must have the interaction_type of rollers and stack_height 0.5.

And sorry for my English I speak Spanish xD



 
Last edited:
It's not 100% .. Furni can't roll and rollers dont roll and you walk when you roll. But goodjob anyways.



wheel roller if you follow along with not prove it does not cost complaining
if you have the animation "ROLL"
also say that in the video does not show much as it is of poor quality video
 
Last edited:
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
 
Last edited:
Rollers are meant to move you every 2 secs, your meant to use AX + ITEMID + I / AX + ITEMID + H to make the roller move and your not meant to have the walking animation just a slideeeeeee.

Hope that helps some people.

:)
 
@Habchop, im trying to do that but how do you send the AX packet? :P
 
@Habchop, im trying to do that but how do you send the AX packet? :P

I'm pretty sure

PHP:
                    ServerMessage RollerActive = new ServerMessage(88);
                    RollerActive.AppendInt32(Item.Id);
                    RollerActive.AppendBoolean(true);
                    SendMessage(RollerActive);

would work...
Not tested and can't be bothered, I no longer use Uber.

If that doesn't work use errm Appendwithbreak or w.e
 
Last edited:
So that's only the AX packet, we need also I and H right?

Sorry for those dumb questions but i just can't seem to figure it out.
 
Status
Not open for further replies.
Back