Skip 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.

dreameo

Scripter II
  • Joined

  • Last visited

Everything posted by dreameo

  1. using equals method is best suited for strings, it's not good to compare objects otherwise like that. String s = new String("hello"); String p = new String("hello"); s.equals(p) // true s == p // false;
  2. dreameo replied to XaLeR's topic in Tutorials
    np
  3. dreameo replied to XaLeR's topic in Tutorials
    The interact would only be "Make-X", or like "Make-10". Other then that, make sure you have the right widgets.
  4. lol, you just have to put your code in the right spot, but we don't have the source. Easiest thing to do is put it in the onLoop but that's a short term fix (for your overall development)
  5. You have to update the tree object. You most likely initialized the tree object but failed updating the variable.
  6. public boolean hasItem(String itemName){ return getInventory.contains(itemName); } You just create methods to reduce any duplicate code. Example: I can call this method whenver i need to see if i have I have an item in my inventory. For more practical use, the methods you invoke will have larger pieces of code inside them.
  7. Yea I agree Apa completly. But relative to the code by op, names of items are constant ;), regardless of how he sets up the code. I get what you mean however.
  8. Easier way to get tree area; Area yewArea = new Area(3203, 3506, 3225, 3497); Area oakArea = new Area(3171, 3425, 3159, 3399); Area areaToChop = getSkills().getDynamic(Skills.WOODCUTTING) >= 60 ? yewArea : oakArea;
  9. This comes from Oracles code convention. Not sure what you're saying at the end lol.
  10. Somewhat, you can create your own methods and then call them in the onLoop. When interacting with NPCs or Entitys, you need the references to those objects updated (i.e within the loop). Constants can be global as you have them (Strings, areas), the rest you should do within methods ;)
  11. how he used string is good, if you put it in a method, you would be creating a string object everytime. Note, anything final should be left in uppercase (final string NAME = "")
  12. yea, think it's missing an ! at the if ;o
  13. Yes, however there is a case when you click, and are moving, a feather either disappears or is already taken. Yet the bot continues towards the feather that is no longer there.
  14. I thought of this too. Can check that current tile to see if it no longer has a grounditem called feather. ;)
  15. If you want to understand it, read what he did and do your own version of a timer. This one is somewhat unique to avg timer classes.
  16. null rocks have a specific id
  17. Hmm.. Inside MoveMouseEvent is a seperate Vector class. I'm guessing the construction of the vector class is what initializes the speed of mouse.
  18. dreameo replied to dreameo's topic in Snippets
    I understand alek may have posted explaining but, you still haven't given me a valid reason. Saying that its more 'bot like' doesn't prove anything. And yes, I keep behavior strictly to what the method does. Same as the interact method in osbot, you must first check to see if an entity is not null and visible before you interact, it's not the responsibility of the interact method to do that. Simply creating a method to check beforehand is what you're looking for. I never rejected your criticism, i'm asking for clarification.
  19. np, how was the implementation of inv listener? forgot: make sure to stop thread onExit
  20. Credits: Modified source for osbot: Implementation:
  21. dreameo replied to dreameo's topic in Snippets
    I'm not aiming for the SDN, however, it is allowed. IS NOT ALLOWED: Which does not apply
  22. dreameo replied to dreameo's topic in Snippets
    The purpose of sleep is to avoid instantaneous reaction. Otherwise, explain your reasoning. The behavior of the method is to interact, not check. As mentioned, overloading is doable.
  23. dreameo posted a topic in Snippets
    Didn't see an interact method between item and entity. Here's an example (can overload to accept String) : Does not check for item Does not check for entity returns true on interaction between item and entity

Account

Navigation

Search

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.