Jump to content
This site uses cookies! Learn More

This site uses cookies!

By continuing to use this site, you agree to allow us to store cookies on your computer. :)

  • Add offmesh (forced) for Barrens Elevator


    Matenia
    • Version: All Product: WRobot General Type: Bug Status: Fixed

    Hey Droidz,

    recently, you added the ability to have OffMesh connections even when wRobot can make a path.
    Can you add the barrens elevator (Vanilla => WotLK) to it server side? I am currently having issues with intercepting movement events. Sometimes they are just not firing correctly and I can't intercept to take the elevator. If I pause/unpause the bot, it works again.

    I have similar problems with tram (but it's not that bad and I can probably somehow fix it).

    Important coordinates:
     

    private static Vector3 _topStart = new Vector3(-4659.659, -1828.934, 85.31983); // position of character at elevator top
    private static Vector3 _bottomStart = new Vector3(-4668.06, -1822.035, -44.17824); // position of character after leaving elevator at bottom
    
    private static Vector3 _topPositionOnElevator = new Vector3(-4665.093, -1827.918, 85.44527); // position of character on elevator 
    private static Vector3 _bottomPositionOnElevator = new Vector3(-4665.786, -1827.557, -43.85461); // position of character on elevator 
    
    private static Vector3 _topElevatorPosition = new Vector3(-4665.43f, -1827.67f, 85.4053f); // elevator standing still (reached top)
    private static Vector3 _bottomElevatorPosition = new Vector3(-4665.43f, -1827.67f, -43.89458f); // elevator standing still (reached bottom)

     


    Attached Files:


    User Feedback

    Recommended Comments

                new PathFinder.OffMeshConnection(new List<Vector3>
                {
                    new Vector3(-4661.469, -1852.599, 85.31993),
                    new Vector3(-4670.487, -1850.974, 85.44978) {Action = "c#: Logging.WriteNavigator(\"[OffMeshConnection] Barrens Elevator > Wait Elevator\"); while (Conditions.InGameAndConnectedAndProductStartedNotInPause) { var elevator = ObjectManager.GetWoWGameObjectByEntry(11899).OrderBy(o => o.GetDistance).FirstOrDefault(); if (elevator != null && elevator.IsValid && elevator.Position.DistanceTo(new Vector3(-4670.77, -1849.61, 85.40948)) < 0.5) break; Thread.Sleep(10); }"},
                    new Vector3(-4676.191, -1854.226, -44.17822) {Action = "c#: Logging.WriteNavigator(\"[OffMeshConnection] Barrens Elevator > Wait to leave Elevator\"); while (Conditions.InGameAndConnectedAndProductStartedNotInPause) { var elevator = ObjectManager.GetWoWGameObjectByEntry(11899).OrderBy(o => o.GetDistance).FirstOrDefault(); if (elevator != null && elevator.IsValid && elevator.Position.DistanceTo(new Vector3(-4670.77, -1849.61, -43.52628)) < 0.5) break; Thread.Sleep(10); }"},
                }, (int)ContinentId.Kalimdor, PathFinder.OffMeshConnectionType.Unidirectional, true),
    
                new PathFinder.OffMeshConnection(new List<Vector3>
                {
                    new Vector3(-4676.191, -1854.226, -44.17822),
                    new Vector3(-4670.487, -1850.974, -44.1039) {Action = "c#: Logging.WriteNavigator(\"[OffMeshConnection] Barrens Elevator > Wait Elevator\"); while (Conditions.InGameAndConnectedAndProductStartedNotInPause) { var elevator = ObjectManager.GetWoWGameObjectByEntry(11899).OrderBy(o => o.GetDistance).FirstOrDefault(); if (elevator != null && elevator.IsValid && elevator.Position.DistanceTo(new Vector3(-4670.77, -1849.61, -43.52628)) < 0.5) break; Thread.Sleep(10); }"},
                    new Vector3(-4661.469, -1852.599, 85.31993) {Action = "c#: Logging.WriteNavigator(\"[OffMeshConnection] Barrens Elevator > Wait to leave Elevator\"); while (Conditions.InGameAndConnectedAndProductStartedNotInPause) { var elevator = ObjectManager.GetWoWGameObjectByEntry(11899).OrderBy(o => o.GetDistance).FirstOrDefault(); if (elevator != null && elevator.IsValid && elevator.Position.DistanceTo(new Vector3(-4670.77, -1849.61, 85.40948)) < 0.5) break; Thread.Sleep(10); }"},
                }, (int)ContinentId.Kalimdor, PathFinder.OffMeshConnectionType.Unidirectional, true),
    
                new PathFinder.OffMeshConnection(new List<Vector3>
                {
                    new Vector3(-4661.469, -1852.599, 85.31993),
                    new Vector3(-4670.487, -1850.974, 85.44978) {Action = "c#: Logging.WriteNavigator(\"[OffMeshConnection] Barrens Elevator > Wait Elevator\"); while (Conditions.InGameAndConnectedAndProductStartedNotInPause) { var elevator = ObjectManager.GetWoWGameObjectByEntry(11899).OrderBy(o => o.GetDistance).FirstOrDefault(); if (elevator != null && elevator.IsValid && elevator.Position.DistanceTo(new Vector3(-4670.77, -1849.61, 85.40948)) < 0.5) break; Thread.Sleep(10); }"},
                    new Vector3(-4676.191, -1854.226, -44.17822) {Action = "c#: Logging.WriteNavigator(\"[OffMeshConnection] Barrens Elevator > Wait to leave Elevator\"); while (Conditions.InGameAndConnectedAndProductStartedNotInPause) { var elevator = ObjectManager.GetWoWGameObjectByEntry(11899).OrderBy(o => o.GetDistance).FirstOrDefault(); if (elevator != null && elevator.IsValid && elevator.Position.DistanceTo(new Vector3(-4670.77, -1849.61, -43.52628)) < 0.5) break; Thread.Sleep(10); }"},
                    new Vector3(-4698.969, -1859.781, -47.16851),
                    new Vector3(-4700.999, -1823.182, -55.39115),
                    new Vector3(-4780.597, -1785.426, -48.56682),
                    new Vector3(-4850.14, -1824.823, -52.75588),
                    new Vector3(-4954.374, -1754.894, -58.46568),
                    new Vector3(-5032.556, -1765.546, -65.54012),
                    new Vector3(-5057.792, -1785.469, -59.28477),
                    new Vector3(-5009.802, -1892.393, 3.451542),
                    new Vector3(-4908.038, -1879.857, 29.39223),
                    new Vector3(-4892.369, -1838.979, 54.76697),
                    new Vector3(-4805.432, -1854.13, 78.42011),
                    new Vector3(-4791.457, -1850.512, 77.53859),
                    new Vector3(-4769.437, -1860.235, 86.28339),
                    new Vector3(-4788.422, -1883.129, 90.03716),
                    new Vector3(-4889.425, -1972.254, 91.88503),
                    new Vector3(-5027.259, -1938.423, 90.68459),
                }, (int)ContinentId.Kalimdor, PathFinder.OffMeshConnectionType.Unidirectional, true),
    
                new PathFinder.OffMeshConnection(new List<Vector3>
                {
                    new Vector3(-5027.259, -1938.423, 90.68459),
                    new Vector3(-4889.425, -1972.254, 91.88503),
                    new Vector3(-4788.422, -1883.129, 90.03716),
                    new Vector3(-4769.437, -1860.235, 86.28339),
                    new Vector3(-4791.457, -1850.512, 77.53859),
                    new Vector3(-4805.432, -1854.13, 78.42011),
                    new Vector3(-4892.369, -1838.979, 54.76697),
                    new Vector3(-4908.038, -1879.857, 29.39223),
                    new Vector3(-5009.802, -1892.393, 3.451542),
                    new Vector3(-5057.792, -1785.469, -59.28477),
                    new Vector3(-5032.556, -1765.546, -65.54012),
                    new Vector3(-4954.374, -1754.894, -58.46568),
                    new Vector3(-4850.14, -1824.823, -52.75588),
                    new Vector3(-4780.597, -1785.426, -48.56682),
                    new Vector3(-4700.999, -1823.182, -55.39115),
                    new Vector3(-4698.969, -1859.781, -47.16851),
                    new Vector3(-4676.191, -1854.226, -44.17822),
                    new Vector3(-4670.487, -1850.974, -44.1039) {Action = "c#: Logging.WriteNavigator(\"[OffMeshConnection] Barrens Elevator > Wait Elevator\"); while (Conditions.InGameAndConnectedAndProductStartedNotInPause) { var elevator = ObjectManager.GetWoWGameObjectByEntry(11899).OrderBy(o => o.GetDistance).FirstOrDefault(); if (elevator != null && elevator.IsValid && elevator.Position.DistanceTo(new Vector3(-4670.77, -1849.61, -43.52628)) < 0.5) break; Thread.Sleep(10); }"},
                    new Vector3(-4661.469, -1852.599, 85.31993) {Action = "c#: Logging.WriteNavigator(\"[OffMeshConnection] Barrens Elevator > Wait to leave Elevator\"); while (Conditions.InGameAndConnectedAndProductStartedNotInPause) { var elevator = ObjectManager.GetWoWGameObjectByEntry(11899).OrderBy(o => o.GetDistance).FirstOrDefault(); if (elevator != null && elevator.IsValid && elevator.Position.DistanceTo(new Vector3(-4670.77, -1849.61, 85.40948)) < 0.5) break; Thread.Sleep(10); }"},
                }, (int)ContinentId.Kalimdor, PathFinder.OffMeshConnectionType.Unidirectional, true),
    
                new PathFinder.OffMeshConnection(new List<Vector3>
                {
                    new Vector3(-5387.5, -2483.334, 88.93),
                    new Vector3(-5383.036, -2488.412, 89.06) {Action = "c#: Logging.WriteNavigator(\"[OffMeshConnection] Barrens Elevator > Wait Elevator\"); while (Conditions.InGameAndConnectedAndProductStartedNotInPause) { var elevator = ObjectManager.GetWoWGameObjectByEntry(11899).OrderBy(o => o.GetDistance).FirstOrDefault(); if (elevator != null && elevator.IsValid && elevator.Position.DistanceTo(new Vector3(-5382.5, -2489.42, 89.02528)) < 0.5) break; Thread.Sleep(10); }"},
                    new Vector3(-5375.26, -2489.24, -40.56239) {Action = "c#: Logging.WriteNavigator(\"[OffMeshConnection] Barrens Elevator > Wait to leave Elevator\"); while (Conditions.InGameAndConnectedAndProductStartedNotInPause) { var elevator = ObjectManager.GetWoWGameObjectByEntry(11899).OrderBy(o => o.GetDistance).FirstOrDefault(); if (elevator != null && elevator.IsValid && elevator.Position.DistanceTo(new Vector3(-5382.5, -2489.42, -40.5284)) < 0.5) break; Thread.Sleep(10); }"},
                }, (int)ContinentId.Kalimdor, PathFinder.OffMeshConnectionType.Unidirectional, true),
    
                new PathFinder.OffMeshConnection(new List<Vector3>
                {
                    new Vector3(-5375.26, -2489.24, -40.56239),
                    new Vector3(-5383.036, -2488.412, -40.48) {Action = "c#: Logging.WriteNavigator(\"[OffMeshConnection] Barrens Elevator > Wait Elevator\"); while (Conditions.InGameAndConnectedAndProductStartedNotInPause) { var elevator = ObjectManager.GetWoWGameObjectByEntry(11899).OrderBy(o => o.GetDistance).FirstOrDefault(); if (elevator != null && elevator.IsValid && elevator.Position.DistanceTo(new Vector3(-5382.5, -2489.42, -40.5284)) < 0.5) break; Thread.Sleep(10); }"},
                    new Vector3(-5387.5, -2483.334, 88.93) {Action = "c#: Logging.WriteNavigator(\"[OffMeshConnection] Barrens Elevator > Wait to leave Elevator\"); while (Conditions.InGameAndConnectedAndProductStartedNotInPause) { var elevator = ObjectManager.GetWoWGameObjectByEntry(11899).OrderBy(o => o.GetDistance).FirstOrDefault(); if (elevator != null && elevator.IsValid && elevator.Position.DistanceTo(new Vector3(-5382.5, -2489.42, 89.02528)) < 0.5) break; Thread.Sleep(10); }"},
                }, (int)ContinentId.Kalimdor, PathFinder.OffMeshConnectionType.Unidirectional, true),
    
            };
    
            //wManager.Wow.Helpers.PathFinder.OffMeshConnections.MeshConnection.Clear();
            wManager.Wow.Helpers.PathFinder.OffMeshConnections.AddRange(connections);

    I'll add it to the server

    Share this comment


    Link to comment
    Share on other sites


    Create an account or sign in to comment

    You need to be a member in order to leave a comment

    Create an account

    Sign up for a new account in our community. It's easy!

    Register a new account

    Sign in

    Already have an account? Sign in here.

    Sign In Now

×