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.

carafelix

Members
  • Joined

  • Last visited

  1. I would like a free trial for the smithing script.
  2. Works for bracelets of eterehum? like the whole proces?
  3. I have this script, but i can't compile it into a functional .jar file. Some one could tell me what im doing wrong or send me the script already turn into a jar. jejeje. The codes remain to you aswell. Carafelix#9384 on discord package core; import org.osbot.rs07.api.GrandExchange; import org.osbot.rs07.api.map.Area; import org.osbot.rs07.api.map.constants.Banks; import org.osbot.rs07.api.model.NPC; import org.osbot.rs07.api.ui.RS2Widget; import org.osbot.rs07.api.ui.Skill; import org.osbot.rs07.api.ui.Spells; import org.osbot.rs07.api.ui.Tab; import org.osbot.rs07.script.MethodProvider; import org.osbot.rs07.script.Script; import org.osbot.rs07.api.ui.Spells.NormalSpells; import org.osbot.rs07.utility.ConditionalSleep; import core.Main; import utils.Sleep; import core.Starting; @SuppressWarnings("unused") public final class scriptLoop extends MethodProvider{ public int beginningXP; public int currentXp; public int xpGained; public int bracelets; public int magicOld; long timeBegan; public long timeRan; public int mageLvl; public int attLvl; public String hiAlch; public String warn; public int numCharged; public int numBraces; public long costBraces; public String started; public static String braceletPrice; Area geArea = Banks.GRAND_EXCHANGE; public void addEther() throws InterruptedException { while (getInventory().contains("Nature rune") && getInventory().contains("Bracelet of ethereum (uncharged)")) { bracelets = (int) getInventory().getAmount("Bracelet of ethereum (uncharged)"); if (getInventory().contains("Revenant ether")) { inventory.interact("Use", "Revenant ether"); Sleep.sleepUntil(() -> getInventory().isItemSelected(), 5000); inventory.interact("Use", "Bracelet of ethereum (uncharged)"); new ConditionalSleep(5000) { @Override public boolean condition() throws InterruptedException { long braceletsNew = getInventory().getAmount("Bracelet of ethereum (uncharged)"); if (bracelets != braceletsNew) { return true; } return false; } }.sleep(); } else if (!getInventory().contains("Revenant ether")) { getBank().open(); Sleep.sleepUntil(() -> getBank().isOpen(), 5000); if (!getInventory().isFull()) { if (getBank().contains("Revenant ether")) { getBank().withdraw("Revenant ether", 1); getBank().close(); Sleep.sleepUntil(() -> !getBank().isOpen(), 5000); } else { buyEther(); } } else { getBank().depositAll(); if (getBank().contains("Revenant ether")) { getBank().withdrawAll("Nature rune"); getBank().withdraw("Revenant ether", 1); getBank().withdrawAll("Bracelet of ethereum (uncharged)"); getBank().close(); Sleep.sleepUntil(() -> (!getBank().isOpen()), 5000); } else { buyNats(); } } } } } public void bank() throws InterruptedException { NPC geClerk = npcs.closest("Grand Exchange Clerk"); getBank().open(); Sleep.sleepUntil(() -> (getBank().isOpen()), 5000); getBank().depositAllExcept("Nature rune"); if (getBank().contains("Bracelet of ethereum") || getBank().contains("Bracelet of ethereum (uncharged)")) { getBank().depositAllExcept("Nature rune"); if (getBank().contains("Bracelet of ethereum")) { getBank().withdrawAll("Bracelet of ethereum"); getBank().close(); Sleep.sleepUntil(() -> (!getBank().isOpen()), 5000); } else if (getBank().contains("Revenant ether") && getBank().contains("Bracelet of ethereum (uncharged)")) { getBank().withdraw("Revenant ether", 1); getBank().withdrawAll("Bracelet of ethereum (uncharged)"); getBank().close(); Sleep.sleepUntil(() -> (!getBank().isOpen()), 5000); } } else { if(getBank().contains("Coins") && Main.braceletPrice != 0) { getBank().withdrawAll("Coins"); getBank().close(); Sleep.sleepUntil(() -> (!getBank().isOpen()), 5000); buyBracelets(); } else { getBot().getScriptExecutor().stop(false); } } } public void buyBracelets() throws InterruptedException { NPC geClerk = npcs.closest("Grand Exchange Clerk"); if(getBank().isOpen()) { getBank().close(); Sleep.sleepUntil(() -> (!getBank().isOpen()), 5000); } if (geClerk != null) { geClerk.interact("Exchange"); Sleep.sleepUntil(() -> (grandExchange.isOpen()), 5000); long numBracelet = getInventory().getAmount("Coins") / Main.braceletPrice; int numBracelets = (int) numBracelet; /* if(getGrandExchange().getStatus(GrandExchange.Box.BOX_1) == GrandExchange.Status.EMPTY){ log("Opening ge slot 1"); getGrandExchange().buyItems(GrandExchange.Box.BOX_1); sleep(random(2000,3000)); } else if(getGrandExchange().getStatus(GrandExchange.Box.BOX_2) == GrandExchange.Status.EMPTY){ getGrandExchange().buyItems(GrandExchange.Box.BOX_2); sleep(random(2000,3000)); } else if(getGrandExchange().getStatus(GrandExchange.Box.BOX_3) == GrandExchange.Status.EMPTY){ getGrandExchange().buyItems(GrandExchange.Box.BOX_3); sleep(random(2000,3000)); } else if(getGrandExchange().getStatus(GrandExchange.Box.BOX_4) == GrandExchange.Status.EMPTY){ getGrandExchange().buyItems(GrandExchange.Box.BOX_4); sleep(random(2000,3000)); } else if(getGrandExchange().getStatus(GrandExchange.Box.BOX_5) == GrandExchange.Status.EMPTY){ getGrandExchange().buyItems(GrandExchange.Box.BOX_5); sleep(random(2000,3000)); } else if(getGrandExchange().getStatus(GrandExchange.Box.BOX_6) == GrandExchange.Status.EMPTY){ getGrandExchange().buyItems(GrandExchange.Box.BOX_6); sleep(random(2000,3000)); } else if(getGrandExchange().getStatus(GrandExchange.Box.BOX_7) == GrandExchange.Status.EMPTY){ getGrandExchange().buyItems(GrandExchange.Box.BOX_7); sleep(random(2000,3000)); } else if(getGrandExchange().getStatus(GrandExchange.Box.BOX_8) == GrandExchange.Status.EMPTY){ getGrandExchange().buyItems(GrandExchange.Box.BOX_8); sleep(random(2000,3000)); } else { log("GE is full. Stopping script."); getBot().getScriptExecutor().stop(false); } */ log("Buying bracelets"); grandExchange.buyItem(21817, "Bracelet of ethereum (uncharged)", Main.braceletPrice, numBracelets); sleep(random(3000,4000)); grandExchange.collect(); grandExchange.close(); Sleep.sleepUntil(() -> (!grandExchange.isOpen()), 5000); getInventory(); getBank().open(); Sleep.sleepUntil(() -> (getBank().isOpen()), 5000); getBank().depositAllExcept("Nature rune"); if (getBank().contains("Bracelet of ethereum (uncharged)")) { getBank().withdraw("Revenant ether", 1); getBank().withdrawAll("Nature rune"); getBank().withdrawAll("Bracelet of ethereum (uncharged)"); getBank().close(); Sleep.sleepUntil(() -> !getBank().isOpen(), 5000); } else { getBank().close(); getBot().getScriptExecutor().stop(false); } } } private void buyEther() throws InterruptedException { } private void buyNats() throws InterruptedException { } public void alch() throws InterruptedException { RS2Widget alchWarn = getWidgets().getWidgetContainingText("Click here to continue"); getTabs().open(Tab.MAGIC); while (getInventory().contains("Nature rune") && getInventory().contains("Bracelet of ethereum")) { magicOld = skills.getExperience(Skill.MAGIC); if (getTabs().getOpen().equals(Tab.MAGIC)) { magic.castSpell(Spells.NormalSpells.HIGH_LEVEL_ALCHEMY); } inventory.interact("Cast", "Bracelet of ethereum"); new ConditionalSleep(5000) { @Override public boolean condition() throws InterruptedException { long magicNew = skills.getExperience(Skill.MAGIC); if ((magicNew != magicOld) || (alchWarn != null && alchWarn.isVisible()) && getTabs().getOpen().equals(Tab.MAGIC)) { return true; } return false; } }.sleep(); new ConditionalSleep(5000) { @Override public boolean condition() throws InterruptedException { if (getTabs().getOpen().equals(Tab.MAGIC)) { return true; } return false; } }.sleep(); if (alchWarn != null && alchWarn.isVisible()) { warn = "Y"; break; } if(getInventory().contains("Bracelet of ethereum") && getInventory().contains("Nature rune")) { magic.castSpell(Spells.NormalSpells.HIGH_LEVEL_ALCHEMY); } else { break; } } } public void warn() throws InterruptedException { sleep(10000); getBot().getScriptExecutor().stop(false); } public void logout() throws InterruptedException { getBank().open(); Sleep.sleepUntil(() -> getBank().isOpen(), 5000); if (!getBank().contains("Nature rune")) { getBank().close(); Sleep.sleepUntil(() -> !getBank().isOpen(), 5000); getBot().getScriptExecutor().stop(false); } else { getBank().depositAll(); getBank().withdrawAll("Nature rune"); getBank().withdraw("Revenant ether", 1); getBank().withdrawAll("Bracelet of ethereum (uncharged)"); } } }

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.