Samuel91 6 Posted December 28, 2019 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.
Defiled 424 Posted December 28, 2019 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.
Samuel91 6 Author Posted December 28, 2019 Hmm alright then in that case is it possible to get a list/array of what obstacles are in my way?
Defiled 424 Posted December 28, 2019 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
Samuel91 6 Author Posted December 28, 2019 alright well that's a bit more manual than than what i was intending but sounds do-able
Defiled 424 Posted December 28, 2019 2 minutes ago, Samuel91 said: alright well that's a bit more manual than than what i was intending but sounds do-able It is do-able! Gl!
botmaker_01 1 Posted December 30, 2019 There actually exists getDialogues API which can be used directly, so you don't have to use widgets directly
Defiled 424 Posted December 30, 2019 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
Samuel91 6 Author Posted December 31, 2019 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);
Defiled 424 Posted January 1, 2020 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); 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)
Recommended Posts
Archived
This topic is now archived and is closed to further replies.