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.

Leaderboard

  1. Czar

    Global Moderator
    13
    Points
    23648
    Posts
  2. Fruity

    Scripter II
    12
    Points
    4966
    Posts
  3. DubzieBug

    Members
    11
    Points
    836
    Posts
  4. Maldesto

    Administrator
    10
    Points
    19230
    Posts

Popular Content

Showing content with the highest reputation on 09/10/15 in all areas

  1. Hire a lawyer, would be easy to prove you were hacked/phished. You seem more concerned about your runescape account than the jail sentence. before denying claims, you may want to remove this video lmao.
  2. ๐Ÿ‘‘CzarScripts #1 Bots ๐Ÿ‘‘ ๐Ÿ‘‘ LATEST BOTS ๐Ÿ‘‘ If you want a trial - just post below with the script name, you can choose multiple too. ๐Ÿ‘‘ Requirements ๐Ÿ‘‘ Hit 'like' ๐Ÿ‘ on this thread
  3. Just made this real quick! hahaha inspired by Jauz
  4. The fact that you are even remotely caring about the status of your RS account when you're potentially facing prison makes me think there's something wrong in your head.
  5. HAI

    4 points
  6. no more afking guthans in NMZ you say
  7. I don't think you're understanding how serious this is. Jagex have sent people to jail before and you can't just hide behind a pixelated-safety net. You had the same I.P address as the opposed hacker? which makes your allegation VERY hard to prove. But, at least take a few steps in the right direction..... Delete all your youtube videos, esp the ones of you smoking pot and becoming a muslim lol? how do you think that makes you look to people? and lastly, delete this post. It is NOT doing you no favours. I hope if you are innocent, that a judge/lawyer can see that and help you out.
  8. I've requested @Kabana to post here. Why would you let someone even do services for you in the first place if you don't even know who he is on osbot?
  9. HAI

    3 points
    Welcome to OSBot! Be careful, most of these guys have never talked to a girl before.
  10. Holidays are coming up for uni! So what this means is i will be releasing a few money making scripts that i have been using privately for the public to purchase. Whilst the semester break is on i will be making a few new ones also if you have any requests that i can work on let me know. Also i will be completely fixing little problems with my current scripts.
  11. dont bot an account you dont want to risk
  12. its like a shortened link of youtube if you think its a malicious site
  13. Sold my guthans set yesterday at 14.5m..Feel bad for the guy who bought it l0l I just saw on reddit where people are buying them for 5-6m right now
  14. Sorry what did u say too distracted by that picture
  15. I wrote this object loader class to make a personal aio woodcutting script. I thought i'd share it with you guys Hope something can be learnt from this ObjectLoader class: import javax.swing.JFrame; import javax.swing.JPanel; import javax.swing.border.EmptyBorder; import javax.swing.DefaultListModel; import javax.swing.JScrollPane; import javax.swing.JButton; import javax.swing.JList; import org.osbot.rs07.api.map.Position; import org.osbot.rs07.api.model.RS2Object; import org.osbot.rs07.script.Script; import java.awt.event.ActionListener; import java.awt.event.ActionEvent; import java.util.ArrayList; import javax.swing.JLabel; import javax.swing.SwingConstants; import javax.swing.JSpinner; import javax.swing.SpinnerNumberModel; import javax.swing.JTextField; import javax.swing.event.ChangeListener; import javax.swing.event.ChangeEvent; import javax.swing.event.DocumentEvent; import javax.swing.event.DocumentListener; public class ObjectLoader extends JFrame { /** * @author Apaec */ private static final long serialVersionUID = 1L; private JPanel contentPane; private String interactionString; private int radius = 10; private final DefaultListModel<String> modelDesired = new DefaultListModel<String>(); private final DefaultListModel<String> modelLoaded = new DefaultListModel<String>(); private ArrayList<RS2Object> objectListDesired = new ArrayList<RS2Object>(); private ArrayList<RS2Object> objectListLoaded = new ArrayList<RS2Object>(); private ArrayList<Position> controlPos = new ArrayList<Position>(); private boolean isVisible = false; public ObjectLoader(final Script script, String defaultSearchString, int defaultRadius) { this.interactionString = defaultSearchString; this.radius = defaultRadius; } public void openLoader(final Script script) { setTitle("Object Loader"); setDefaultCloseOperation(JFrame.DISPOSE_ON_CLOSE); setBounds(100, 100, 450, 305); contentPane = new JPanel(); contentPane.setBorder(new EmptyBorder(5, 5, 5, 5)); setContentPane(contentPane); contentPane.setLayout(null); setAlwaysOnTop(true); setResizable(false); JLabel lblLoadObjectsWithin = new JLabel("Load objects within radius:"); JLabel lblLoadObjectsWith = new JLabel("Load objects with action:\r\n"); final JSpinner spinner = new JSpinner(); final JTextField txtChopDown = new JTextField(interactionString); JScrollPane scrollPane = new JScrollPane(); final JList<String> desiredtemsList = new JList<String>(modelDesired); JLabel lblDesiredObjects = new JLabel("Desired Objects"); JScrollPane scrollPane_1 = new JScrollPane(); final JList<String> loadedItemsList = new JList<String>(modelLoaded); JLabel lblNewLabel = new JLabel("Loaded Local Objects"); JButton btnNewButton = new JButton("<<"); JButton button = new JButton(">>"); JButton btnRefresh = new JButton("Refresh"); JButton btnSave = new JButton("Save"); lblLoadObjectsWithin.setBounds(10, 11, 193, 14); lblLoadObjectsWith.setBounds(10, 36, 193, 14); txtChopDown.setBounds(213, 33, 215, 20); btnNewButton.setBounds(192, 61, 54, 69); button.setBounds(192, 134, 54, 69); btnRefresh.setBounds(10, 214, 89, 42); btnSave.setBounds(109, 214, 319, 42); spinner.setBounds(213, 8, 215, 20); scrollPane.setBounds(10, 61, 178, 142); scrollPane_1.setBounds(250, 61, 178, 142); txtChopDown.setHorizontalAlignment(SwingConstants.CENTER); txtChopDown.setColumns(10); lblDesiredObjects.setHorizontalAlignment(SwingConstants.CENTER); lblNewLabel.setHorizontalAlignment(SwingConstants.CENTER); scrollPane.setViewportView(desiredtemsList); scrollPane.setColumnHeaderView(lblDesiredObjects); scrollPane_1.setViewportView(loadedItemsList); scrollPane_1.setColumnHeaderView(lblNewLabel); spinner.setModel(new SpinnerNumberModel(radius, 1, 30, 1)); contentPane.add(lblLoadObjectsWithin); contentPane.add(spinner); contentPane.add(lblLoadObjectsWith); contentPane.add(txtChopDown); contentPane.add(scrollPane); contentPane.add(scrollPane_1); contentPane.add(btnNewButton); contentPane.add(button); contentPane.add(btnRefresh); contentPane.add(btnSave); setVisible(true); isVisible = true; spinner.addChangeListener(new ChangeListener() { public void stateChanged(ChangeEvent arg0) { radius = (int) spinner.getValue(); } }); txtChopDown.getDocument().addDocumentListener(new DocumentListener() { public void changedUpdate(DocumentEvent e) { interactionString = txtChopDown.getText(); } public void insertUpdate(DocumentEvent arg0) { interactionString = txtChopDown.getText(); } public void removeUpdate(DocumentEvent arg0) { interactionString = txtChopDown.getText(); } }); btnNewButton.addActionListener(new ActionListener() { public void actionPerformed(ActionEvent arg0) { if (loadedItemsList.getSelectedIndex() != -1) { modelDesired .addElement(convertObjectToString(objectListLoaded .get(loadedItemsList.getSelectedIndex()))); objectListDesired.add(objectListLoaded.get(loadedItemsList .getSelectedIndex())); objectListLoaded.remove(loadedItemsList.getSelectedIndex()); modelLoaded.removeElementAt(loadedItemsList .getSelectedIndex()); } } }); button.addActionListener(new ActionListener() { public void actionPerformed(ActionEvent arg0) { if (desiredtemsList.getSelectedIndex() != -1) { modelLoaded .addElement(convertObjectToString(objectListDesired .get(desiredtemsList.getSelectedIndex()))); objectListLoaded.add(objectListDesired.get(desiredtemsList .getSelectedIndex())); objectListDesired.remove(desiredtemsList.getSelectedIndex()); modelDesired.removeElementAt(desiredtemsList .getSelectedIndex()); } } }); btnRefresh.addActionListener(new ActionListener() { public void actionPerformed(ActionEvent arg0) { clearListsAndModels(); ArrayList<RS2Object> objectsAll = null; objectsAll = loadNearbyObjectsForActionAsList(script, getRadius(), getInteractionString(), true); if (objectsAll != null) { for (RS2Object o : objectsAll) modelLoaded.addElement(convertObjectToString(o)); objectListLoaded = objectsAll; } } }); btnSave.addActionListener(new ActionListener() { public void actionPerformed(ActionEvent arg0) { setVisible(false); isVisible = false; } }); } public String convertObjectToString(RS2Object o) { return o.getName() + " (" + o.getPosition().getX() + "," + o.getPosition().getY() + "," + o.getPosition().getZ() + ")"; } public String getInteractionString() { return interactionString; } public int getRadius() { return radius; } public void clearListsAndModels() { modelLoaded.clear(); modelDesired.clear(); objectListDesired.clear(); objectListLoaded.clear(); controlPos.clear(); } public boolean isOpen() { return isVisible; } public RS2Object[] getAllObjects() { if (objectListLoaded.size() > 0) { RS2Object[] objects = new RS2Object[objectListLoaded.size()]; for (RS2Object o : objectListLoaded) objects[objectListLoaded.indexOf(o)] = o; return objects; } else { return null; } } public RS2Object[] getDesiredObjects() { if (objectListDesired.size() > 0) { RS2Object[] objects = new RS2Object[objectListDesired.size()]; for (RS2Object o : objectListDesired) objects[objectListDesired.indexOf(o)] = o; return objects; } else { return null; } } private ArrayList<RS2Object> loadNearbyObjectsForActionAsList( Script script, int radius, String action, boolean clearLists) { if (clearLists) clearListsAndModels(); ArrayList<RS2Object> objects = new ArrayList<RS2Object>(); for (RS2Object r : script.objects.getAll()) { if (r != null && r.exists() && !r.getName().equals("null") && script.map.distance(r) <= radius && !controlPos.contains(r.getPosition())) { if (action.equals("")) { controlPos.add(r.getPosition()); objects.add(r); } else if (r.hasAction(action)) { controlPos.add(r.getPosition()); objects.add(r); } } } return objects.size() > 0 ? objects : null; } } >>apologies for the poor jframe code, used a gui builder. Did my best to tidy it up somewhat but I understand it's still a little messy. How to use it in an example script: import org.osbot.rs07.api.model.RS2Object; import org.osbot.rs07.script.Script; import org.osbot.rs07.script.ScriptManifest; @ScriptManifest(name = "Object loader demo", author = "Apaec", version = 1.0, info = "Demo displayin object loader", logo = "") public class ObjectLoaderDemo extends Script { ObjectLoader loader; RS2Object[] desiredObjects = null; public void onStart() { loader = new ObjectLoader(this, "", 10); if (!loader.isOpen()) loader.openLoader(this); } public int onLoop() throws InterruptedException { while (loader.isOpen()) { sleep(400); desiredObjects = loader.getDesiredObjects(); } // visual debug: if (desiredObjects.length > 0) for (RS2Object o : desiredObjects) if (o != null && o.exists()) log(o.getName()); return 10; } public void onExit() { if (loader.isOpen()) loader.dispose(); } } Where desiredObjects is your array containing the objects configured by the user. Screenshots: Gif: If you're commenting on my code, please be constructive, and I understand it's a bit below-par in places. I know how it is tho when posting snippets x) how it helps apa
  16. Hey bro, I can't figure out how to trial your crab script , It keeps asking me to buy it when i try to add it , What am i suppose to do ?
  17. sounds great! a TINY suggestion, maybe updating wests so it doesn't go upto hob goblins? As im getting much better xp at wests as its so much quiter? Thanks
  18. Apologies for not giving more info, I had aggressive mode set to max, but the last slider left as standard so it doesnt attack others crabs, I have been baby sitting it recently at wests, and i have caught it clicking over in the east patch so it just stands by the fence now, Thanks
  19. it seems to have stopped running south after i stopped clicking the random path box, not sure why, but when i end up in lumby (3rd time now!) the ring of life is gone, as if that saved me, yet all my knives have dissapeared, almost as if the bot has dropped them? Got to say, this isnt as flawless as your magic script, that is epic! hopefully the updates may sort this out?? As the camera movement, paths to crabs and picking up ammo is brilliant... Thanks edit: nope, says 0.45 at top so i presume this is the updated version, and still walking south... all the time! Thanks
  20. hello, just bought this script and it is also running south. How do i check what version i am running? here's an error log just in case: [iNFO][bot #2][09/10 02:13:35 PM]: true 2.2 ?? [iNFO][bot #2][09/10 02:13:35 PM]: [x=2724, y=3490, z=0] [iNFO][bot #2][09/10 02:13:35 PM]: Found unlocal edge! 13, Source [x=2662, y=3629, z=0] -> [x=2660, y=3624, z=0]., reverting... [iNFO][bot #2][09/10 02:13:35 PM]: true 2.2 ?? [iNFO][bot #2][09/10 02:13:35 PM]: [x=2724, y=3490, z=0] [iNFO][bot #2][09/10 02:13:35 PM]: Found unlocal edge! 14, Source [x=2662, y=3629, z=0] -> [x=2660, y=3624, z=0]., reverting... [iNFO][bot #2][09/10 02:13:35 PM]: true 2.2 ?? [iNFO][bot #2][09/10 02:13:35 PM]: [x=2724, y=3490, z=0] [iNFO][bot #2][09/10 02:13:35 PM]: Found unlocal edge! 14, Source [x=2662, y=3629, z=0] -> [x=2660, y=3624, z=0]., reverting... [iNFO][bot #2][09/10 02:13:35 PM]: true 2.2 ?? [iNFO][bot #2][09/10 02:13:35 PM]: [x=2724, y=3490, z=0] [iNFO][bot #2][09/10 02:13:36 PM]: Found unlocal edge! 14, Source [x=2662, y=3629, z=0] -> [x=2660, y=3624, z=0]., reverting... [iNFO][bot #2][09/10 02:13:36 PM]: true 2.2 ?? [iNFO][bot #2][09/10 02:13:36 PM]: [x=2724, y=3490, z=0] [iNFO][bot #2][09/10 02:13:36 PM]: Found unlocal edge! 14, Source [x=2662, y=3629, z=0] -> [x=2660, y=3624, z=0]., reverting... [iNFO][bot #2][09/10 02:13:36 PM]: true 2.2 ?? [iNFO][bot #2][09/10 02:13:36 PM]: [x=2724, y=3490, z=0] [iNFO][bot #2][09/10 02:13:36 PM]: Found unlocal edge! 14, Source [x=2662, y=3629, z=0] -> [x=2660, y=3624, z=0]., reverting... [iNFO][bot #2][09/10 02:13:36 PM]: true 2.2 ?? [iNFO][bot #2][09/10 02:13:36 PM]: [x=2724, y=3490, z=0] [iNFO][bot #2][09/10 02:13:36 PM]: Found unlocal edge! 12, Source [x=2662, y=3629, z=0] -> [x=2660, y=3624, z=0]., reverting... [iNFO][bot #2][09/10 02:13:36 PM]: true 2.2 ?? [iNFO][bot #2][09/10 02:13:36 PM]: [x=2724, y=3490, z=0] [iNFO][bot #2][09/10 02:13:37 PM]: Found unlocal edge! 12, Source [x=2662, y=3629, z=0] -> [x=2660, y=3624, z=0]., reverting... [iNFO][bot #2][09/10 02:13:37 PM]: true 2.2 ?? [iNFO][bot #2][09/10 02:13:37 PM]: [x=2724, y=3490, z=0] [iNFO][bot #2][09/10 02:13:37 PM]: Found unlocal edge! 12, Source [x=2662, y=3629, z=0] -> [x=2660, y=3624, z=0]., reverting... [iNFO][bot #2][09/10 02:13:37 PM]: true 2.2 ?? [iNFO][bot #2][09/10 02:13:37 PM]: [x=2724, y=3490, z=0] [iNFO][bot #2][09/10 02:13:37 PM]: Found unlocal edge! 12, Source [x=2662, y=3629, z=0] -> [x=2660, y=3624, z=0]., reverting... [iNFO][bot #2][09/10 02:13:37 PM]: true 2.2 ?? [iNFO][bot #2][09/10 02:13:37 PM]: [x=2724, y=3490, z=0] [iNFO][bot #2][09/10 02:13:37 PM]: Found unlocal edge! 12, Source [x=2662, y=3629, z=0] -> [x=2660, y=3624, z=0]., reverting... [iNFO][bot #2][09/10 02:13:38 PM]: true 2.2 ?? [iNFO][bot #2][09/10 02:13:38 PM]: [x=2724, y=3490, z=0] [iNFO][bot #2][09/10 02:13:38 PM]: Found unlocal edge! 11, Source [x=2662, y=3629, z=0] -> [x=2660, y=3624, z=0]., reverting... [iNFO][bot #2][09/10 02:13:38 PM]: true 2.2 ??
  21. I bet the only reason they did this is because they knew people would never vote in sailing if they didn't fix the shit that they messed up with other parts of the game.
  22. Shortcut is only used after banking, script isn't supporting returning through the tunnel.
  23. sold my smoke staff for 1.4m dem loss you cant afk 99 range tho ;) l0l i might even buy guthans for slayer if it's dropped a lot lol, i can afford it when its 14m, but i'd rather not lol
  24. "Fruity NMZ sales have seen a 200% increase due to this new jagex update" -confirmed by fruity
  25. will still work, but hey that's botting :P
  26. Wooooooooooww..... that paper is filthy. Should take better care of your legal documents.
  27. HAI

    1 point
    Make a sign with your face and a picture saying hi i'm alaeee Just so people can actually see your a female. and if you don't do it, oh i thought females love taking photos :L
  28. bro can i get a trial of this one pls ?
  29. Interested in trying this script out before purchasing. Would love a 24 hour trial. If its as flawless as your magic script it will be great!
  30. Good luck with official scripter status! Here are some tips to help improve your code: Use lambdas for your action and change listeners. It's less verbose and more efficient. Don't extend JFrame, as that floods the API of ObjectLoader with a bunch of irrelevant inherited methods (and ObjectLoader is not a frame, it has a frame). Return Collections, not arrays. This allows easy stream usage and implementation-specific looping through forEach. Although devs can use Arrays.stream(T[]), chances are they'd rather turn it into a collection and use it as such. Only use arrays if you want devs to be able to easily add items at a specific index (without needing to manually fill the collection up to that index). Do not return null. Read the null section of this thread (http://osbot.org/forum/topic/81558-some-java-tips/) Use forEach loops for implementation-specific loops: objectListLoaded.forEach(o -> objects[objectListLoaded.indexOf(o)] = o);No need for an isVisible variable, as JFrame has an isVisible() method.It seems you hide the frame, but never dispose it. Dispose it when it's no longer needed. Why do you pass Script to the constructor of ObjectLoader and openLoader? If you want some more tips, feel free to message me! If you don't understand anything I've said above, let me know
  31. Well i am doing nothing with it anymore.. So why not share it with others? Plus i have every right to give the osbot community a new method to try even if other people are doing the same thing. Plus that's what scriptwriters do they find new scripts that not many people know of or have and make it for purchase its called being creative. leeches = Humans just like you botting for their own personal reasons? therefor are you not a leecher?
  32. YaY give to the leechers who are too lazy to do their research and find money methods theirselves, and ruin it for others.
  33. Hey now... there's a lot of good free scripts on the SDN, but you're from PB so I understand your ignorance and what does being a scholar have to do with anything? Half the scripters here are in university... cocky much?
  34. Application: (Please post in the thread below, Do not pm this to me) Do you agree to the T.O.S: Yes Will you pay the deposit in full: Yes I can pay the full 11m. What position(s) are you applying for: Skilling, Questing How many hours are you available a week: 20+. Thursday and Friday afternoons/evenings are my most open times Your Skype: rs_goldseller420
  35. http://www.dafont.com/press-start-2p.font http://www.dafont.com/amiga-forever.font http://www.dafont.com/atari-st-8x16-system-font.font

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.