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.

TheGreatests

Java Lifetime Sponsor
  • Joined

  • Last visited

Everything posted by TheGreatests

  1. Can I buy a 1month off you bro? Look for 07 1 month or even 14day. Got btc.
  2. Got mills for sale or you wanna keep yapping like you're some big baller lol? PS: Got BTC, (currency thats gonna hit 1k) by the end of the month. Up to you if you want real flow or are just on here holding onto your RSGP hoping it goes up to 2/mill or something lol
  3. Whats up with all you rude kids around here? Like go get laid homie, im not here to argue with you. Im telling you facts. thats 3.00 im giving you is gonna turn to like 4.50. BTC is going up, i seen with my owns eyes the 30.00 I had turning into 75. If you're not gonna trade then thats cool, im not looking for your 3.50 charge back lol ur on here tryn scam me for like 3 bucks lol. sell me some mills and we will be all good
  4. Got mills for sale? -Apologize, didnt mean to offend you? on the topic though? ^^
  5. Let me know, looking to either buy 5m or 3mill!
  6. 1$/mill I'll buy 3mill off you for 3.00... tomorrow that 3.00 will turn into 4.50 i bet you. BTC is gonna hit 1k this month.
  7. Get me mills so that way I dont gotta worry about you cbing
  8. yup got btc homie each time you're talking to me its going up like 3-4$ lol
  9. Looking to buy like 4m, let me know. need 14 day pass.
  10. Do you got mills? I'll buy mills because both of you guys are fairly new. Do you have mills for sale?
  11. You dont need a e-mail to play rs? I thought you had to activate the account?
  12. Can I buy sponsorship now? I got btc, and BTC is only gonna be going up. Wow thanks for giving me free sponorship!
  13. TheGreatests replied to boot's topic in Archive
    I got btc, can you help me out?
  14. I added you. Can you add me back.
  15. Might be buying sportsmanship also, would need it for a good price though as I wont pay anything more then 125.00 the listed price here. However if anyone has any 14 day passes, let me know, will buy! PS - Got the best payment also - BTC.
  16. i'll buy at .90/mill
  17. whats it do when you guys start it, i'll fix it if someone tells me whats going on and the gives me the log.
  18. Nice man, whats your typical range for 1 account before its banned?
  19. That wont work as you're null checking the banker, and would basically only validate that boolean if the banker is there.
  20. Basically making myself a method to validate the banker being on screen. I deleted that, now the big problem couldnt you also do if(Banker !=null { NotThere = false; return sA....blah blah && NotThere = true; Anyways, im having issues with a null pointer check on the webEvent.execute(); method... you ever use it to run to banks? What I did instead of the event walker - @SuppressWarnings("unused") public class Bank extends Node { Data data = new Data(); NPC banker = sA.npcs.closest(395); public Bank(Script sA) { super(sA); // TODO Auto-generated constructor stub } private void MoveToZone(Area zone) throws InterruptedException { sA.walking.webWalk(zone.getRandomPosition()); } public boolean validate() throws InterruptedException{ //// Checking if inventory is full, and if so, is our player in the bank or not return sA.inventory.isFull() && !data.EBank.contains(sA.players.myPosition()); } public boolean execute() throws InterruptedException { sA.settings.setRunning(true); MoveToZone(Banks.EDGEVILLE);
  21. Banking works very good, just having issues with the bank node. Lines 26 which is the return in the validation boolean. Ahh null checker on Banker! How? Lovely now, im getting a null pointer on webWalk event.. Should I store the variable with a int, and then call it !(banker != null)
  22. Hello All, figure I would share my fisher to the public. Some strange reason I am lagging out, and the nodes dont seem to execute at all. I had it picking salmon but after full inventory it laggs out. Loot Node: package GreatestFisher; import org.osbot.rs07.api.model.GroundItem; import org.osbot.rs07.script.Script; import Scripts.Node; import data.Data; public class Loot extends Node { public void getTypeAndLog(GroundItem items){ caller.log = ("[Debug] ground type: " + items.getName() + ("picking up...")); } Data d = new Data(); FishNLoot caller = new FishNLoot(); GroundItem item = sA.groundItems.closest(331); GroundItem item2 = sA.groundItems.closest(335); public Loot(Script sA) { super(sA); // TODO Auto-generated constructor stub } public boolean validate() throws InterruptedException{ //item.interact("Take"); return item !=null && !sA.inventory.isFull() && d.FishingSpot.contains(sA.players.myPosition()) ; } public boolean execute() throws InterruptedException { caller.log = "Looting!"; if(item !=null && item.isOnScreen()){ caller.log = "We are picking up " +item.getName(); item.interact("Take"); } else{ sA.camera.toEntity(item); } if(item2 !=null && item2.isOnScreen()){ caller.log = "We are picking up " +item.getName(); item2.interact("Take"); getTypeAndLog(item); } else{ sA.camera.toEntity(item2); } return false; } } FishNLoot main : package GreatestFisher; import java.awt.Color; import java.awt.Font; import java.awt.Graphics2D; import java.lang.Thread.State; import java.util.ArrayList; import java.util.Collections; import java.util.List; import org.osbot.rs07.api.Inventory; import org.osbot.rs07.script.Script; import org.osbot.rs07.script.ScriptManifest; import Scripts.Node; import data.Data; @ScriptManifest(author = "Elvitos Fisher", info = "Fishes+Loots", name = "Fishing and Loot", version = .1, logo = "Loots while fishing") public class FishNLoot extends Script{ public static Data data; //private SettingsGUI gui; public long OresTransfeered; public long startTime; public String status; public String log; private Inventory inv; private long elapsed; private boolean isRunning = false; private List<Node> nodes = new ArrayList<Node>(); public void onStart() { //createGUI(); isRunning = true; Collections.addAll(nodes, new Loot(this), new Fish(this), new Banking(this), new Bank(this)); //new ClayMine(this) If you want to add the mining clay //various checks to see if show the gui yet Thread runTimeThread = new Thread() { @[member=Override] public void run() { try { RunTime(); } catch (Exception e) { log(e.getMessage()); } } }; runTimeThread.start(); } public int onLoop() throws InterruptedException{ for (Node n : nodes){ if(n.validate()){ status = n.status(); if(n.execute()) { return random(200,400); } } } return random(250,400); } @SuppressWarnings("unused") private void createGUI() { // TODO Auto-generated method stub //code for the GUI } @SuppressWarnings("unused") private State getState() { return null; } @[member=Override] public void onExit() { isRunning = false; log("Thanks for running the script!"); } public final String formatTime(final long ms){ long s = ms / 1000, m = s / 60, h = m / 60; s %= 60; m %= 60; h %= 24; return String.format("%02d:%02d:%02d", h, m, s); } private void RunTime() throws InterruptedException { long startTime = System.currentTimeMillis(); while(isRunning) { elapsed = (System.currentTimeMillis() - startTime); sleep(1000); } } private String GetRunTime() { long hours = (elapsed / (1000 * 60 * 60)) % 24; long minutes = (elapsed / (1000 * 60)) % 60; long seconds = (elapsed / 1000) % 60; return String.format("%02d:%02d:%02d", hours, minutes, seconds); } @[member=Override] public void onPaint(Graphics2D g) { int x = getMouse().getPosition().x; int y = getMouse().getPosition().y; g.drawLine(0, y, 765, y); g.drawLine(x, 0, x, 503); DrawUpdate(g); } private void DrawUpdate(Graphics2D g) { g.setColor(new Color(0, 0, 0, 80)); g.fillRect(4, 280, 512, 58); g.setColor(Color.white); g.setFont(new Font("Consolas", Font.PLAIN, 12)); //g.drawString("Mule trader script by Elvito!", 10, 40); g.drawString("Status " + status, 10, 55); g.drawString("log " + log, 20, 371); @SuppressWarnings("unused") final long runTime = System.currentTimeMillis() - startTime; g.setColor(Color.GREEN); g.drawString("RunTime: " + GetRunTime(), 16, 325); OresTransfeered =+ inv.getAmount(435); g.drawString("Ores traded " + OresTransfeered, 561, 449); } } fish node: package GreatestFisher; import java.awt.Color; import java.awt.Font; import java.awt.Graphics2D; import java.lang.Thread.State; import java.util.ArrayList; import java.util.Collections; import java.util.List; import org.osbot.rs07.api.Inventory; import org.osbot.rs07.script.Script; import org.osbot.rs07.script.ScriptManifest; import Scripts.Node; import data.Data; @ScriptManifest(author = "Elvitos Fisher", info = "Fishes+Loots", name = "Fishing and Loot", version = .1, logo = "Loots while fishing") public class FishNLoot extends Script{ public static Data data; //private SettingsGUI gui; public long OresTransfeered; public long startTime; public String status; public String log; private Inventory inv; private long elapsed; private boolean isRunning = false; private List<Node> nodes = new ArrayList<Node>(); public void onStart() { //createGUI(); isRunning = true; Collections.addAll(nodes, new Loot(this), new Fish(this), new Banking(this), new Bank(this)); //new ClayMine(this) If you want to add the mining clay //various checks to see if show the gui yet Thread runTimeThread = new Thread() { @[member=Override] public void run() { try { RunTime(); } catch (Exception e) { log(e.getMessage()); } } }; runTimeThread.start(); } public int onLoop() throws InterruptedException{ for (Node n : nodes){ if(n.validate()){ status = n.status(); if(n.execute()) { return random(200,400); } } } return random(250,400); } @SuppressWarnings("unused") private void createGUI() { // TODO Auto-generated method stub //code for the GUI } @SuppressWarnings("unused") private State getState() { return null; } @[member=Override] public void onExit() { isRunning = false; log("Thanks for running the script!"); } public final String formatTime(final long ms){ long s = ms / 1000, m = s / 60, h = m / 60; s %= 60; m %= 60; h %= 24; return String.format("%02d:%02d:%02d", h, m, s); } private void RunTime() throws InterruptedException { long startTime = System.currentTimeMillis(); while(isRunning) { elapsed = (System.currentTimeMillis() - startTime); sleep(1000); } } private String GetRunTime() { long hours = (elapsed / (1000 * 60 * 60)) % 24; long minutes = (elapsed / (1000 * 60)) % 60; long seconds = (elapsed / 1000) % 60; return String.format("%02d:%02d:%02d", hours, minutes, seconds); } @[member=Override] public void onPaint(Graphics2D g) { int x = getMouse().getPosition().x; int y = getMouse().getPosition().y; g.drawLine(0, y, 765, y); g.drawLine(x, 0, x, 503); DrawUpdate(g); } private void DrawUpdate(Graphics2D g) { g.setColor(new Color(0, 0, 0, 80)); g.fillRect(4, 280, 512, 58); g.setColor(Color.white); g.setFont(new Font("Consolas", Font.PLAIN, 12)); //g.drawString("Mule trader script by Elvito!", 10, 40); g.drawString("Status " + status, 10, 55); g.drawString("log " + log, 20, 371); @SuppressWarnings("unused") final long runTime = System.currentTimeMillis() - startTime; g.setColor(Color.GREEN); g.drawString("RunTime: " + GetRunTime(), 16, 325); OresTransfeered =+ inv.getAmount(435); g.drawString("Ores traded " + OresTransfeered, 561, 449); } } Banking Node: package GreatestFisher; import org.osbot.rs07.api.model.NPC; import org.osbot.rs07.script.Script; import Scripts.Node; import data.Data; public class Banking extends Node { FishNLoot caller = new FishNLoot(); NPC banker = sA.npcs.closest(395); Data supply = new Data(); public Banking(Script sA) { super(sA); // TODO Auto-generated constructor stub } public boolean validate() throws InterruptedException{ return banker!=null && banker.isOnScreen(); } public boolean execute() throws InterruptedException{ if(sA.bank.isOpen()){ sA.bank.depositAllExcept(supply.F_equipment); } else{ } sA.bank.open(); caller.log ="Banking"; return false; } } Bank node: package GreatestFisher; import org.osbot.rs07.api.Players; import org.osbot.rs07.api.map.constants.Banks; import org.osbot.rs07.api.model.NPC; import org.osbot.rs07.event.WebWalkEvent; import org.osbot.rs07.script.Script; import Scripts.Node; import data.Data; import nodes.Wait; @SuppressWarnings("unused") public class Bank extends Node { private Data data; NPC banker = sA.npcs.closest(395); public Bank(Script sA) { super(sA); // TODO Auto-generated constructor stub } public boolean validate() throws InterruptedException{ //// Checking if inventory is full, and if so, is our player in the bank or not return sA.inventory.isFull() && !data.EBank.contains(sA.players.myPosition()) && !banker.isOnScreen(); } public boolean execute() throws InterruptedException { sA.settings.setRunning(true); WebWalkEvent webEvent = new WebWalkEvent(Banks.EDGEVILLE); webEvent.execute(); return false; } } Node class: package Scripts; import org.osbot.rs07.script.Script; public abstract class Node { public Script sA; public Node(Script sA){ this.sA = sA; } public String status(){ return ""; } public abstract boolean validate() throws InterruptedException; public abstract boolean execute() throws InterruptedException; } Any help at all would be amazing. Im lagging out soon as inventory is full. I used Dunks Path maker for the area. When I exported the jar, i included my Data constant class, and my Node.java class also.
  23. So what "public void interactCustom(Entity entity, String action){ if(entity.isVisible()) entity.interact(action); else getCamera().toEntity(entity); }" Is basically doing is clicking it no matter what. I am assuming or could you maybe go into more depth of each parameter and its purpose. This method passes a string called action to it using entity. So its basically clicking it right?
  24. Are you using proxies, if so which ones may I ask?
  25. if you wanna teamviewer i'll help you out bro, or give me the script and i'll work on it.

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.