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.

Leaderboard

Popular Content

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

  1. ๐Ÿ‘‘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
  2. As promised from the 2.3.111 development build, the OSBot Break Manager was re-written and is currently working with all the features found from the new settings interface. Here is some general info regarding the break manager: -Randomize bot/break time randomizes the time by 10% --Ex: 100 min bot time = 90-110 min bot time -If you are using a default account, you will be logged out after the bot time is reached --Should be obvious, you can't log back in without giving the client your user/pass Changelog: -Rewrote Break Manager -Patched Default account bug while logged-out -The OSBot Staff
  3. OSbot having to maintain more than the client? lol.
  4. We all know that there's a lot of inactivity on the staff's part inbetween time zone's and school work/jobs that the staff takes a part of outside of osbot. But Muffins could definitely fill part of these gaps in because he's always on when no one else is. He is a hard working, educated man and would do good as a mod imo. Give him a shot already! #Muffins #TrialMod #hashtagsaresostupid #thiswillgoupinflames #Hewillgettrialmod
  5. This song is (legally) my beat. Thanks for the congratulations everyone! It's good to be blue
  6. 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?
  7. I support, give this man his name back!!!
  8. by Czar Script live, buy now (only $4.99!) http://osbot.org/forum/store/product/463-perfect-crabs/ Want to buy the bot, but only have rs gp? Buy an OSBot voucher here Features Supports both rock crab locations! Teleporting - using tabs/spells Potion support - including combat potions and super att/str/defence Aggressive mode - attacks other crabs World hopping when a cannon is nearby Can randomize fight locations between trips! Calculates next best crab to attack when current crab is low on health! Resets region when crabs don't attack Rotates region resetting every 20-60 minutes Configure inventory load-out with a single button! Changes between walking south and using the cave! Banking support Automatically prioritizes visible crabs when fighting Can recover from being idle Ranged support, loots any type of ammo you have Loots ammo in second intervals (every 2-18 seconds it will loot all) Picks up edible seaweed to extend trips World hops when 7 or more players in the area Displays 'goal' information, e.g. (at 77 strength it will also show details for 80 strength, time left, xp left, etc) Rock crab areas are split into sectors and are cycled every time a rock crab is not found FAQ Why should I use this script when there are millions out there? It is the best script. Simply. Why are you releasing this now? It's time to make this one public, it was privately used for myself and has gotten me 80 strength in a single bot session. How do I set it up? On first use, make sure your inventory is laid out nicely, and click 'Load inventory' to save it forever, then click start Instructions There are no instructions. We do the all the work for you. CzarScriptingโ„ข Tips If you have a pure account, it is advised to go east, because there are no dangerous npcs there Use camelot tabs for quicker trips! You can use any potions, including combat ones Clean paint and GUI Want to use potions? Have potions in inventory Want to use teleport tabs? Have tabs in inventory Want to use camelot teleport spell? Have runes in inventory Want to use special weapons? Have special weapon in inventory Want to use ranged? Have ammo equipped Everything is automatically detected like a real robot. We do all the work for you. Gallery nooby account from 1-33 range (for range guild pot) Just from TESTING THIS SCRIPT
  9. 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
  10. i hope my time will come lol congrats tho x)
  11. Fruity is responsible for the refund, he sold the account. I have placed the original owner in TWC since he has failed to recover. If he can't recover fruity is liable for the refund and the Original owner will remain in the TWC group as he is selling accounts that he claims to be Original owner and can't recover. I've recovered accounts that were made 5 miles away with literally 0 information other than a user name and made up passes, due to old accounts my buddies made in 4-5th grade and never used. I recovered one that hadn't been logged into since 2004. With just the username, no other information other than the location of mine being close. So if you can't recover, you aren't the original owner or you are the one who recovered it.
  12. Thanks for your feedback! The issue regarding market guards is -technically- an OSBot issue, where the API will only say you're under attack if you receive a hit from an NPC that has the option "Attack". This means that while it will correctly detect for a market guard, it will also assume any regular NPC you pickpocket (for example a Man) the API will detect you're under attack and then run away. I'm looking into a fix for this, but thank you for reporting it I'll also see what I can do regarding eating until full HP in the near future Glad to hear you enjoyed the script!
  13. Man no lie, I have a pretty big poster on my wall that is the exact same as your profile picture
  14. Sorry just had to get this out of my system.
  15. 1 point
    Looking for someone to teach me how to code a little and make a basic script over skype/teamviewer. I've tried the word guides under tutorials but they've only confused me more. I'll pay of course, reply if interested. (I have no prior experience) You've been warned. xoxo
  16. idgaf they can see me watching at weird photos of naked girls
  17. Although I and a lot of other people agree with you, it is only 1 month of waiting if anything!
  18. He paid for you to do the service. He did not pay to wait an hour or two so you can get someone else to do it. You told him he was free to find someone else so you canceled on him after agreeing you were able to do it. Feedback stays.
  19. I would really like to try the trial for this script. Im thinking about buying it but i would loved to test the trial before i buy it.
  20. There is already an option to drop all, just don't select banking and select powerfishing, enjoy ;)
  21. Hey buddy, can i please grab a trial fir this script, thanks!
  22. What's the point in making these threads? The joke is not really good and more cringeworthy.
  23. almost 17hours no problems i got stuck late at work Just read promotion if i could get dreamrockcrabs for 30 days that would be great. Thanks for the awesome script
  24. i'd stay clear of that bitch, she's gonna get rko'd for the rest of her life.
  25. Script ran pretty well. I had one issue and one suggestion. Issue 1. With auto retaliate off, the script would just sit there while a market guard would attack me. If I did not stop the script & move I likely would have died. Since I was not attacking the guard in the first place I can only guess the script mis-clicked to steal from a stall which caused the guard to attack me. Suggestion 1. Heal to full health when returning to bank (highest amount without wasting any potential health points from chosen food) The script will get down to 10 health, run out of food, return to bank, grab food and run right back out. I think it would be far more efficient to heal to full health while at the bank, rather than running right back out with low health just to eat food again. Thank you again for the trial, I really appreciate it
  26. still have no idea why people play this game... it's a piece of shit x) dota>league
  27. czar I would be realy appreciated if I could have the experiments script until this one is fixed so I can bot under the night..
  28. 1 point
    Not once am I complaining about my accounts being banned lol, I know it's gonna happen. The point I was making is watch out, they just banned a shit ton of accounts apparently. Was just surprised to see no bots at all at willows or yews, it was odd.
  29. Whenever I use the manual feature (select rocks) instead of the automated presets, it lags the ever-living crap out of my client and dies. I've tried both at varrok west on clay and al kharid on iron. I bank all my ores, so I'm not sure if that is part of it too... **the only reason I am telling to run manually is because it always selects the top clay rock that is isolated, decides it doesn't want it... runs back south to the other 2 clay... rinse/repeat. It's just very, very slow for using as a clay script. WORKS: on automated presets BROKEN: manually select rocks to mine Edit: It's very laggy as soon as I start the script manually, but it locks up whenever the inventory is full (instead of banking). Edit2: I tried switching from clay -> iron for a test. It randomly mines tin/silver/iron when using the automated presets. Also got stuck at some point (~2 hours) just sitting in the bank spam right clicking the iron ore.
  30. Are you able to mine gold in the crafting guild and bank it with this?
  31. This seems to be a common misconception of "Scripting Help". Nobody is going to go on your teamviewer and write an entire script for you and have you prance around like "I WROTE A SCRIPT!" If you have a small problem you need help with I'm sure there are dozens of people on here happy to help, but don't just come on here and ask "Can you write a script for me, please?" http://osbot.org/forum/topic/58775-a-beginners-guide-to-writing-osbot-scripts-where-to-get-started-by-apaec/
  32. Any chance of a trial Czar thanks love the fisher script .
  33. 1 point
    Heya all, update has been pushed. (:
  34. After playing new games that I got from the steam summer sale, I decided to do something with my time. I recorded the clicks I made in a CSV file then I wrote a script to do the same action and recorded the scripts clicks in a CSV file. The picture on the left is a picture of my clicks(represented by black dots) on the runescape interface. The picture on the right is a picture of the scripts clicks(also represented by black dots) on the runescape interface. Take special note of the tabs, minimap, and chatbox.

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.