Jump to content
  • 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)

     



    User Feedback

    Recommended Comments

    Droidz

    Posted

    Hi, I'll try to add it, in WotLK positions aere the same?

    Matenia

    Posted

    Yes, positions are the same. Thank you very much.

    Droidz

    Posted

                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

    Droidz

    Posted

    Added to servers, I tested only on vanilla, if someone can confirm than work also in tbc and wotlk

    Matenia

    Posted

    Testing TBC atm (added offmesh connection to my plugin for now). Looks good:

    image.png.5ce19fa4ef6f7dc6b394e2b0579ab766.png

    TheSmokie

    Posted

    @Droidz instead of me making another bug report, I wanted to add the elevator in Zangarmarsh and in the barrens do not work.



    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

×
×
  • Create New...