If you don't know how to compile the code, you'll need to find someone that does know how to.
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);
}
}