Jump to content

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
    3 points
  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
    2 points
  3. this is an amazing alternative when your mixer is broke ladies and gentlemen.. i welcome you to... the internet!
    2 points
  4. I have an Iphone, but i am so sick of apples stupid products. Once my iphone breaks, I will never get another one.
    2 points
  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.
    2 points
  6. Mirror should be working now. Just restart your bot.
    2 points
  7. This is the video that got me into papa franku, no regrets
    2 points
  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
    2 points
  9. don't worry, since you used a czar script there will be no problems regarding bans ;)
    2 points
  10. 2 points
  11. Yeah, you're that guy, right?
    2 points
  12. Fixed an issue that was preventing it from running scripts. Restart your bot and it should work.
    2 points
  13. Thank you everyone for all the support and feedback, this script officially is the most sold magic script on the market! Since 2015 it has been continually updated all the way to 2025! #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/
    1 point
  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
    1 point
  15. Lol, wasn't us, was probably the phishing link you clicked, or bot you downloaded via youtube.
    1 point
  16. As you can see from the signature that the script is awesome! =D
    1 point
  17. I have used around 4 different bot clients and in no cases I was hacked/hijacked. You probably downloaded a virus or someone somehow knew your password.
    1 point
  18. id go emerald IMO, on the more cheaper side
    1 point
  19. 1 point
  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
    1 point
  21. @RoomScape bought an apple watch, and if someone would buy the apple pencil it would be @RoomScape.
    1 point
  22. 1 point
  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.
    1 point
  24. I wish you the best of luck!
    1 point
  25. You were probably a bit aggressive in the chatbox hey Make sure java is up to date yo
    1 point
  26. 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?
    1 point
  27. i can try czar experiment please?
    1 point
  28. Im not sure what is this but on my keyboard i See button called "print screen" 15m maybe actually rs3 is afk
    1 point
  29. You must have like a machine that do this.. Or an army of slaves at your disposition. It'd take me like a while day to do 200 accounts o.o
    1 point
  30. It writes in pumpkin spice orange
    1 point
  31. Works very well - here is a proggy https://gyazo.com/c7e08d483d984cac4995ef320b9a241a
    1 point
  32. get the substring of the string. then convert the string into an int http://www.tutorialspoint.com/java/java_string_substring.htm
    1 point
  33. https://gyazo.com/f22cc8232295a99191eb783c2e04d72f - botted over 13hrs and i have over 2m xp:p
    1 point
  34. Is this script good for pures? how much exp per hour for rune scim and 70 str? If not, what do you guys recommend, please help
    1 point
  35. Hi Czar, I just purchased this script and I have tried multiple ways to run it. No matter how I set up the bot it just doesn't do anything. DEBUG][09/12 04:51:34 PM]: Loading script id : 675 [DEBUG][09/12 04:51:37 PM]: Loaded script! [DEBUG][09/12 04:51:37 PM]: Launching script... [iNFO][bot #1][09/12 04:51:38 PM]: Loaded 5 built-in random solvers! [iNFO][bot #1][09/12 04:51:38 PM]: 17 APIs loaded [iNFO][bot #1][09/12 04:51:41 PM]: Started random solver : Mouse Zoom Solver [iNFO][bot #1][09/12 04:51:43 PM]: Random solver exited : Mouse Zoom Solver That's all I get, after it just stands there, any advice?
    1 point
  36. Here I will be covering streams. Streams are great ways to essentially sort through lists. Why should we use streams? Since you can do just about anything with them in a single line of code. There are cases where streams probably aren't the most useful, take this: NPC guard = getNpcs().closest("Guard"); This is our bog standard way of grabbing the closest "Guard" npc. What it would actually be doing behind the scenes would be using a stream like so: public NPC closest(String name) { return getNpcs().getAll().stream().filter(npc -> (npc.exists() && npc.getName().equalsIgnoreCase(name))).min(new Comparator<NPC>() { @Override public int compare(NPC one, NPC two) { return Integer.compare(getMap().distance(one), getMap().distance(two)); } }).orElse(null); } Looks complicated, right? Here's what it would look like if it wasn't all one line: public NPC closest(String name) { Stream<NPC> unfilteredStream = getNpcs().getAll().stream(); Stream<NPC> filteredStream = unfilteredStream.filter(npc -> (npc.exists() && npc.getName().equalsIgnoreCase(name))); Optional<NPC> npc = filteredStream.min(new Comparator<NPC>() { @Override public int compare(NPC one, NPC two) { return Integer.compare(getMap().distance(one), getMap().distance(two)); } }); return npc.orElse(null); } Here's a breakdown of all the functions: (more on comparators in a bit) filter() -> This function will filter out our list for the specified properties that we're looking for in an NPC. In our case, we're looking for an NPC that exists and has a name of our variable "name". Every NPC that is in our region that doesn't suit our needs is discarded. min() -> This is a bit of a complicated function, but what it will do is find the NPC which returns the smallest compare() value. In this scenario, it will return the NPC which is closest to us. orElse() -> This is the same as an if (x) y; else z; statement, however basically what we are saying is if we could not find a suitable NPC, we can return the value inside orElse() (in this case, null). Now, this probably still looks like a bunch of wizardry to you. No worries, streams are scary at first, but after you know how to write them they're great! How to write a stream By now, you're probably itching to write a stream. In this example, we're going to find all the players within a 6 tile radius. To start off, we're going to have a function called getPlayersWithinSix(): public List<Player> getPlayersWithinSix() { return null; //We'll change this soon } Now we're going to begin the filter! To start off, we want to grab all the players, and put it in a Stream<Player>. This is what we will be filtering! public List<Player> getPlayersWithinSix() { Stream<Player> ourStream = getPlayers().getAll().stream(); return null; //We'll change this soon } Now that we have our stream, we can finally begin filtering! In this example, we only want to filter to see if the player is within 6 tiles of our own player. We're going to store the filter in another stream like so: public List<Player> getPlayersWithinSix() { Stream<Player> ourStream = getPlayers().getAll().stream(); Stream<Player> ourFilteredStream = ourStream.filter(player -> (player.exists() && getMap().distance(player) <= 6)); return null; //We'll change this soon } In our filter, we're checking these conditions: Does the player exist? Is the distance of the player within 6 tiles? Finally, we want to turn our Stream into a list so we can use it. We do this like so: public List<Player> getPlayersWithinSix() { Stream<Player> ourStream = getPlayers().getAll().stream(); Stream<Player> ourFilteredStream = ourStream.filter(player -> (player.exists() && getMap().distance(player) <= 6)); return ourFilteredStream.collect(Collectors.toList()); } See how we changed our return to ourFilteredStream.collect();? What that will do is put all of these players we found into a list, and return it. Now, this doesn't look like our streams from before, so to put it all in one line it would look like this: public List<Player> getPlayersWithinSix() { return getPlayers().getAll().stream().filter(player -> (player.exists() && getMap().distance(player) <= 6)).collect(Collectors.toList()); } Comparators, what do they do? A comparator is basically a way we compare two objects. Since the Comparator type is abstract (much like our Filter<T> class), we have to make our own compare() method. An example can be seen in our NPC closest function: new Comparator<NPC>() { @Override public int compare(NPC one, NPC two) { return Integer.compare(getMap().distance(one), getMap().distance(two)); } } What this Comparator does, in essence, is compare the distances of both NPCs (relative to the player). Since getMap().distance() returns an integer, we use Integer.compare to compare both of the distances. You'll most likely be using a Comparator to check for distance. More stream examples Here I'll be writing a few more stream examples to show why they're so useful. Find the furthest away NPC that has the name "Man": getNpcs().getAll().stream().filter(npc -> (npc.exists() && npc.getName().equalsIgnoreCase("man"))).max(new Comparator<NPC>() { @Override public int compare(NPC one, NPC two) { return Integer.compare(getMap().distance(one), getMap().distance(two)); } }).orElse(null); Get all the NPCs in a 10 tile radius that you can attack: getNpcs().getAll().stream().filter(npc -> (npc.exists() && npc.hasAction("Attack") && getMap().distance(npc) <= 10)).collect(Collectors.toList()); Get all the fishing spots where you can cage for lobsters: getNpcs().getAll().stream().filter(npc -> (npc.exists() && npc.hasAction("Cage") && npc.hasAction("Harpoon"))).collect(Collectors.toList()); If I missed anything, let me know
    1 point
×
×
  • Create New...