Jump to content
Frequently Asked Questions
  • Are you not able to open the client? Try following our getting started guide
  • Still not working? Try downloading and running JarFix
  • Help! My bot doesn't do anything! Enable fresh start in client settings and restart the client
  • How to purchase with PayPal/OSRS/Crypto gold? You can purchase vouchers from other users
  • Adding Stronghold of Security to WebWalker?


    Samuel91

    Recommended Posts

    I want to be able to webwalk through the stronghold of security, but it doesn't seem to handle the "question doors". Ive seen some threads about how to add new obstacles to the webwalker, like opening the alkharid gate but the "question doors" are a little more complex.

     

    Link to comment
    Share on other sites

    7 hours ago, Samuel91 said:

    I want to be able to webwalk through the stronghold of security, but it doesn't seem to handle the "question doors". Ive seen some threads about how to add new obstacles to the webwalker, like opening the alkharid gate but the "question doors" are a little more complex.

     

    You'd have to handle them via Widgets, as the web walker doesn't handle widgets especially widgets that needs solving.

    Link to comment
    Share on other sites

    34 minutes ago, Samuel91 said:

    Hmm alright then in that case is it possible to get a list/array of what obstacles are in my way?

     

    Unfortunately, I think you'd have to treat it like an agility script and get the areas then check if the player is in the area.. if true interact with door

    then you can handle the widgets by calling if(thewidget.isVisible.. etc

    You'd have to collect the data manually..

    This is because the stronghold is semi like a maze so I don't think the star path finder will work through it

    Link to comment
    Share on other sites

    41 minutes ago, botmaker_01 said:

    There actually exists getDialogues API which can be used directly, so you don't have to use widgets directly

    My bad, I thought the question doors prompted widgets not dialogues.

    for dialogues, you can use the chooseOption method found in the Dialogues Class.

    https://dreambot.org/javadocs/org/dreambot/api/methods/dialogues/Dialogues.html

    Link to comment
    Share on other sites

    The method i went with was adding the doors to the webwalker as a passable object then solving the doors with getOptions/chooseOption

    PassableObstacle gateOfWar = new PassableObstacle("Gate of War", "Open", null, null, null);
    getWalking().getAStarPathFinder().addObstacle(gateOfWar);
    
    if (getDialogue.isDialogue) {
      // code for solving question doors
    } else {
      getWalking.walk(<RANDOM TILE IN STRONGHOLD>);
    }

    That worked pretty well. I can now navigate around on each floor perfectly, but now I have to figure out a way to navigate between floors. The floors of the strong hold aren't actually floors, each floor is on the same level and the ladders don't actually go up or down they act more like a teleport.

    I tried also adding the ladders as passable objects, but the webwalker still doesn't work.

    Tile startTile = new Tile(1902, 5221, 0); // tile of player before using ladder
    Tile endTile = new Tile(2042, 5245, 0); // tile of player after using ladder
    Tile obstacleTile = new Tile(1902, 5222, 0); // tile of ladder
    PassableObstacle strongholdEntrance = new PassableObstacle("Ladder", "Climb-down", startTile, endTile, obstacleTile);
    getWalking().getAStarPathFinder().addObstacle(strongholdEntrance);
    getWalking().walk(endTile);

    OfVk30M.png

    Link to comment
    Share on other sites

    On 12/31/2019 at 7:44 AM, Samuel91 said:

    The method i went with was adding the doors to the webwalker as a passable object then solving the doors with getOptions/chooseOption

    
    PassableObstacle gateOfWar = new PassableObstacle("Gate of War", "Open", null, null, null);
    getWalking().getAStarPathFinder().addObstacle(gateOfWar);
    
    if (getDialogue.isDialogue) {
      // code for solving question doors
    } else {
      getWalking.walk(<RANDOM TILE IN STRONGHOLD>);
    }

    That worked pretty well. I can now navigate around on each floor perfectly, but now I have to figure out a way to navigate between floors. The floors of the strong hold aren't actually floors, each floor is on the same level and the ladders don't actually go up or down they act more like a teleport.

    I tried also adding the ladders as passable objects, but the webwalker still doesn't work.

    
    Tile startTile = new Tile(1902, 5221, 0); // tile of player before using ladder
    Tile endTile = new Tile(2042, 5245, 0); // tile of player after using ladder
    Tile obstacleTile = new Tile(1902, 5222, 0); // tile of ladder
    PassableObstacle strongholdEntrance = new PassableObstacle("Ladder", "Climb-down", startTile, endTile, obstacleTile);
    getWalking().getAStarPathFinder().addObstacle(strongholdEntrance);
    getWalking().walk(endTile);

    OfVk30M.png

    Just check if you're in the teleport area and get the gameobject of the ladder then interact with it.

    You can also handle the treasure using booleans.. by restricting the ladder interaction until you interact with the treasure (boolean handling)

    Link to comment
    Share on other sites

    Archived

    This topic is now archived and is closed to further replies.

    ×
    ×
    • Create New...

    Important Information

    We have placed cookies on your device to help make this website better. You can adjust your cookie settings, otherwise we'll assume you're okay to continue.