1. This site uses cookies. By continuing to use this site, you are agreeing to our use of cookies. Learn More.

Bug WebPathing around Lumbridge

Discussion in 'Developer Support' started by Naxin, Nov 29, 2018.

  1. Naxin

    Joined:
    Nov 18, 2018
    Messages:
    4
    Likes Received:
    0
    Been having a load of issues WebPathing around Lumbridge, between the north-west cow-fields and Lumbridge Bank/Draynor Bank. My main issue at the moment, is randomly receiving null for getNext() of the WebPath. For the purpose of this bug report, this following log/example is based on my bot travelling between the cowfields and the lumbridge bank.

    RuneMate version: 2.95.2
    Tested/Affected Games: OSRS

    Code (Text):
    1.  // Called each frame (loop delay of 1500-2500)
    2.     private void moveTowardsBank()
    3.     {
    4.         WebPath path = getPathToBank();
    5.         if (path == null)
    6.         {
    7.             System.out.println("Failed to find path to bank!");
    8.             return;
    9.         }
    10.  
    11.         boolean success = path.step();
    12.         // Issue with web-path, attempt to get out of stuck position
    13.         if (!success)
    14.         {
    15.             System.out.println("Web pathing has failed!!");
    16.             System.out.println("Player position: " + Players.getLocal().getPosition().toString());
    17.             System.out.println("Destination: " + lumbridgeBankLocation.toString());
    18.             printPath(path);
    19.             if (true)
    20.                 return;
    21.  
    22.             System.out.println("Attempting recovery...");
    23.             Path rPath = RegionPath.buildTo(Players.getLocal().getPosition().getArea().getSurroundingCoordinates());
    24.             rPath.step();
    25.         }
    26.     }
    27.  
    28.     private WebPath getPathToBank()
    29.     {
    30.         WebPath path = Traversal.getDefaultWeb().getPathBuilder().buildTo(lumbridgeBankLocation);
    31.  
    32.         return path;
    33.     }
    00:15:06 DEBUG [WebPath] getNext() returned null.
    Web pathing has failed!!
    Player position: Coordinate(3180, 3237, 0)
    Destination: Coordinate(3209, 3218, 2)
    Printing path vertices:
    CoordinateVertex(x=3180, y=3237, plane=0)
    CoordinateVertex(x=3180, y=3234, plane=0)
    CoordinateVertex(x=3180, y=3231, plane=0)
    CoordinateVertex(x=3180, y=3230, plane=0)
    CoordinateVertex(x=3180, y=3228, plane=0)
    CoordinateVertex(x=3180, y=3226, plane=0)
    CoordinateVertex(x=3179, y=3225, plane=0)
    CoordinateVertex(x=3179, y=3224, plane=0)
    CoordinateVertex(x=3180, y=3223, plane=0)
    CoordinateVertex(x=3180, y=3222, plane=0)
    CoordinateVertex(x=3180, y=3220, plane=0)
    CoordinateVertex(x=3180, y=3219, plane=0)
    CoordinateVertex(x=3180, y=3218, plane=0)
    CoordinateVertex(x=3180, y=3217, plane=0)
    CoordinateVertex(x=3181, y=3217, plane=0)
    CoordinateVertex(x=3182, y=3216, plane=0)
    CoordinateVertex(x=3183, y=3216, plane=0)
    CoordinateVertex(x=3186, y=3216, plane=0)
    CoordinateVertex(x=3187, y=3217, plane=0)
    CoordinateVertex(x=3188, y=3217, plane=0)
    CoordinateVertex(x=3189, y=3217, plane=0)
    CoordinateVertex(x=3190, y=3216, plane=0)
    CoordinateVertex(x=3191, y=3216, plane=0)
    CoordinateVertex(x=3192, y=3216, plane=0)
    CoordinateVertex(x=3193, y=3216, plane=0)
    CoordinateVertex(x=3194, y=3216, plane=0)
    CoordinateVertex(x=3195, y=3216, plane=0)
    CoordinateVertex(x=3196, y=3216, plane=0)
    CoordinateVertex(x=3197, y=3216, plane=0)
    CoordinateVertex(x=3198, y=3217, plane=0)
    CoordinateVertex(x=3199, y=3218, plane=0)
    CoordinateVertex(x=3200, y=3218, plane=0)
    CoordinateVertex(x=3201, y=3218, plane=0)
    CoordinateVertex(x=3201, y=3217, plane=0)
    CoordinateVertex(x=3201, y=3216, plane=0)
    CoordinateVertex(x=3201, y=3215, plane=0)
    CoordinateVertex(x=3201, y=3214, plane=0)
    CoordinateVertex(x=3201, y=3213, plane=0)
    CoordinateVertex(x=3201, y=3212, plane=0)
    CoordinateVertex(x=3201, y=3211, plane=0)
    CoordinateVertex(x=3201, y=3210, plane=0)
    CoordinateVertex(x=3203, y=3209, plane=0)
    CoordinateVertex(x=3203, y=3208, plane=0)
    CoordinateVertex(x=3203, y=3207, plane=0)
    CoordinateVertex(x=3204, y=3206, plane=0)
    BasicObjectVertex(^Staircase$, ^Climb-up$, 3204, 3207, 0, behavior: DISAPPEARING)
    CoordinateVertex(x=3205, y=3209, plane=1)
    BasicObjectVertex(^Staircase$, ^Climb-up$, 3204, 3207, 1, behavior: DISAPPEARING)
    CoordinateVertex(x=3205, y=3209, plane=2)
    CoordinateVertex(x=3205, y=3210, plane=2)
    CoordinateVertex(x=3205, y=3211, plane=2)
    CoordinateVertex(x=3205, y=3212, plane=2)
    CoordinateVertex(x=3205, y=3213, plane=2)
    CoordinateVertex(x=3205, y=3214, plane=2)
    CoordinateVertex(x=3206, y=3215, plane=2)
    CoordinateVertex(x=3206, y=3216, plane=2)
    CoordinateVertex(x=3206, y=3217, plane=2)
    CoordinateVertex(x=3207, y=3218, plane=2)
    CoordinateVertex(x=3210, y=3218, plane=2)
    CoordinateVertex(x=3209, y=3218, plane=2)

    Additional observations, these may or may not be useful:

    1. Draynor Bank to CowFields was extremely troublesome, the bot would often end up in the swamps south of Lumbridge!
    2. This occurs once in every few runs between locations
    3. I have ran into issues where the pathing gets stuck in an infinite loop, not receiving null for getNext() but just moving back and forth as it keeps changing its mind about how to get somewhere. This was mostly related to walking along the north part of the lumbridge swamp, where the long fence is. My assumption is the anti-ban was causing intended user-error where it would click on the other side of the fence quite frequently as the path was hugging the fence.
    4. This bug can occur heading in both directions
    5. Web pathing from inside the bank would often cause issues. In my current codebase a work-around is implemented that interacts with stairs if the plane is > 0. I will test and log this seperately if necessary.
    6. This occurs when moving and stationary. When moving often the bot recovers on its own. But when stationary, it becomes an unrecoverable situation.
     
    #1 Naxin, Nov 29, 2018
    Last edited: Nov 30, 2018

Share This Page

Loading...