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.

Auron

Members
  • Joined

  • Last visited

Everything posted by Auron

  1. @GunmanDamn, actually I think I've hit a wall here. I had another Jar I needed to add (mysql-connector-java), but if I try and extract that into my script jar, not only do I get a lot of "Failed to load local script" for all the mysql classes, and when I try and run the script, I get java.lang.ExceptionInInitializerError ... Caused by: java.security.AccessControlException: access denied ("java.lang.RuntimePermission" "setContextClassLoader") I have a feeling there's no workaround for this - is there a way to connect to a local database? Or is the only solution here to create a proxy whereby you have to communicate with http requests or something?
  2. @Gunman Thanks for the reply. Good shout, I forgot about looking in the jar. The jar certainly existed inside the script jar, but it still didn't work. However, I tried extracting the Jar into the output root and it works! (Although I could have sworn I tried that before...) My solution 10 months ago was not putting the Jar in the artifact, but putting the jar on the classpath when running osbot. This is what seems to no longer work. Thanks.
  3. Hi, I'm trying to use an extenal library to handle json parsing (in this case json-simple-1.1.1.jar) This was all working for me fine about 10 months ago, but upon returning, it no longer works, I simply get java.lang.ClassNotFoundException: org.json.simple.parser.ParseException I am using InetIliJ 2021.2.2 Community, and I have: have added the jar as an External library added the jar into the artifact ("Put into Output Root") tried adding the library to a lib directory, and launching osbot using this directory as a classpath. E.G "C:\Program Files\Java\jre1.8.0_301\bin\java.exe" -cp "lib/*" org.osbot.Boot -debug Does anybody have any ideas as to what I could be doing wrong? Has something changed in the last 10 months as to not allow external jars? Thanks a lot! This is essentially a duplicate of the thread below, but the solution does not work for me.
  4. Aw man, sad to see you've quit. Return soon tho, ye? Haha, lambdas are easy brah - they're just methods without a name you create on the fly Nice script
  5. .... is dat Jacmob?
  6. Auron replied to Nym's topic in Scripting Help
    Eh why the hell not, I find a sick pleasure in doing so. Pm me
  7. Auron replied to Nym's topic in Scripting Help
    I can't really comment on the functionality of the script because it's hard to tell from just a brief look, if it works it works, good job pal. But from a coding point of view there can be a much better way of laying things out. In no particular order of things I picked up on: 1) All the settings checking at the beginning of the onLoop() are good, but only need to be checked once. The way you have it now, it will check these setting every loop. In the GUI, make the start button call a start method, which then checks all these things once, if everything is okay, then set Settings.started to true. 2) Conditional sleep can be separated into a method for neatness sake 3) You have two states, imo it's simply pointless in creating an enum with a getState() function. And it's almost pointless having a getState function if it's a one liner. Not to mention I don't really understand your getState() function, wouldn't this always return Alching? Just do if(*getState code*) { alch(); } else { splash(); } 4) (java conventions) sound like a dick saying this, but for convention sake you should create getters in the Settings class rather than accessing variables directly. It's a good habit to get into. 5) That GUI gui = new GUI(); at the top. I'm sure you can't even do that outside a method. Put it in the constructor of Main. That said, does this code compile? Anyway, it's a great start dude, best of luck in the future.
  8. As said above, stronghold of security is not supported with webwalking. Navigating the stronghold of security is a bit of a ballache. This is how I did it: (it's a bit of a hack and most definitely not the best way to do it, but you get the idea... )
  9. That guide by Apaec is a very good source (first post). If learn by looking at source is your thing, check out some scripts that are open source. But honestly, I know it kinda sucks, learning the basics of java is the best step. Pm me if you are really stuck and I will get back to you if I see it.
  10. sunny side up or over easy?
  11. Do some debugging, like does it loop? Does getState() return anything? It could be a problem with your logic when finding the state, so it returns null. And I'm pretty sure you can't just check whether your bank contains a certain thing if it isn't open. TBH you should redo getState completely, split it into logical steps. if (!getBank().isOpen()) { getBank().isOpen(); wat And use conditional sleeps, or at least use regular sleeps. if (!getBank().isOpen()) { getBank().open(); getBank().withdraw("Tomato", 14); getBank().close(); sleeeeeep If ya need any help holla
  12. I've often wondered what the 'best' way is to do this. Certainly an easy way is to pass your 'main' object (from main.java) to the GUI class so it can communicate and perhaps say it's started or something. So in your GUI class, create a constructor like: private Main main; public GUI(Main m){ this.main = m; } and, so in your Main class, when you create the GUI object: Gui gui = new Gui(this); And also a setter method for started in Main public void setStarted(boolean b){ this.started = b; } Then in your button listener in your GUI class you can main.setStarted(true); That's a simple way of doing it. You could perhaps have a custom 'Environment' class which stores data like int antibanLikelihood; or boolean started; And you can pass this to the GUI and read off it when you want the information. Hope you understood this. (also, capitalise your class names :p)
  13. Usually go for the £2.35 Carlsberg, £3.00 San Miguel if I want to treat myself. I have been out in centre London where it was verging on £5 a pint where I almost said 'Nah you're alright mate' after he poured it.
  14. Auron replied to Transporter's topic in Others
    Fairly sure this was you, but you helped me learn the basics of scripting which I was and am very grateful for. I believe you were working on a runecrafting script at the time. Can't say I went very far at the time. I proceeded to go away, learn java and I'm back for another crack at it. Anyway, thanks for that hahaha.
  15. Auron replied to Transporter's topic in Others
    Major props for releasing the source! Always a really good learning resource. Tutorial island always is a little annoying isn't it ;D Really like the GUI btw, very user friendly. Goodluck with everything On an unrelated note, were you on an undisclosed runescape botting site around 4 years ago?
  16. Auron replied to FrostBug's topic in Minigames
    Congratulations on the release man! Really piqued my interest when I first saw it in development, top stuff. Interested to see what you'll come out with next.
  17. Good going for a first script got the basics down there. There isn't a whole lot to critique, but for me there are two main points you should bare in mind: 1) ConditionalSleep. Make a habit of using this, it prevents many bugs and makes the script appear far more responsive. 2) Null checks. For the most part, you have done it. However, what happens if there are no valid chickens nearby? findNpc() will return null and the script will break when you try and interact with it. Using states for this short script is more hassle than it's worth. As Explv stated, it doesn't add anything. If you were to add to this with more possible states, then an argument can be made for them. As I said at the beginning though, good shit
  18. What is line 37?
  19. Oh nice, cheers for this. Will most likely be using. I would add this to save writing a million empty lambda functions public boolean hop(int world) { return hop(world, () -> false); }
  20. Why don't you use your script to get 70 agility :^ ) Will also produde some nice proggies
  21. I have a method in my main script called changeStateNodes(), and it assesses the current situation and adds only the necessary nodes. When it's obvious that the current active nodes have done their job, I call changeStateNodes(). I'm not sure what your situation is, but perhaps this could be useful?
  22. I may be entirely wrong, but I remember someone stating that static variables are shared between same script instances.
  23. Yeah I saw that comment on your tutorial island thread, but by that time I already had the Widget thing, and I thought it was pretty inventive so I stuck with. Basically the same thing so works either way :P the progression bar more than likely works off those configs. Don't take this away from me Explv D:

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.