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.

Flamezzz

Members
  • Joined

  • Last visited

Everything posted by Flamezzz

  1. Yes, it needs a low level language (C, C++ etc) to inject itself in the process where the JVM runs the RS client (or something similar). I don't think stuff like connecting to another JVM is supported in pure java.
  2. I assume you renamed the file to osbot.jar. Then whats left is to specify the correct path to the file. If it's on your desktop it becomes: java -jar ~/Desktop/osbot.jar
  3. In terminal: java -jar osbot.jar
  4. I think something like this would work if (BANK_AREA.contains(myPlayer())) { if(inventory.isFull()) { // We do not assume open always succeeds if(depositBox.open()) { depositBox.depositAllExcept("Lobster pot", "Coins", "coins", "Harpoon"); } } else { // deposited stuff, now walk somewhere? } }
  5. depositBox.depositAllExcept("Lobster pot", "Coins", "coins", "Harpoon") It takes an array (or varargs) of strings Also: if (!depositBox.isOpen()) { if (depositBox != null) { if (depositBox.open()) sleep(random(1000, 3000)); } } depositBox won't be null if you successfully called depositBox.isOpen() right? depositBox.open() checks if it's already open, so no need to double check that
  6. If version 52.0 isnt supported it means you're not running osbot with java 8.
  7. Flamezzz replied to Flamezzz's topic in Archive
    Haha sorry for stealing the name :p Gonna suicide a new f2p account now, and create others with various break settings until I get a f2p account with 85+ wc
  8. Flamezzz posted a topic in Archive
    A small script which powerchops regular trees, oaks and willows (prioritizes based on level). It's rather slow, the focus is more on not getting banned than maximizing xp. I'm currently testing if missclicks + a bit of walking actually reduces ban rates. Features: - Keeps track of #logs chopped - Missclicks (NOTE: THIS MAY LEAD TO COMBAT, which is a good thing imo) - System tray notification when some random phaggot near you starts talking (if supported by the OS) The "antiban" included in this script is basically the missclicks + it can walk to an oak tree if all willows are down etc (this can lead to some weird behavior) + the default mouse/camera shit Here it is package org.flamezzz; import org.osbot.rs07.api.filter.Filter; import org.osbot.rs07.api.map.Position; import org.osbot.rs07.api.model.Entity; import org.osbot.rs07.api.model.Item; import org.osbot.rs07.api.model.Player; import org.osbot.rs07.api.model.RS2Object; import org.osbot.rs07.api.ui.Message; import org.osbot.rs07.api.ui.Skill; import org.osbot.rs07.canvas.paint.Painter; import org.osbot.rs07.listener.MessageListener; import org.osbot.rs07.script.Script; import org.osbot.rs07.script.ScriptManifest; import java.awt.*; import java.awt.event.ActionEvent; import java.awt.event.ActionListener; /** * Created by Flamezzz on 21/04/2015. */ @ScriptManifest( name = "FChopAndDrop", author = "Flamezzz", version = 1.0, info = "Chops wood and drops it, the gains ma gawt", logo = "" ) public class FChopAndDrop extends Script implements Painter, MessageListener { public static final boolean DEBUG = true; private long starttime; private int missclickRate; private int no_logs; private int no_oaks; private int no_willows; private TrayIcon icon; private void debug(String s) { if(DEBUG) { log(s); } } private void notification(String txt) { if (SystemTray.isSupported()) { icon.displayMessage("FChopAndDrop", txt, TrayIcon.MessageType.INFO); } } private boolean hasAxe() { Filter<Item> f = new Filter<Item>() { public boolean match(Item item) { return item.getName().contains("axe"); } }; return equipment.contains(f) || inventory.contains(f); } private void missclick(Entity e) { debug("Missclicking"); Position p = e.getPosition(); p.hover(bot); mouse.moveSlightly(); mouse.click(false); } public void onStart() { starttime = System.currentTimeMillis(); missclickRate = random(10,50); // Feel free to download a fancy image Image image = Toolkit.getDefaultToolkit().getImage(getClass().getResource("flames.png")); icon = new TrayIcon(image, "FChopAndDrop"); if (SystemTray.isSupported()) { SystemTray tray = SystemTray.getSystemTray(); icon.setImageAutoSize(true); icon.addActionListener(new ActionListener() { public void actionPerformed(ActionEvent e) { icon.displayMessage("FChopAndDrop", "Script started", TrayIcon.MessageType.INFO); } }); try { tray.add(icon); } catch (AWTException e) { debug("TrayIcon could not be added."); } } notification("Script started!"); } private RS2Object getTree() { RS2Object willow = objects.closest("Willow"); RS2Object oak = objects.closest("oak"); RS2Object tree = objects.closest("tree"); if(skills.getStatic(Skill.WOODCUTTING) >= 30 && willow != null) { return willow; } else if( skills.getStatic(Skill.WOODCUTTING) >= 15 && oak != null) { return oak; } else { return tree; } } @Override public int onLoop() throws InterruptedException { if(random(1, 3000) == 1337) { log("Changing missclick rate"); missclickRate = random(10,50); } if(!hasAxe()) { debug("No axe, stopping"); stop(); } if(myPlayer().isUnderAttack()) { return random(1000, 2000); } if(inventory.isFull()) { inventory.dropAllExcept(new Filter<Item>() { public boolean match(Item item) { return item.getName().contains("axe") || random(0, missclickRate) == 1; } }); } if(random(1, 100) == 50) { sleep(random(1000, 20000)); } if(!myPlayer().isAnimating()) { RS2Object tree = getTree(); if(tree != null) { if(random(0, missclickRate) == 1) { missclick(tree); } else { if(myPlayer().getPosition().distance(tree.getPosition()) >= random(10, 20)) { map.walk(tree); return random(1500, 3000); } tree.interact("Chop down"); } } sleep(random(400, 600)); localWalker.waitUntilIdle(); sleep(random(400,600)); } return random(300, 1000); } public void onMessage(Message m) { String s = m.getMessage(); if(s.contains("willow logs")) { no_willows++; } else if(s.contains("oak logs")) { no_oaks++; } else if(s.contains("logs")) { no_logs++; } if(m.getType().equals(Message.MessageType.PLAYER)) { Player p = getPlayers().closest(m.getUsername()); if(p != null && p.getPosition().distance(myPlayer().getPosition()) <= 10) { notification(m.getMessage()); } } } public String format(long starttime) { long time = System.currentTimeMillis() - starttime; StringBuilder string = new StringBuilder(); long totalSeconds = time / 1000L; long totalMinutes = totalSeconds / 60L; long totalHours = totalMinutes / 60L; int seconds = (int)totalSeconds % 60; int minutes = (int)totalMinutes % 60; int hours = (int)totalHours % 24; if (hours > 0) { string.append(hours + "h "); } if (minutes > 0) { string.append(minutes + "m "); } string.append(seconds + "s"); return string.toString(); } public void onPaint(Graphics2D g) { g.drawString("Logs: " + no_logs, 300, 200); g.drawString("Oaks: " + no_oaks, 300, 230); g.drawString("Willows: " + no_willows, 300, 260); g.drawString("Running: " + format(starttime), 300, 290); } public void onExit() { SystemTray.getSystemTray().remove(icon); } }
  9. hey can I have a trial please?
  10. Can I have a trial?
  11. Ye the API isnt perfect, but most of it works great Well the thing with super is that when you explicitly write super.X() I assume you have overloaded X and still need the method of the parent class (of all java code I've read, I've only seen super being used like this), so for me it was kinda confusing
  12. 1) Iterating over grounditems/objects/npcs etc should be avoided, use org.osbot.rs07.api.filter instead. 2) Custom "antiban" (mouse/camera movements) is not needed imo, builtin is good enough. Better would be to deposit-5/10 instead of all sometimes, or missclick and pick up other things and then drop it etc. These things would be fairly common if a human would perform the task. 3) Instead of getCamera(), getLocalWalker(), you can just use camera/localwalker etc 4) Not sure why you write this. and super. 5) As for the door handler, you specify a position and it will open a door or smth when there is one between the player location and the given position. I think you're doing exactly that right now in your script, so that should work right?
  13. If you're really bored create a parallel version
  14. How are you running your RS client, browser applet, osbuddy or official client? Perhaps your account doesn't have the required privileges to inject the dlls or smth like that...
  15. http://osbot.org/forum/topic/66800-osbot-mirror-client-your-guide/ Downloaded VC++ shit from microsoft?
  16. Flamezzz replied to hellokitty44's topic in Archive
    It should be possible, just route the traffic from/to jp2launcher.exe (the RS applet) through the proxy. There's a guide here somewhere on using proxifier to do this kind of stuff.
  17. Flamezzz replied to Hash1mate's topic in Archive
    I can confirm the application is in fact the JVM the rs applet runs in, if you really want to be sure its correct you can always check the tcp flow using something like wireshark to verify you send and receive data from the proxy address.
  18. f2p accounts can be botted, but I suggest you alternate tasks every 30-60 min for the first week or so. On a new account they don't have much data acquired obviously, so if fagex detects you walked along 20 waypoints of which 10 have been repeated for several hours, it looks kinda suspicious. Same thing for object/npc interaction and all other shit they keep track of.
  19. Intellij for java shit, I prefer sublime for all other beautiful languages like python / C / python and of course python
  20. I guess it injects a dll in the java process and then connect directly to the VM using the JNI API. Since RS runs inside this VM it has no way of detecting this as far as I know. Basically reflection on a safer level (anyone can confirm this?)
  21. Ye it is, public and abstract modifiers can be omitted in interface method declarations though
  22. Well I do recommend getting a vpn or proxy, but I'm not too sure about using TOR. It'll be slow and will probably change the exit node by default after a certain amount of time. Changing your public IP isn't easy, depends on your ISP if that's even possible. I can't recommend any premium scripts since I write my own scripts. General botting tips: break the patterns, do legit stuff once in a while and avoid botting on a fresh lvl 3 account. Even while being a member, using a vpn and a private script, I managed to get banned in 4-5 hours. I'm running the exact same script on a lvl 60 account, and it's not banned after 20+ hours (with breaks of course).
  23. People still bot f2p? I mean come on, fagex gave us the opportunity to get membershit with in-game currency... And it's only like 1.2m atm
  24. Flamezzz posted a topic in Archive
    I successfully purchased VIP yesterday. After an hour or so I canceled renewal, and now I don't have VIP anymore... If anyone could look into this, that would be great.

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.