Merccy Posted July 3, 2013 Posted July 3, 2013 (edited) V1.1 Released! Hello, For all my scripts I require a walking class so I made this class that DOESN'T glitch/pause on breaks. Example (V1.1): This class/package is able to: Manage the run energy Open doors (ONLY closed ones) Clicks next Position when it is in range for smooth walking Path randomization which can be turned of for each position DOESN'T glitch/stop Easy to use! Has a debug paint Requirements/How to implement: Import the jar first (You can also open the JAR with 7Zip and go to the walker folder for the source) States makes this alot easier. First you need to make a new PathTile, a PathTile is a class that extends Position so you can use it as a Position aswell. By not specifying the randomize boolean it will be true (so randomized) PathTile tile = new PathTile(Entity ent); PathTile tile = new PathTile(Entity ent, boolean randomize); PathTile tile = new PathTile(int x, int y, int z); PathTile tile = new PathTile(int x, int y, int z, int randomize); Then you make a PathTile array PathTile[] pathTiles = new PathTile[] { new PathTile(3186, 3429, 0), new PathTile(3191, 3429, 0), new PathTile(3196, 3429, 0), new PathTile(3196, 3424, 0), new PathTile(3197, 3419, 0, false) }; // By not specifying the randomize boolean it will be true (so randomized) After that you can make a new Path Path path = new Path(Script s, PathTile[] pathtiles, int maxRandom); // For example Path path = new Path(this, pathTiles, 2); // This will make a new Path with the Path Tiles we made before and the randomization value is 2. (So the x can vary between -2 and 2) Then we need to make our walker class Walker walker = new Walker(Script s, int doorDistance); // For example Walker walker = new Walker(this, 2); So how do we combine these things? Because it doesn't glitch on breaks you should use states. if (State.START_WALK) { path.start(); } if (State.IS_WALKING) { walker.walkPath(path); } // For the IS_WALKING state you can use path.isWalking(); // For the START_WALK state you could use an area for example. If you want to draw the debug paint then put this in your onPaint: //Make walker and your path public/private/protected public void onPaint(Graphics g) { this.walker.drawDebug(g, this.path); } If you want to draw the path on screen then put this in your onPaint: public void onPaint(Graphics g) { this.walker.drawPath(g, this.path, Color.CYAN, Color.RED); } If you don't understand it watch this very basic implementation video: --Updating Changelog; ---------------V1.2--------------- Added Walker.recover(); It will try to find the closest PathTile of the last path and start walking from there. Useful to put in your Idle state (where nothing happens so your bot is stuck) ---------------V1.1--------------- Added drawPath(Graphics g, Path p, Color c1, Color c2) - Credits to jelknab Added doorDistance to the Walker constructor: Walker w = new Walker(Script s, int doorDistance) : if doorDistance is 0 then it won't detect doors! Changed the randomization, the path will be randomized when you use Path.start() and not when getting new points. Source is now in the Walker folder. ---------------V1.0--------------- Release Download V1.2: http://uppit.com/8vp0h4o867xc/AIOWalker.jar Source (Pastebin) V1.2: Path.java: http://pastebin.com/hcUjnafE PathTile.java: http://pastebin.com/4FB7nqYk Walker.java: http://pastebin.com/37tjiZ4g Download V1.1: http://uppit.com/vwqn9srba1k1/AIOWalker.jar Source (Pastebin) V1.1: Path.java: http://pastebin.com/hcUjnafE PathTile.java: http://pastebin.com/4FB7nqYk Walker.java: http://pastebin.com/60M51rcu Download V1.0: http://uppit.com/tlub9ozv2t3o/AIOWalker.jar Source (Pastebin) V1.0: Path.java: http://pastebin.com/y7GdDZLG PathTile.java: http://pastebin.com/VBK0cTnR Walker.java: http://pastebin.com/FV013cG9 Edited July 4, 2013 by Merccy 3
Merccy Posted July 3, 2013 Author Posted July 3, 2013 Interesting, better then rsbots. What do you mean with rsbots? I like your walking script too ;)
Brainfree Posted July 3, 2013 Posted July 3, 2013 (edited) What do you mean with rsbots? I like your walking script too Rsbots webwalker, and splinewalk was a snippit. My real walker is soon to come. Edited July 3, 2013 by Brainfree
Doout Posted July 4, 2013 Posted July 4, 2013 Rsbots webwalker, and splinewalk was a snippit. My real walker is soon to come. It so Epic that only god will know how good it will be.
warfront1 Posted July 4, 2013 Posted July 4, 2013 (edited) It is opening random doors along the path. The addition of another parameter to disable the automatic door opening would be great! Thanks, Warfront1 Edited July 4, 2013 by warfront1
H0ppy Posted July 4, 2013 Posted July 4, 2013 (edited) Nice walker. Rsbots webwalker, and splinewalk was a snippit. My real walker is soon to come. Why wasting your time making a walker if you can use OSBot's walker soon enough? Supports walking over whole map,dungeons,... + obstacle solving. Also closestobject fnding over the whole map. kind regards H0ppy Edited July 4, 2013 by H0ppy
Merccy Posted July 4, 2013 Author Posted July 4, 2013 It is opening random doors along the path. The addition of another parameter to disable the automatic door opening would be great! Thanks, Warfront1 Warfront that is a great idea. I don't have problems with random door opening, just make sure your path is 2 tiles away from a door . You can also change that value. It is approx. at line 53
Cyro Posted July 4, 2013 Posted July 4, 2013 (edited) Nice walker. Why wasting your time making a walker if you can use OSBot's walker soon enough? Supports walking over whole map,dungeons,... + obstacle solving. Also closestobject fnding over the whole map. kind regards H0ppy iirc an admin said that he was developing the web walker with the help of the admins last month or something Warfront that is a great idea. I don't have problems with random door opening, just make sure your path is 2 tiles away from a door . You can also change that value. It is approx. at line 53 might be better to make it open/look for door if cant reach Tile it want to walk at the time & the door is near the player. anyway it's nice Edited July 4, 2013 by Cyro
Merccy Posted July 4, 2013 Author Posted July 4, 2013 Cyro, I didn't make that on purpose because I had that earlier but in most cases it got even bugier . I released V1.1 If you set the door distance bigger you will get the effect that you want (probably).
Merccy Posted July 4, 2013 Author Posted July 4, 2013 (edited) Thanks for this, will test it out soon! If you need help implementing then just send me a PM . Don't feel like making that tutorial now. But what I do for my scripts is add the AIOWalker.jar as an Referenced library (just like osbot) and then use Fat Jar (Eclipse plugin) to export my project + the jar. Screenshot: Edited July 4, 2013 by Merccy
Merccy Posted July 4, 2013 Author Posted July 4, 2013 Dam this is really nice. Great work !!! Currently updating ;) Wait 2 minutes and there is a new version.