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.

Hayase

Members
  • Joined

  • Last visited

Everything posted by Hayase

  1. Do I need to do anything special with onMessage? I created a function checkForTrade() using the original code and I'm not sure if it's working or not. @[member='Override'] public void onMessage(Message c) { String m = c.getMessage().toLowerCase(); checkForTrade(); if (trade.getLastRequestingPlayer() !=null && m.contains(trade.getLastRequestingPlayer().getName().toLowerCase())) { log("We found a trade in our onMessage!"); } } Seems to be working now, thanks Saiyan.
  2. Player worker = trade.getLastRequestingPlayer(); log("Waiting for a trade"); if (worker != null) { //this is broken if (worker.isVisible()) { log("I see your trade! Allow me..."); if (worker.interact("Trade with")) { new ConditionalSleep(5000) { @[member='Override'] public boolean condition() throws InterruptedException { return trade.isCurrentlyTrading(); } }.sleep(); } if (trade.isCurrentlyTrading()) //do stuff } else { log("I CAN'T SEE YOU!"); camera.toEntity(worker); } } else { log("Where's the trader?"); } Currently the script doesn't detect a trade. It always returns null for all incoming trades. What is the proper usage to getLastRequestingPlayer()?
  3. Webwalk to the area before the conflicting area, then in the conflicting area use a manual path to walk. If you need to walk further just resume webwalking after you get past the problem area. I use this idea for draynor's attacking tree when I walk from draynor -> grand exchange Example: Area problem_area = new Area(...); Area destination = new Area(...); WebWalkEvent webEvent = new WebWalkEvent(destination); webEvent.setEnergyThreshold(18); webEvent.useSimplePath(); webEvent.setBreakCondition(new Condition() { @[member='Override'] public boolean evaluate() { if (problem_area.contains(myPlayer())) { //build path here https://explv.github.io //use a foreach to loop through positions for the walkPath walking.walkPath(...); return true; } else return false; } }); execute(webEvent);
  4. Well that was easy, thanks.
  5. So it seems all of these can work the same: RS2Object tree1 = objects.closest("Oak"); Entity tree2 = objects.closest("Oak"); NPC tree3 = npcs.closest("Oak"); What are the differences if they all accomplish the same job of finding the closest oak tree? [What is the right tool for the job?] Continuing on it looks like they all can be interactable: tree.interact("Chop Down"); tree2.interact("Chop Down"); tree3.interact("Chop Down"); Again what is the right tool for the job if they all do the same thing?
  6. So I couldn't solve my problem elegantly so I just hard coded every tree location and calculated distance from each tree and decided which tree to cut next that way. I wanted to be more abstract with it so I could expand it to other trees in a designated area but maybe I'll figure it out in the future.
  7. Hello! I'm making a woodcutting script that chops near Draynor. So far if a tree is off the map I am trying to get the script to run closer to that object. I've defined a global area the script will operate in and within that area I am trying to define and grab all local Oak trees. private Area tree_range = new Area(3096, 3210, 3142, 3220); RS2Object tree = api.objects.closest(tree_range, "Oak"); if (tree != null) { if (tree.isVisible()) { if (tree.interact("Chop Down")) { api.log("Chopping tree"); } } else { api.log("Adjusting camera to tree"); api.camera.toEntity(tree); api.log("Walking closer to tree"); WebWalkEvent webEvent = new WebWalkEvent(tree.getPosition()); webEvent.setEnergyThreshold(18); webEvent.useSimplePath(); webEvent.setBreakCondition(new Condition() { @[member='Override'] public boolean evaluate() { if (tree.isVisible()) { api.log("ChopTask: Tree is visible--condition met!"); return true; } else return false; } }); api.execute(webEvent); } } else { api.log("Tree is null"); } This doesn't go to the next tree (object) after the tree has been chopped down. Anyone have any advice to move onto the next (closest) tree in a local defined Area?
  8. List local_objects = api.objects.getAll(); int size = local_objects.size(); for (int i = 0; i < size - 1; i++) { Entity _object = (Entity) local_objects.get(i); if (_object.isVisible()) { if (_object.hasAction("Examine")) { _object.interact("Examine"); break; } } } I'm trying to grab all local objects and then sort through them to see which objects can be examined. After that it should examine the found object. This doesn't work though. It doesn't seem to work at all. Does anyone have advice how I can populate local objects and then figure out which ones can be examined? All the best,
  9. What Order do you need : Leveling Will you fb me/vouch on thread? : Yes ^-^ did you add me on skype?: Yes
  10. After playing with the script I have a script idea. When harpooning for swordfish can you create an option to drop all tuna and bank after a full inventory of swordfish?
  11. Hayase replied to boot's topic in Botting & Bans
    Idk why everyone is mad this is what this section is for LOL. RIP Accounts time to start again. I like reading about bans because it is just assurance that other peoples bots evaded the ban wave. Mine were banned today as well.
  12. Sweet, I tried to do this yesterday made it to about 64 wc and then the next day I was banned. YOU ARE LUCKY. I replicated your breaks and I got the hammer.
  13. May I have a trial please :>
  14. Having the same problem. The quest routine in the script is broke.
  15. Oh I misread what he said. Yeah It's not a private script then it's just paid. Edit: I forgot to mention the account that got banned lasted two weeks.
  16. Yes I know I will get banned, I'm testing out the limits between being banned though. No this is not a public script, I'm using Khals woodcutting script. I haven't changed my IP in weeks and I've been through a few accounts until I started taking short breaks. So the IP flagging idea is kinda irrelevant when you consider the bot breaking really does reduce bans. Atleast in my case anyway.
  17. So I was using breaks graciously botting for 45 minutes and breaking for 2 hours. I started with 1 account and then a week later started to bot two accounts at the same time starting a small bot farm. Both accounts are fresh accounts and were put into action after tutorial island. I wanted to see how far these bots go as an experiment before creating more accounts. So ultimately here are my settings: I've been testing out breaks in intervals over 3 day periods. The intervals are as follows: 30 minutes, 35 minutes, 45 minutes, and 55 minutes. I chose 3 days because I usually get banned after 3 days . At 55 minutes my first account was banned. This account lasted about two weeks. I think I was reported by a player or unlucky circumstances. I'm going to go back to 45 minutes and see how long until my 2nd account gets banned. What I find humorous about this experiment is that the email from my ban says it knows I'm using 3rd party software--yet my other account is still not banned!
  18. Bug report Template: - Mirror or regular client? regular - What location and what fish? Fish?! Trees bruh. Oak trees in lumbridge outside the training guide NPCS - Printscreen with the Osbot console enabled and script paint when getting stuck. When powerchopping with the bank method enabled, The bot will go into the lumbridge cellar but that bank is only members not f2p. Also, World hopping support for crowded worlds?
  19. Yeah I think so. This is what I run right now and I'll update this post after 49 mins to verify. It wasn't taking breaks yesterday. Edit: Looks like it is taking a break! WTF happened last night IDK but it's working now. LMAO.
  20. I don't think the bot is letting me take breaks. I set it to bot for 2 hours and take a 3 hour break but it just bots and doesn't stop. I tested this overnight and yeah. I don't think the bot is letting the break manager do it's task.
  21. Thanks for the fixes Czar :>
  22. Nope. This is what I set it to: It doesn't work though, it will train whatever combat style is currently set ignoring the goals. So if I was at 30 attack and told it to train to 40, if will keep going even after reaching 40.
  23. I don't think level tasking is working. I told the bot to get 40 attack and 60 str. I woke up today with 42 attack and it still training attack! I set the limits in the GUI but the paint doesn't say, "training attack to 40" like it does in your demo pictures. Instead it just says
  24. Thank you for the trial. I tested it out and I like it more than perfect WC. I actually own perfect WC and now I want this script too! There is one thing I'd like to ask though, I noticed that power chopping mode does what it says, but it lets you set a custom area to chop. Would you be able to use the same mode but also have it bank to the nearest bank as well? I would love that feature! All the best, - Hayase

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.