this one is on forums it says all this on post:
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); @[member='Override'] 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"); } @[member='Override'] 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); } @[member='Override'] public void onExit() { } @[member='Override'] 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); } }