MercuryEMU Teleport glitch

Brad

Well-Known Member
Jun 5, 2012
2,320
993
So what Happens is you quickly exit the tele before you tele then you can Tele lol.
Does anyone know how to fix? I Can't see what seems to be causing it
Thanks in advance.
555d875670f5cd93a318ce5fafcaba99.gif
 

Donnyschr

Member
Sep 13, 2014
73
10
Well, let me get back at ya. gonna test it right away!

UPDATE:

Got the same problem, check the source for teleports. I can't code C#, so i can't help you any furthur. I'm sorry!
 

Sledmore

Chaturbate Livestreamer
Staff member
FindRetros Moderator
Jul 24, 2010
5,199
3,929
Looks like an easy mistake. To me it looks like for some reason the "TeleportEnabled" boolean in the RoomUser class is set to true (for some reason?) So in RoomItem.cs (could be different here, not checked the source), find the teleporter case in the ProcessUpdates method and just remove "User.TeleportEnabled = true;".

And that should probably fix it.
 

Brad

Well-Known Member
Jun 5, 2012
2,320
993
Looks like an easy mistake. To me it looks like for some reason the "TeleportEnabled" boolean in the RoomUser class is set to true (for some reason?) So in RoomItem.cs (could be different here, not checked the source), find the teleporter case in the ProcessUpdates method and just remove "User.TeleportEnabled = true;".

And that should probably fix it.
Thankyou Elvis, but which one? theres 3 & I can't seem to change the right one


Code:
 else
                                                {
                                                    if (!roomUserByHabbo2.IsBot && roomUserByHabbo2 != null && roomUserByHabbo2.GetClient() != null && roomUserByHabbo2.GetClient().GetHabbo() != null && roomUserByHabbo2.GetClient().GetMessageHandler() != null)
                                                    {
                                                        roomUserByHabbo2.GetClient().GetHabbo().IsTeleporting = true;
                                                        roomUserByHabbo2.GetClient().GetHabbo().TeleportingRoomID = teleRoomId;
                                                        roomUserByHabbo2.GetClient().GetHabbo().TeleporterId = linkedTele;
                                                        roomUserByHabbo2.GetClient().GetMessageHandler().PrepareRoomForUser(teleRoomId, "");
                                                    }
                                                }
                                                this.InteractingUser = 0u;
                                            }
                                            else
                                            {
                                                roomUserByHabbo2.UnlockWalking();
                                                this.InteractingUser = 0u;
                                                roomUserByHabbo2.CanWalk = true;
                                                roomUserByHabbo2.TeleportEnabled = false;
                                                roomUserByHabbo2.MoveTo(this.SquareInFront);
                                            }
                                        }
                                        else
                                        {
                                            if (roomUserByHabbo2.Coordinate == this.SquareInFront)
                                            {
                                                roomUserByHabbo2.AllowOverride = true;
                                                flag3 = true;
                                                if (roomUserByHabbo2.IsWalking && (roomUserByHabbo2.GoalX != this.mX || roomUserByHabbo2.GoalY != this.mY))
                                                {
                                                    roomUserByHabbo2.ClearMovement(true);
                                                }
                                                roomUserByHabbo2.SetRot(PathFinding.PathFinder.CalculateRotation(roomUserByHabbo2.X, roomUserByHabbo2.Y, this.mX, this.mY));
                                                roomUserByHabbo2.CanWalk = false;
                                                roomUserByHabbo2.AllowOverride = true;
                                                roomUserByHabbo2.UnlockWalking();
                                                roomUserByHabbo2.TeleportEnabled = true;
                                                roomUserByHabbo2.MoveTo(this.GetX, this.GetY, true);
 

Sledmore

Chaturbate Livestreamer
Staff member
FindRetros Moderator
Jul 24, 2010
5,199
3,929
Thankyou Elvis, but which one? theres 3 & I can't seem to change the right one


Code:
 else
                                                {
                                                    if (!roomUserByHabbo2.IsBot && roomUserByHabbo2 != null && roomUserByHabbo2.GetClient() != null && roomUserByHabbo2.GetClient().GetHabbo() != null && roomUserByHabbo2.GetClient().GetMessageHandler() != null)
                                                    {
                                                        roomUserByHabbo2.GetClient().GetHabbo().IsTeleporting = true;
                                                        roomUserByHabbo2.GetClient().GetHabbo().TeleportingRoomID = teleRoomId;
                                                        roomUserByHabbo2.GetClient().GetHabbo().TeleporterId = linkedTele;
                                                        roomUserByHabbo2.GetClient().GetMessageHandler().PrepareRoomForUser(teleRoomId, "");
                                                    }
                                                }
                                                this.InteractingUser = 0u;
                                            }
                                            else
                                            {
                                                roomUserByHabbo2.UnlockWalking();
                                                this.InteractingUser = 0u;
                                                roomUserByHabbo2.CanWalk = true;
                                                roomUserByHabbo2.TeleportEnabled = false;
                                                roomUserByHabbo2.MoveTo(this.SquareInFront);
                                            }
                                        }
                                        else
                                        {
                                            if (roomUserByHabbo2.Coordinate == this.SquareInFront)
                                            {
                                                roomUserByHabbo2.AllowOverride = true;
                                                flag3 = true;
                                                if (roomUserByHabbo2.IsWalking && (roomUserByHabbo2.GoalX != this.mX || roomUserByHabbo2.GoalY != this.mY))
                                                {
                                                    roomUserByHabbo2.ClearMovement(true);
                                                }
                                                roomUserByHabbo2.SetRot(PathFinding.PathFinder.CalculateRotation(roomUserByHabbo2.X, roomUserByHabbo2.Y, this.mX, this.mY));
                                                roomUserByHabbo2.CanWalk = false;
                                                roomUserByHabbo2.AllowOverride = true;
                                                roomUserByHabbo2.UnlockWalking();
                                                roomUserByHabbo2.MoveTo(this.GetX, this.GetY, true);

Try this

Code:
 else
                                                {
                                                    if (!roomUserByHabbo2.IsBot && roomUserByHabbo2 != null && roomUserByHabbo2.GetClient() != null && roomUserByHabbo2.GetClient().GetHabbo() != null && roomUserByHabbo2.GetClient().GetMessageHandler() != null)
                                                    {
                                                        roomUserByHabbo2.GetClient().GetHabbo().IsTeleporting = true;
                                                        roomUserByHabbo2.GetClient().GetHabbo().TeleportingRoomID = teleRoomId;
                                                        roomUserByHabbo2.GetClient().GetHabbo().TeleporterId = linkedTele;
                                                        roomUserByHabbo2.GetClient().GetMessageHandler().PrepareRoomForUser(teleRoomId, "");
                                                    }
                                                }
                                                this.InteractingUser = 0u;
                                            }
                                            else
                                            {
                                                roomUserByHabbo2.UnlockWalking();
                                                this.InteractingUser = 0u;
                                                roomUserByHabbo2.CanWalk = true;
                                                roomUserByHabbo2.MoveTo(this.SquareInFront);
                                            }
                                        }
                                        else
                                        {
                                            if (roomUserByHabbo2.Coordinate == this.SquareInFront)
                                            {
                                                roomUserByHabbo2.AllowOverride = true;
                                                flag3 = true;
                                                if (roomUserByHabbo2.IsWalking && (roomUserByHabbo2.GoalX != this.mX || roomUserByHabbo2.GoalY != this.mY))
                                                {
                                                    roomUserByHabbo2.ClearMovement(true);
                                                }
                                                roomUserByHabbo2.SetRot(PathFinding.PathFinder.CalculateRotation(roomUserByHabbo2.X, roomUserByHabbo2.Y, this.mX, this.mY));
                                                roomUserByHabbo2.CanWalk = false;
                                                roomUserByHabbo2.AllowOverride = true;
                                                roomUserByHabbo2.UnlockWalking();
                                                roomUserByHabbo2.MoveTo(this.GetX, this.GetY, true);
 

NICEcookie

New Member
May 13, 2012
1
0
Hello, I fixed mine doing this in RoomItem.cs(line ~868):
After:
Code:
if (roomUserByHabbo2.IsWalking && (roomUserByHabbo2.GoalX != this.mX || roomUserByHabbo2.GoalY != this.mY))
                                                {
                                                    roomUserByHabbo2.ClearMovement(true);
                                                }
                                                roomUserByHabbo2.SetRot(PathFinding.PathFinder.CalculateRotation(roomUserByHabbo2.X, roomUserByHabbo2.Y, this.mX, this.mY));
                                                roomUserByHabbo2.CanWalk = false;
                                                roomUserByHabbo2.AllowOverride = true;
                                                roomUserByHabbo2.UnlockWalking();
                                                roomUserByHabbo2.TeleportEnabled = true;
                                                roomUserByHabbo2.MoveTo(this.GetX, this.GetY, true);

Place:
Code:
roomUserByHabbo2.TeleportEnabled = false;

Worked like a charm.
 
Last edited:

Users who are viewing this thread

Top