Jump to content
View in the app

A better way to browse. Learn more.

OSBot :: 2007 OSRS Botting

A full-screen app on your home screen with push notifications, badges and more.

To install this app on iOS and iPadOS
  1. Tap the Share icon in Safari
  2. Scroll the menu and tap Add to Home Screen.
  3. Tap Add in the top-right corner.
To install this app on Android
  1. Tap the 3-dot menu (⋮) in the top-right corner of the browser.
  2. Tap Add to Home screen or Install app.
  3. Confirm by tapping Install.

zasz

Members
  • Joined

  • Last visited

Everything posted by zasz

  1. I need to read the api more. Didn't even notice the class. Thanks!
  2. Unless I haven't noticed it using another amount, it seems running toggles at 15. Perhaps either a method to change the default or disable the ability for webwalking to toggle run so that way custom numbers can be used.
  3. @Token Well, Webwalking is working on my latest script, I may for fun still work on something like what I was tasking myself with at another point, sorry for the waste of time.
  4. I appreciate the informational reply. When I was testing Webwalking it didn't handle a door properly but I could'v done something wrong. I'll look back at taking a crack at using it tomorrow in my next session. Again thank you for the effort at getting me information
  5. I probably am wanting one thing thinking its associated with another, why I linked the other community hoping to get the intention. Basically, building little more than a basic walking system, I know localPathFinder has the from/to list as a API style to figure walkable for availability. But getting all tiles from a position on the map can let go relatively in depth for layers of doors/obstacles for a few check iterations. For instance from above, if I am in freds house, it has a gate to get to the door for the house. i can be in the house, get a Position pCoord[2] for right outside the fence, check for an objects starting closest to Player that pCoord[2] can reach, then do the Position opposite to gate, check if player can reach, if not do another check for the new Position for another object. And have a iteration cutoff of course So can dynamically walk out of any house and traverse through varrock castle if wanted with a single method parsing a Position[] Otherwise I would be forced with a less accurate if(!map.canReach(t)) if((canReach(t,obs.getPosition()) || obs.getPosition().distance(t)<4 || forceSteps) && map.canReach(obs)) Which would interact with all obstacles that can be reached hoping it would be the one to lead to the point on the map.
  6. I figured when I noticed the stars, I thought since it wasn't advertising nor endorsing it would still be alright. But exactly that, getting all for the client given a given position, regardless of my players flags. I thought it was clear enough of the intention in my first sentence on original, I do apologize the intention isn't coming across though. Edit: Example NPC fred = npcs.closest("Fred the Farmer"); fredFlags = npcs.closest("Fred the Farmer").getPosition().FLAGS();
  7. Oops, I meant legitimate flags as if the position is an entity that gets its surrounding flags.
  8. Is there a method that can pull flags given a specific position. All I can find is client.accessor.getClippingPlanes() Rather I'd need something like position.getClippingPlanes();
  9. Appreciate the time, the last one was just for debug to stop at that point. fixed the cast, originally the other bot i created for distance returned a double. Also, fixed the type, i couldve swore at some point in the long past, not doing the argument compiled with a warning.
  10. I did this years ago and tweaked a bit for OSBot, some still has RS3 information, but how does the walking look public class Navigation { public static Script ourBot; public Navigation(Script scriptInstance) { ourBot = scriptInstance; } public enum Lodes { Lumbridge(17); private int id; public int getInterfaceID(){ return id; } Lodes(int interfaceid) { id = interfaceid; } } final static int lodestoneInt = 1092; final static int homeTelePortInterface = 1465; static final int UNWALKABLE = 256 | 0x200000 | 0x40000; public static boolean isWalkable(int flag) { return (flag & (UNWALKABLE)) == 0; } //static NavPath nullNav = new NavPath(); public boolean posReach(Collection<Position> reachableCords, Position t){ Collection<Position> p = reachableCords; for (Position c : p) { //if(t.getX()==c.getX() && t.getY()==c.getY()){ //debug("Can reach: "+t); // return t.isReachable(); //} if(c.equals(t)) return true; } return false; } public boolean stepTowardsPoint(Player local, Position point, boolean forceSteps){ XClippingPlane[] clippingPlanes = ourBot.client.accessor.getClippingPlanes(); int[][] map = clippingPlanes[ourBot.myPlayer().getZ()].getTileFlags(); ourBot.client.accessor.getCurrentRegion().getTiles().toString(); ArrayList<Position> reachablePositions = new ArrayList<Position>(); ArrayList<Position> allTiles = new ArrayList<Position>(); int localX = local.getPosition().getLocalX(ourBot.bot); int localY = local.getPosition().getLocalY(ourBot.bot); for(int i = 0; i < map.length;i++){ for(int j = 0; j < map[i].length; j++){ if((i>(localX-20) && i<(localX+20)) && (j>(localY-20) && j<(localY+20))) if(isWalkable(map[i][j])) reachablePositions.add(new Position(i,j,ourBot.myPlayer().getZ())); } } if(reachablePositions.size()>0) { for(int x=-20;x<20;x++) { for(int y=-20;y<20;y++) { Position tPos = new Position(local.getX()+x,local.getY()+y,ourBot.myPlayer().getZ()); if(tPos.isOnMiniMap(ourBot.bot)) { if(reachablePositions.size()>0) { localX = tPos.getLocalX(ourBot.bot); localY = tPos.getLocalY(ourBot.bot); Position tLocalG = new Position(localX,localY,0); if(reachablePositions.contains(tLocalG)) allTiles.add(tPos); } } } } } reachablePositions = allTiles; ourBot.log(allTiles.toString()); int z = 2; if(z==1) return false; Position bestTile = null; if(posReach(reachablePositions, point)){ double bestDist = 999; for(Position coord : reachablePositions){ if(!coord.equals(point)) coord = coord.translate(Script.random(-2,2), Script.random(-2,2)); //This adds differences int tempDist = (int) coord.distance(point); if(coord.distance(point)<=bestDist){ boolean isOnMap = coord.isOnMiniMap(ourBot.bot); if(isOnMap){ bestTile = coord; bestDist = tempDist; } } } } else if(forceSteps){ //Force double bestDist = 999; for(Position coord : reachablePositions){ coord = coord.translate(Script.random(-2,2), Script.random(-2,2)); int tempDist = (int) coord.distance(point); if(coord.distance(point)<=bestDist){ boolean isOnMap = coord.isOnMiniMap(ourBot.bot); if(isOnMap){ bestTile = coord; bestDist = tempDist; } } } } if(bestTile != null){ return ourBot.map.walking.walk(bestTile) && Sleep.sleepUntil(() -> (!local.isMoving()), 2000); } return false; }
  11. zasz replied to Maldesto's topic in Spam/Off Topic
    if you google zasz runescape im the first 6 results. LUL this is my first post in the 6 years of joining

Account

Navigation

Search

Configure browser push notifications

Chrome (Android)
  1. Tap the lock icon next to the address bar.
  2. Tap Permissions → Notifications.
  3. Adjust your preference.
Chrome (Desktop)
  1. Click the padlock icon in the address bar.
  2. Select Site settings.
  3. Find Notifications and adjust your preference.