Jump to content

Swizzbeat

Members
  • Posts

    7986
  • Joined

  • Last visited

  • Days Won

    58
  • Feedback

    100%

Everything posted by Swizzbeat

  1. Please mate it was a woman getting mad. She's probably just trying to assert her dominance on the road in other ways than her shitty driving.
  2. Why do you guys make this so complex? If you can get the doors you need to open via configs, you can literally just run around the perimeter until the door is reachable. Finding the next position to walk to is ezpz as you can just find the farthest walkable tile in your game region and walk to it.
  3. I'm pretty sure the game map is 16 by 16, so the farthest position to the right would be: new Position(myPosition.getX() + 16, myPosition().getY(), myPosition().getZ()); Farthest position below: new Position(myPosition().getX(), myPosition().getY() - 16, myPosition().getZ()); etc...
  4. If they're from here you're going to want to just reopen it now lol
  5. Read the above quote. I saw asking about clipping data so I posted a snippet I had but then figured I mine as well post the whole walker. Guarantee mines better.
  6. Lol you should see my walker with multiplane handling as well as @NotoriousPP's sexy blindwalking addition ;)
  7. Pretty basic, all credits to @Maxi who designed pretty much the whole thing while I updated a few core components. import org.osbot.rs07.api.def.ObjectDefinition; import org.osbot.rs07.api.map.Position; import org.osbot.rs07.api.model.Entity; import org.osbot.rs07.api.model.RS2Object; import org.osbot.rs07.api.util.LocalPathFinder; import org.osbot.rs07.input.mouse.MiniMapTileDestination; import org.osbot.rs07.input.mouse.RectangleDestination; import org.osbot.rs07.script.Script; import java.util.LinkedList; import java.util.List; /** * Originally created by Maxi */ /** * Updated by Swizzbeat */ public class Walker { private Script scriptInstance; public Walker(Script scriptInstance) { this.scriptInstance = scriptInstance; } public boolean noObstacleBlocking(Position p) throws InterruptedException { RS2Object obstacle = getNextObstacle(p); if (obstacle != null) { obstacle.interact("open"); return false; } return true; } public boolean walkPathMM(Position[] path) throws InterruptedException { return walkPathMM(path, 3); } public boolean walkPathMM(Position[] path, int distance) throws InterruptedException { Position next = nextTile(path, 15); if (next != null && noObstacleBlocking(next)) { return clickMiniMapPosition(next); } Position lastNode = path[path.length - 1]; return lastNode != null && scriptInstance.map.distance(lastNode) < distance; } public Position nextTile(Position path[], int skipDist) { int dist = -1, closest = -1; for (int i = path.length - 1; i >= 0; i--) { Position tile = path[i]; int d = scriptInstance.map.distance(tile); if (d < dist || dist == -1) { dist = d; closest = i; } } int feasibleTileIndex = -1; for (int i = closest; i < path.length; i++) { if (scriptInstance.map.distance(path[i]) <= skipDist) { feasibleTileIndex = i; } else { break; } } return (feasibleTileIndex == -1) ? null : path[feasibleTileIndex]; } public RS2Object getNextObstacle(Entity e) { List<RS2Object> obstacles = getObstacles(); List<Position> path = generatePath(e); if (path == null) { return null; } for (RS2Object obj : obstacles) { for (Position pos : path) { if (obj.getPosition().equals(pos)) { return obj; } } } return null; } public RS2Object getNextObstacle(Position p) { List<RS2Object> obstacles = getObstacles(); List<Position> path = generatePath(p); if (path == null) { return null; } for (RS2Object obj : obstacles) { for (Position pos : path) { if (obj.getPosition().equals(pos)) { return obj; } } } return null; } public List<RS2Object> getObstacles() { List<RS2Object> list = new LinkedList<>(); for (RS2Object obj : scriptInstance.objects.getAll()) { if (obj.getType() == 0 && obj.getDefinition() != null && obj.getDefinition().getActions() != null && obj.getDefinition().getModelIds() != null && obj.getDefinition().getModelIds().length < 3) { search: { for (String action : obj.getDefinition().getActions()) { if (action != null && action.equalsIgnoreCase("open")) { list.add(obj); break search; } } } } } return list; } private List<Position> generatePath(Position p) { LocalPathFinder pf = new LocalPathFinder(scriptInstance.bot); int[][] flags = generateModifiedClippingData(); List<Position> path = pf.findPath(p, flags); if (path == null) { return null; } return path; } private List<Position> generatePath(Entity e) { LocalPathFinder pf = new LocalPathFinder(scriptInstance.bot); int[][] flags = generateModifiedClippingData(); List<Position> path = pf.findPath(e, flags); if (path == null) { return null; } return path; } private int[][] generateModifiedClippingData() { int[][] origFlags = scriptInstance.map.getRegion().getClippingPlanes()[scriptInstance.map.getPlane()].getTileFlags(); int[][] flags = new int[origFlags.length][origFlags.length]; for (int x = 0; x < flags.length; x++) { for (int y = 0; y < flags.length; y++) { flags[x][y] = origFlags[x][y]; } } for (RS2Object obj : getObstacles()) { int lx = obj.getLocalX(); int ly = obj.getLocalY(); ObjectDefinition def = obj.getDefinition(); if (def.isClipping1()) { switch (obj.getOrientation()) { case 0: case 2: flags[lx][ly] &= ~585; break; case 1: case 3: flags[lx][ly] &= ~1170; break; } } if (def.getClipping2() != 0) { if (0 == obj.getOrientation()) { flags[lx][ly] &= ~128; flags[lx - 1][ly] &= ~8; } if (1 == obj.getOrientation()) { flags[lx][ly] &= ~2; flags[lx][ly + 1] &= ~32; } if (2 == obj.getOrientation()) { flags[lx][ly] &= ~8; flags[lx + 1][ly] &= ~128; } if (3 == obj.getOrientation()) { flags[lx][ly] &= ~32; flags[lx][ly - 1] &= ~2; } if (def.isClipping3()) { if (0 == obj.getOrientation()) { flags[lx][ly] &= ~65536; flags[lx - 1][ly] &= ~4096; } if (obj.getOrientation() == 1) { flags[lx][ly] &= ~1024; flags[lx][ly + 1] &= ~16384; } if (2 == obj.getOrientation()) { flags[lx][ly] &= ~4096; flags[lx + 1][ly] &= ~65536; } if (3 == obj.getOrientation()) { flags[lx][ly] &= ~16384; flags[lx][ly - 1] &= ~1024; } } } } return flags; } private boolean clickMiniMapPosition(Position position) throws InterruptedException { return scriptInstance.mouse.click(new RectangleDestination(scriptInstance.bot, new MiniMapTileDestination(scriptInstance.bot, position).getBoundingBox())); } public Position[] reversePath(Position[] path) { Position[] t = new Position[path.length]; for (int i = 0; i < t.length; i++) { t[i] = path[path.length - i - 1]; } return t; } }
  8. http://osbot.org/forum/topic/50819-osbot-2-flawless-denoxums-perfect-staker-calculator-super-efficient-advanced/ That's all you need...
  9. Like you said if they don't know simple low level instructions that are similar across the board they 110% have no idea what they're doing, considering you need libraries such as BCEL or ASM to go about creating the updater. Not only that, but good freaken luck finding someone that can properly inject classes without it throwing a flag up to Jagex or even what xbooting is. @OP this would be a good guy ^
  10. Are you kidding? Name one person here that even knows what the instructions iconst_5 or invokespecial do...or even that it's bytecode.
  11. lolwut I don't have to show you anything because 1) I couldn't create a fully functioning bot from scratch and 2) you haven't even shown me your work yet considering that was ripped. OP: Basically the only people here that could actually create a bot would be @XavierM, @PolishCivil and probably the two script managers. Other than that either copy and paste everything off jhacking to give you a piece of shit bot or keep fumbling around with code until something works (and give you a easily detectable bot).
  12. This just shows you have no idea what you're doing....
  13. There's maybe 2 people on this site that could do this excluding the developers. I wouldn't waste your money on a scripter who thinks this is easy.
  14. Just creates a path from point A to point B, returning null if the destination cannot be reached or the position is not in the loaded region.
  15. Find the trade interface which contains the items, and then interact with that interfaces item.
  16. Mine, considering the osb1 version had multiple 100+ hour runtimes and was the most sold premium script.
  17. Bye babe goodluck with the business share the wealth with my poor ass
  18. Considering when mine was for the OSB1 client it had multiple 100+ hour proggies I'd say mine for sure. I'll auth it to you in the next 60 seconds.
  19. As of right now -.5/10 If tells mom on @Laz to update bot more often and finish web walking than it increases to 14/10
  20. To be honest there really is no winning argument as of yet because there is no statistical evidence to back up either side. While personally I wouldn't buy a monthly script because of the thought that it really isn't "mine" (unless I have an infinite amount of dollars to pay for it for an infinite amount of time, technically making it mine) people are in fact still purchasing scripts on the store since the new store release three days ago. Here's what I've seen in favor of the new store foundation: Scripts are being bought at a semi-decent rate Overall complaints are down as OSB2 is in fact a pretty good and stable bot as of right now Large script repository considering OSB2 script development started about a month ago And negative effects: The rate at which scripts are being bought is INCREDIBLY slow for a brand new store opening When compared to other bots OSBot doesn't stand out Barely any free scripts Keep in mind there are many variables when it comes to these things and not all of it falls back on the idea of making customers rebuy their scripts with a mandatory monthly fee. OSBot's user base has shrunken by about 50% (just my own personal estimate) due to things I won't go into, anger at developers, constant bot busting of goldfarms, general disinterest in RuneScape, etc. Everything plays a role. I wouldn't start that argument. We both know as of right now there's nothing special about OSBot.
  21. Meh it's nice but kind of useless if it cannot handle obstacles
  22. Are you autistic? http://osbot.org/forum/topic/53753-free-swizzbeats-flax-picker-and-spinner-all-locations-optional-pick-to-string/ Such overpriced free shit brah. Not even sure where you got the $10 from since I never even made a crafter.
×
×
  • Create New...