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.

HeyImJamie

Java Lifetime Sponsor
  • Joined

  • Last visited

Everything posted by HeyImJamie

  1. You can't bump other peoples posts you pleb
  2. HeyImJamie replied to The King's topic in Web Development
    When your farm's so shit you have to lie about 350k
  3. HeyImJamie replied to The King's topic in Web Development
    GET TO 1M POTATERS @Charlotte
  4. HeyImJamie replied to The King's topic in Web Development
    Why is no one using your potato script
  5. A lot of hooks are broken.
  6. private boolean canReadAPI = false; private boolean isDoflamingoRetarded = true; if (canReadAPI) { isDoflamingoRetarded = false; } else { log("Stfu you pleb, it's not more efficient, it's just more likely to break.") } (I write my own scripts xxxx)
  7. Insane Java programmer but can't read a fucking API?
  8. Believe you can save files to OSBot/data and load whatever you need from there
  9. It does what it needs to do. I used it myself starting out!
  10. Isn't there a config for cutscenes?
  11. Gotta die of something
  12. package main.script.Cabbage_Patch_Kid; import java.awt.BasicStroke; import java.awt.Color; import java.awt.Font; import java.awt.Graphics; import java.awt.Graphics2D; import java.awt.Point; import java.awt.RenderingHints; import org.osbot.rs07.api.map.Area; import org.osbot.rs07.api.map.Position; import org.osbot.rs07.api.model.Entity; import org.osbot.rs07.api.model.NPC; import org.osbot.rs07.api.ui.Tab; import org.osbot.rs07.script.Script; import org.osbot.rs07.script.ScriptManifest; @ScriptManifest(author = "Booleans Yay", info = "Cabbage Picking made ez pz", name = "Cabbage Patch Kid", version = 1, logo = "") public class CabagePatchKid extends Script { private int cabbage_taken, banked, randomsDismissed; long timeStarting = System.currentTimeMillis(); private Area bankArea = new Area(3092, 3245, 3094, 3245); private Position cabbagePos = new Position(3053, 3284, 0); public void onStart() throws InterruptedException { cabbage_taken = 0; banked = 0; randomsDismissed = 0; timeStarting = System.currentTimeMillis(); getSettings().setRunning(true); if (!(cabbagePos == myPlayer().getPosition())) { getWalking().webWalk(cabbagePos); } } private enum BotState {PICKING_CABAGE, BANKING} ; private BotState getState() { return inventory.isFull() ? BotState.BANKING : BotState.PICKING_CABAGE; } private boolean dismissRandom() { for (NPC npc : npcs.getAll()) { if (npc == null || npc.getInteracting() == null || npc.getInteracting() != myPlayer()) { continue; } if (npc.hasAction("Dismiss")) { npc.interact("Dismiss"); randomsDismissed++; return true; } } return false; } public void antiBanMode() throws InterruptedException { camera.movePitch(random(0, getState() == BotState.PICKING_CABAGE ? 360 : 0)); sleep(random(500, 900)); camera.moveYaw(random(0, getState() == BotState.PICKING_CABAGE ? 360 : 0)); sleep(random(500, 900)); int randomTabs = random(0, 125); if (getState() == BotState.PICKING_CABAGE) { switch (randomTabs) { case 0: getTabs().open(Tab.EMOTES); break; case 1: getTabs().open(Tab.ATTACK); break; case 2: getTabs().open(Tab.FRIENDS); break; case 3: getTabs().open(Tab.CLANCHAT); break; case 4: getTabs().open(Tab.EQUIPMENT); break; case 5: getTabs().open(Tab.IGNORES); break; case 6: getTabs().open(Tab.INVENTORY); break; case 7: getTabs().open(Tab.LOGOUT); break; case 8: getTabs().open(Tab.PRAYER); break; case 9: getTabs().open(Tab.SKILLS); break; case 10: getTabs().open(Tab.MAGIC); break; } return; } } public void bank() throws InterruptedException { openBank(); depositBank(); closeBank(); } public void openBank() throws InterruptedException { NPC closestBanker = getNpcs().closest("Banker"); Entity closestBankBooth = objects.closest(6943); if (!bank.isOpen()) { int randomChoice = random(3); if (randomChoice == 1) { closestBankBooth.interact("Bank"); } else { closestBanker.interact("Bank"); } sleep(random(1500, 5000)); log("opening bank"); } } public void depositBank() throws InterruptedException { if (bank.isOpen()) { bank.depositAllExcept("Coins"); sleep(random(400, 750)); banked++; } log("Depositing"); } public void closeBank() { if (bank.isOpen()) bank.close(); log("Closing bank"); } public int onLoop() throws InterruptedException { antiBanMode(); int runRNG = random(5); if (runRNG == 1) { getSettings().setRunning(getSettings().getRunEnergy() < 25 ? false : true); } if (dismissRandom()) { sleep(random(600, 800)); while (myPlayer().isMoving()) { sleep(600); } } switch (getState()) { case PICKING_CABAGE: if (!myPlayer().isAnimating()) { Entity cabbage = objects.closest("Cabbage"); if (cabbage != null) { cabbage.interact("Pick"); sleep(1_100); if (myPlayer().getX() == cabbage.getX()) cabbage_taken++; } } break; case BANKING: while (!inventory.isEmpty()) { getWalking().webWalk(bankArea); bank(); } if (inventory.isEmpty()) { getWalking().webWalk(cabbagePos); } break; } return random(200, 300); } public void onExit() { } public void onPaint(Graphics2D g) { drawMouse(g); Font font = new Font("TimesRoman", Font.PLAIN, 14); g.setFont(font); g.setColor(Color.WHITE); g.drawString("Cabage Patch Kid script created by: Booleans Yay", 5, 40); g.drawString("Cabbage Patch Kid v1.1", 5, 55); g.drawString("Cabbage Gathered: " + cabbage_taken, 5, 85); g.drawString("Inventories Banked: " + banked, 5, 100); long runTime = System.currentTimeMillis() - timeStarting; g.drawString("Script Runtime: " + formatTime(runTime), 5, 115); g.drawString("Random Events Skipped: " + randomsDismissed, 5, 130); g.drawString("Mouse X/Y: " + mouse.getPosition().x + " " + mouse.getPosition().y, 5, 145); g.drawString("Player Running: " + settings.isRunning() + (" (Energy: " + settings.getRunEnergy() + ")"), 5, 160); g.drawString("88888888888", 10, 470); } public void drawMouse(Graphics g) { ((Graphics2D) g).setRenderingHints(new RenderingHints(RenderingHints.KEY_ANTIALIASING, RenderingHints.VALUE_ANTIALIAS_ON)); Point p = mouse.getPosition(); Graphics2D spinG = (Graphics2D) g.create(); Graphics2D spinGRev = (Graphics2D) g.create(); spinG.setColor(new Color(255, 255, 255)); spinGRev.setColor(Color.cyan); spinG.rotate(System.currentTimeMillis() % 2000d / 2000d * (360d) * 2 * Math.PI / 180.0, p.x, p.y); spinGRev.rotate(System.currentTimeMillis() % 2000d / 2000d * (-360d) * 2 * Math.PI / 180.0, p.x, p.y); final int outerSize = 20; final int innerSize = 12; spinG.setStroke(new BasicStroke(1.0f, BasicStroke.CAP_ROUND, BasicStroke.JOIN_ROUND)); spinGRev.setStroke(new BasicStroke(1.0f, BasicStroke.CAP_ROUND, BasicStroke.JOIN_ROUND)); spinG.drawArc(p.x - (outerSize / 2), p.y - (outerSize / 2), outerSize, outerSize, 100, 75); spinG.drawArc(p.x - (outerSize / 2), p.y - (outerSize / 2), outerSize, outerSize, -100, 75); spinGRev.drawArc(p.x - (innerSize / 2), p.y - (innerSize / 2), innerSize, innerSize, 100, 75); spinGRev.drawArc(p.x - (innerSize / 2), p.y - (innerSize / 2), innerSize, innerSize, -100, 75); } public final String formatTime(final long ms) { long s = ms / 1000, m = s / 60, h = m / 60, d = h / 24; s %= 60; m %= 60; h %= 24; return d > 0 ? String.format("%02d:%02d:%02d:%02d", d, h, m, s) : h > 0 ? String.format("%02d:%02d:%02d", h, m, s) : String.format("%02d:%02d", m, s); } } Is there a party when you reach 1m potato's
  13. HeyImJamie replied to Viston's topic in Snippets
    All banks or riot! (Looks nice ;p)
  14. Love onLoop
  15. How much did Explv pay you
  16. Considering actually learning Java as a language is neither my career choice nor something I actually give two shitsticks about, as long as I pull in an income to avoid having to slave while at Uni, ignorance is bliss. (Also still awaiting for my own special :spoonfeed: emote )
  17. Why're you so bipolar.
  18. I'm sure Maldesto will fix this for you when he's on.
  19. How're we going to piss off @Explv if we do that
  20. Yeah quests are a pain haha. Is there any chance I could grab the configs off you? Looking at writing it myself
  21. Good work. Did you add questing to the cannonballer?

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.