Leaderboard
Popular Content
Showing content with the highest reputation on 09/09/15 in all areas
-
7 points
-
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 Staff5 points
-
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 #Hewillgettrialmod3 points
-
This song is (legally) my beat. Thanks for the congratulations everyone! It's good to be blue3 points
-
3 points
-
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 SCRIPT2 points
-
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 apa2 points
-
And kids keep wondering how they get caught botting2 points
-
2 points
-
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.2 points
-
Man no lie, I have a pretty big poster on my wall that is the exact same as your profile picture2 points
-
2 points
-
idgaf they can see me watching at weird photos of naked girls1 point
-
1 point
-
1 point
-
Although I and a lot of other people agree with you, it is only 1 month of waiting if anything!1 point
-
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.1 point
-
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.1 point
-
There is already an option to drop all, just don't select banking and select powerfishing, enjoy ;)1 point
-
1 point
-
1 point
-
1 point
-
1 point
-
1 point
-
What's the point in making these threads? The joke is not really good and more cringeworthy.1 point
-
http://www.dafont.com/press-start-2p.font http://www.dafont.com/amiga-forever.font http://www.dafont.com/atari-st-8x16-system-font.font1 point
-
1 point
-
1 point
-
i'd stay clear of that bitch, she's gonna get rko'd for the rest of her life.1 point
-
Welcome to osbot Goodluck on your sales!1 point
-
still have no idea why people play this game... it's a piece of shit x) dota>league1 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.1 point
-
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.1 point
-
1 point
-
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/1 point
-
1 point
-
1 point