Hi, this is my first post. I've had no experience with coding but I gave it a go. I tried to write a script that works in my logic, and it does, kinda. I know that it is messy. I'm looking for guidance on how to improve the script because the main reason being after about 5 seconds of it loading it starts to lag a whole lot from a certain point.
package FisherPack;
import java.awt.Graphics2D;
import org.osbot.rs07.api.map.Position;
import org.osbot.rs07.script.Script;
import org.osbot.rs07.script.ScriptManifest;
@ScriptManifest(author = "Cal", info = "fisher", name = "Fisher", version = 0, logo = "")
public class CalsFish extends Script {
private int animateChange;
private int getNet;
@Override
public void onStart() {
animateChange = 0;
log("Let's get started!");
}
@Override
public int onLoop() throws InterruptedException {
//////////////////////////////////////////////////////////////////////////////////////////////////////////
if (getInventory().contains("Small fishing net")) {
getNet = 2;
}
if (inventory.isEmpty()) {
animateChange = 10;
getNet = 1;
}
while (((getInventory().contains("Raw shrimps")) || (getInventory().contains("Raw anchovies"))) && (animateChange == 0)){
objects.closest("Cooking range").interact("Cook");
sleep(2000);
widgets.interact(270, 14, "Cook");
if (myPlayer().isAnimating()) {
animateChange = animateChange + 1;
log(animateChange);
log("animate Change"); //Sees if any raw anch or shrimp and cooks them
}
if (!myPlayer().isAnimating()) {
animateChange = 0; //ill need to put this at end also
sleep(100);
}
}
///////////////////////////////////////////////////////////////////////////////////////////////////////////////
if ((getInventory().contains("Shrimps")) || (getInventory().contains("Anchovies"))){
if ((!getInventory().contains("Raw shrimps")) || (!getInventory().contains("Raw anchovies"))){
}
walking.webWalk(new Position(3208,3218,2));
sleep(random(100,500));
objects.closest("Bank booth").interact("Bank");
sleep(random(991,2873)); //when cook complete go and bank all
widgets.interact(12, 42, "Deposit inventory");
sleep(random(798,981));
}
///////////////////////////////////////////////////////////////////////////////////////////////////////////////////
if (getNet == 1) {
walking.webWalk(new Position(3208,3218,2));
sleep(random(100,500)); //walk to bank for net if none
objects.closest("Bank booth").interact("Bank");
sleep(random(1289,2101));
bank.withdraw("Small fishing net", 1);
sleep(random(867,1245));
walking.webWalk(new Position(3242,3154,0));
sleep(random(100,498));
getNet = 0;
}
///////////////////////////////////////////////////////////////////////////////////////////////////////////////
bank.withdraw("Small fishing net", 1);
sleep(random(867,1245)); //withdraw net
walking.webWalk(new Position(3242,3154,0));
sleep(random(100,498));
///////////////////////////////////////////////////////////////////////////////////////////////////////////
//fishing begins here
if (getNet == 2) {
walking.webWalk(new Position(3241,3152,0)); //if start with fish net
sleep(random(809,1109));
getNet = 0;
}
/////////////////////////////////////////////////////////////////////////////////////////////////////////////
npcs.closest(1530).interact("Net");
sleep(random(2003,3001));
while (myPlayer().isAnimating()){
sleep(random(3506,5007));
}
if ((!myPlayer().isAnimating()) && (!inventory.isFull())) {
npcs.closest(1530).interact("Net");
}
/////////////////////////////////////////////////////////////////////////////////////////////////////////////
return random(500, 1000);
}
@Override
public void onExit() {
log("Thanks for running my Tree Cutter!");
}
@Override
public void onPaint(Graphics2D g) {
}
}