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/13/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. This update removes the MouseZoom random event and allows botters to use any zoom settings they wish. All credits go to @Zach for making this happen. Changelog: -Removed MouseZoom Random Event -Updated position calculations -Added Camera isDefaultScaleZ() This is a development build so there may be issues, please report any version 2.3.114 specific issues here. Edit: Moved to Stable Build -The OSBot Staff
  3. this is an amazing alternative when your mixer is broke ladies and gentlemen.. i welcome you to... the internet!
  4. 2 points
    I have an Iphone, but i am so sick of apples stupid products. Once my iphone breaks, I will never get another one.
  5. You told him two weeks and it just happens to get banned the next day? Can we provide any more proof to this? Chat logs etc? I've asked the user to post here.
  6. Mirror should be working now. Just restart your bot.
  7. This is the video that got me into papa franku, no regrets
  8. To change memory you need to run it from the cmd (from a batch file, type into notepad: java -jar "OSBot 0.0.0.jar" 1024) and change the 0.0.0 to the current osbot version (or whatever your osbot jar is called) @pk range, custom mode (map) or normal mode from the list @omni will take a look at the error asap
  9. 2 points
    don't worry, since you used a czar script there will be no problems regarding bans ;)
  10. 2 points
    You'll be fine.
  11. 2 points
    Yeah, you're that guy, right?
  12. Fixed an issue that was preventing it from running scripts. Restart your bot and it should work.
  13. #1 SOLD MAGIC SCRIPT #1 MOST FEATURES MAGIC SCRIPT ESC MODE, HOVER-CLICK, NEAREST ITEM CLICK, FLAWLESS JMod nearby and we still alive. Anti-ban and Optimal script usage Anti-ban: - Don't go botting more than 3 hours at once, take breaks! Otherwise the ban-rate is highly increased! - Bans also depend on where you bot, for the best results: bot in unpopular locations Banking-related spells are the lowest ban-rate (spells which require banking or can be casted near a bank, e.g. superheating, maybe alching, jewelry enchanting etc etc) since you can just go to a full world and blend in with other non-bots (humans), for example: world 2 grand exchange If casting spells on npcs, then unpopular locations reduce the banrate by alot, So make sure not to go to botting hotspots otherwise you may be included in ban waves. - Some good areas used to be (until some got popular): grizzly bear, yanille stun-alching, any overground tiles (upstairs etc) but once the areas are overpopulated, try to go to another location which is similar to the aforementioned locations. This is a very popular thread with many many users so if a new location is mentioned, the location will be populated very quickly so I can only suggest examples of good locations - Don't go botting straight after a game update, it can be a very easy way to get banned. Wait a few hours! If you ever get banned, just backtrack your mistakes and avoid them in the future: you cannot be banned without making botting mistakes. Keep in mind you can be delay-banned from using previous scripts, so don't go using free/crap scripts for 24 hours then switching to a premium script, because the free/crap previous script can still get you banned! For more anti-ban information, see this thread which was created by an official developer: http://osbot.org/forum/topic/45618-preventing-rs-botting-bans/
  14. 'the intelligent choice' by Czar Buy (only $4.99) Want to buy the bot, but only have rs gp? Buy an OSBot voucher here old pictures
  15. Khal AIO Stronghold ยฉ Created by @Ericthecmh No longer being sold! Are you bored of training hours and hours to reach that lvl 99? Do you want to make some quick cash while training? Khal AIO Stronghold is your utimate solution to all your needs. Get insane exp while getting awesome profits NOW! GUI Preview: Current Features: - Supports any room and any monster in the Stronghold of Security! - Advanced antiban system - Full loot support - Food and banking support - Informative and decorative paint - B2P support - Bone burial fro easy prayer exp - Settings saving/loading - Eat food to make space for loot - Range support - Mage support How do I start this script? Reviews: Progress Reports (click spoiler to view more): Bug report format: Mirror or normal Version of OSBot client (number, not something like "latest") Description of bug report Description of how to replicate if possible Screenshot if possible
  16. Started the account last month. Every single skill was botted. I bot 24/7, non-stop, until I want to PK. I think the account has been logged in 24/7 for the last week, ayy lmao. Either PKing, Questing, or botting at all times. Now that I'm done with questing and doing minigames (I have my barrows gloves, fire cape, torso, defender, whatever else you need), I'm going to be 24/7 suicide botting till 99 strength, 99 range, and 99 magic, or going to be PKing. Hopefully no ban, lol.
  17. Lol, wasn't us, was probably the phishing link you clicked, or bot you downloaded via youtube.
  18. OSBOT stores your details on your computer and nowhere else. You have a virus goin on there.
  19. 1 point
    As you can see from the signature that the script is awesome! =D
  20. 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
  21. 1 point
    @RoomScape bought an apple watch, and if someone would buy the apple pencil it would be @RoomScape.
  22. 1 point
    Steve Jobs didn't die for this.
  23. He attempted to frame you and therefor he is now banned, the evidence seemed valid at first so to prevent possible other scam attempts we always put the user into TWC as a precautionary measure. After your counter-evidence however, it became pretty clear that it was an attempt to frame you, so I don't see what's so unfair about it.
  24. would keep clicking back to abnk to tel me there is no food and logout, i had food already stated in gui and in invent
  25. 1 point
    I've been using trial for some hours, the sript is just brilliant. No mistakes. Im considering of buying myself a full version.
  26. Just a question ,friend. Its big unfair for us businessmen. Anyone disputes on osbot ,and we will be get a warning? and got trade with acution without any checking ? I remember one dispute against me on osbot long time ago, its for firecape service. The guy said i took his items 2days after we refused his order ,and told him to change password. at the end . obv ,he was lying , and he did not get any warning or punishment with the dispute . I think it will affect our rep . I can not do anything with your decision or osbot rules ,just a suggestion. Oke,lets go .I did not even know what happened in this event . just a guy added me ,here is whole chats . https://gyazo.com/2d3e2dda65af6105397324fb40f97bbe https://gyazo.com/21f87f1635c983ce9992f00c33a282a0 https://gyazo.com/8e2cd7f39235c45089efe926026e954a he got scammed by an imposter , what should i do now ? just let me know ,thanks a lot .
  27. [ERROR][Bot #1][09/13 12:55:34 PM]: Error in bot executor! java.lang.AbstractMethodError: client.emu.EmuClient.getScaleZ()I at org.osbot.rs07.api.util.GraphicUtilities.getScreenCoordinates(oj:431) at org.osbot.rs07.api.map.Position.getVertices(fo:79) at org.osbot.rs07.api.map.Position.getPolygon(fo:140) at org.osbot.rs07.api.map.Position.getPolygon(fo:247) at org.osbot.rs07.api.map.Position.isVisible(fo:390) at org.osbot.rs07.api.model.NPC.isOnScreen(kh:169) at unk.actions.attack.process(attack.java:33) at unk.Main.onLoop(Main.java:187) at org.osbot.rs07.event.ScriptExecutor$InternalExecutor.run(lj:123) at java.lang.Thread.run(Unknown Source) I get this when the script want to fight a NPC. I am not getting this error on V 113. Edit: This is my code for attack: if(monster != null) { if(monster.isOnScreen()) { // this is line 33 if(monster.interact("Attack")) { //rest of the code } } }
  28. 1 point
    I wish you the best of luck!
  29. hey mate, i tried to find the script today when starting once ive logged in (purchased it several days ago) and it says that its not in my scripts and i have to re purchase it?
  30. i can try czar experiment please?
  31. Im not sure what is this but on my keyboard i See button called "print screen" 15m maybe actually rs3 is afk
  32. I just bought it and the client freezes
  33. context.getTaskExecutor().execute( new SelectionTask(context, () -> !context.getInventory().contains(food), // When out of food new WebWalkTask(context, context.getWebWalker().getClosest(bank)) .chain(new WithdrawTask(context, food, -1)), new ExecuteOnConditionTask(context, context::isIdle, // Only run when idle new WebWalkTask(context, context.getWebWalker().getClosest(FLESH_CRAWLER)) .chain(new InteractEntityTask(context, FLESH_CRAWLER, ATTACK)) .chain(new ExecuteOnConditionTask(context, () -> context.getCombat().getHealthPercent() < 25, // Eat when HP is low new InteractItemTask(context, food, EAT)))) ));
  34. Works very well - here is a proggy https://gyazo.com/c7e08d483d984cac4995ef320b9a241a
  35. I love this script! I should've screen shot 200 straight hours... I finally got 99 range. thanks my friend I averaged 40k-45k/hr and got about 1million archery tickets as well (: best script ever. you wont be getting that much exp unless you got a higher ranged level and good gear. i'd suggest dbow (or magic longbow but highly recommend dbow), amulet of fury (or glory), robin hat (or coif), ranger boots (or none), tunic (or leather body), black d'hide chaps/vambs (depends on your ranged level), ava accumulator/attractor and always equip a ring of life. I averaged 45k exp when I hitted 88+ ranged. are you sure you didn't enable breaks when you added your account on "settings" ?
  36. Hey Czar, Bought a few of your scripts and they are all amazing . Just found a small problem that happens when a random appears. Right after clicking a curse, a random appeared. So of course the bot tried to dismiss him but he had "confuse" toggled and was not able to dismiss him. I found it right when it happened so not a big deal, but would be nice if it was possible for you to fix. Ty
  37. 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.

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.