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.

Botre

Members
  • Joined

  • Last visited

Everything posted by Botre

  1. What's so fundamentally wrong with monthly payments?
  2. You won't see a market like the OSBot 1 anywhere for as long as it lasted here. OSBot will not die, leechers and cheapskates will leave, too bad, but not really.
  3. Those who know the true value of time in runescape + Those who know the value of time invested in writing scripts Most of you don't realize these values, and I can't blame you for that, mainly because you were spoiled by the previous market and the majority of you guys don' script. There's no cheaper (long-term) alternative to leave OSBot for.
  4. @pecher If it fucks up it means something isn't right in your script logic. It means your script isn't interruption proof.
  5. It helps at keeping their scripters. I'm all for payable, but not at the expense of the script providers.
  6. Your point?
  7. Looking forward to this
  8. If they remove monthly fees without providing an alternative that would allow for REGULAR payments for scripters, then I'm not staying. Funny how y'all threaten to leave, to where? Oh you mean the even more expensive communities? Don't mention TB or expect them to be different in the long term, same scenario will happen if they refuse to learn from OSBot's mistakes (they are making the same ones OSBot made at its genesis, but they won't be able to sustain their market model for a whole year like OSBot did, that's just not going to happen). You have been spoiled by the previous market model.
  9. Dude. You better be on skype on a daily basis.
  10. I did understand your code, I don't think your position grabber is more advanced than mine in any way (I'm talking about the position grabber here, not the walking part). Concerning my code. What is too complex? What is redundant? If you have a walking snippet that's better / more human-like than mine feel free to post it. I'd love to see how it should be done Edit: I'll be offline for the rest weekend but looking forward to your response ^^
  11. I see your points. I never claimed my snippet reproduces human behavior perfectly or even got close, all I said was that if you are trying to emulate such behavior it requires complexity. If you think my snippet is more or as ban-productive as the average walker, then fair enough, I don't have any empirical data to contradict that stance. I might be fooling myself, but to me my snippet looks more human-like than any other walker I ever used. Returning the closest tile from an array isn't the most intelligent design either however :p This could be checked for via collision flags / rooms, might be a bit processing heavy though (unless you cache the data, which is probably how I'll do it ). I like some control over my walking, if you're fine with localWalker.walk(Position position), then fair nuf I guess :p
  12. @hero please continue posting nicolas cage gifs, those are actually funny.
  13. Please do elaborate then ^^
  14. script.getMap().distance(bestPosition) <= MethodProvider.gRandom(5, 3) fixed I didn't add tile deviation because I usually make it choose from a list of paths therefore reducing the probability of hot tile detection. though I will probably add that feature soon, it will however require collision flag checking and therefore even more complexity, the thing you criticized me for in the first place :p
  15. When trying to emulate human behavior one can't be complex enough
  16. The imports in question have their own custom imports, etc... Won't be giving out my whole library ^^
  17. package pathwalking.Botrepreneur; import java.util.LinkedList; import org.osbot.rs07.api.map.Position; import org.osbot.rs07.api.model.Entity; import org.osbot.rs07.api.util.LocalPathFinder; import org.osbot.rs07.input.mouse.MiniMapTileDestination; import org.osbot.rs07.script.MethodProvider; import org.osbot.rs07.script.Script; import sleep.Botrepreneur.SleepMethods; import time.Botrepreneur.Timer; import energy.Botrepreneur.RunMethods; public class PathWalkMethods { /** * @author Botrepreneur * @Version: 00.41 *Deux* */ public static boolean traversePath(Script script, Position[] path, boolean reversed, int toggleRunOnAt, int toggleRunOffAt, boolean toggleRunOnInCombat, long timeout) throws InterruptedException { Timer timer = new Timer(); int attempts = 0; while ((!reversed ? !script.myPosition().equals(path[path.length - 1]) : !script.myPosition().equals(path[0])) && timer.getElapsed() < timeout && attempts <= 10) { RunMethods.manage(script, toggleRunOnAt, toggleRunOffAt, toggleRunOnInCombat); Position bestPosition = null; if (!reversed) { for (int i = 1; i < path.length; i++) { MiniMapTileDestination mmtd; if (script.getMap().canReach(path) && (mmtd = new MiniMapTileDestination(script.getBot(), path)) != null && mmtd.isVisible()) { bestPosition = path; } } } else { for (int i = path.length - 1; i > 0; i--) { MiniMapTileDestination mmtd; if (script.getMap().canReach(path) && (mmtd = new MiniMapTileDestination(script.getBot(), path)) != null && mmtd.isVisible()) { bestPosition = path; } } } if (bestPosition != null) { boolean clicked = false; if (script.getMap().distance(bestPosition) <= 5 && bestPosition.isVisible(script.getBot())) { clicked = bestPosition.interact(script.getBot(), "Walk here"); } else { clicked = script.getMouse().click(new MiniMapTileDestination(script.getBot(), bestPosition)); } if (clicked) { SleepMethods.untilMoving(script, 900L); if (script.myPlayer().isMoving()) { int speed = MethodProvider.gRandom(script.getSettings().isRunning() ? 250 : 500, 100); MethodProvider.sleep(script.getMap().distance(bestPosition) * speed); } } else { script.getCamera().moveYaw(script.getCamera().getYawAngle() + MethodProvider.gRandom(50, 20)); attempts++; } } else { script.getCamera().moveYaw(script.getCamera().getYawAngle() + MethodProvider.gRandom(50, 20)); attempts++; } } return !reversed ? script.myPosition().equals(path[path.length - 1]) : script.myPosition().equals(path[0]); } public static boolean traversePath(Script script, Position position, boolean reversed, int toggleRunOnAt, int toggleRunOffAt, boolean toggleRunOnInCombat, long timeout) throws InterruptedException { if (position == null || !script.getMap().canReach(position)) { return false; } LinkedList<Position> pathList; Position[] path = null; if ((pathList = new LocalPathFinder(script.getBot()).findPath(position)) != null) { path = (Position[]) pathList.toArray(new Position[pathList.size()]); } return path != null ? traversePath(script, path, reversed, toggleRunOnAt, toggleRunOffAt, toggleRunOnInCombat, timeout) : false; } public static boolean traversePath(Script script, Entity entity, boolean reversed, int toggleRunOnAt, int toggleRunOffAt, boolean toggleRunOnInCombat, long timeout) throws InterruptedException { Position position; LinkedList<Position> pathList; Position[] path = null; if (entity != null && entity.exists() && (position = entity.getPosition()) != null && script.getMap().canReach(position) && (pathList = new LocalPathFinder(script.getBot()).findPath(position)) != null) { path = (Position[]) pathList.toArray(new Position[pathList.size()]); } else { return false; } return traversePath(script, path, reversed, toggleRunOnAt, toggleRunOffAt, toggleRunOnInCombat, timeout); } }
  18. To all users who put my signature on their ignore list:
  19. do not suggest chickens or cows as these will not be added. If you're asking why: too crowded + too high banrate, +no point unless I add banking have this on my list but as a separate script, though I could merge them ^^
  20. I am writing a free script, a combat suicider (start at lumbridge, walk to monster, kill monster until player dies, walk back to monster, etc...) It currently supports the following monsters: Lumbridge forest goblins Lumbridge east bank goblins (near the al-kharid gates) Lumbridge swamp giant rats Lumbridge castle giant rats please suggest some more spots, do not suggest chickens or cows as these will not be added. Peace!
  21. Botre replied to Realist's topic in Botting & Bans
    misread op, my bad
  22. Meh I'm not even going to bother. I don't blame you for not seeing their scheme, it's a brilliant one after all, hence why I'm impressed by it
  23. That's what I'm talking about. Fan-funded as in fan-bough and not fan-donated :p

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.