March 18, 20196 yr 1 minute ago, redeems said: private States currentState = States.FISHING; //setting starting state private Area area = new Area(3109, 3434, 3103, 3423); // fishing area public enum States {FISHING, DROPPING} //the two states Yes, but when do you set the state back to FISHING once you've set it to DROPPING? You don't, so it will get stuck.
March 18, 20196 yr } else if (currentState == States.DROPPING) { //if the state is dropping... log("Inventory full dropping fish.."); //log that we are in this state and executing getInventory().dropAllExcept("Feather","Fly fishing rod"); //drop everything besides feathers and rod int openslots = (getInventory().getEmptySlotCount()); //variable for open inventory spots if (openslots == 26) { currentState = States.FISHING; } } } corrected. now it will go the distance.
March 18, 20196 yr 4 minutes ago, HeyImJamie said: Yes, but when do you set the state back to FISHING once you've set it to DROPPING? You don't, so it will get stuck. my bad sir. you are right. im silly.
March 18, 20196 yr 7 minutes ago, Malcolm said: This is still a boolean method and should be checked with an if statement. instead of using a static sleep you could use a conditional sleep until the fishing spot is null or your inventory is full. This is what I would do. Hopefully this is helpful. NPC fishSpot = getNpcs().closest("Rod Fishing spot"); if (fishSpot.interact("Lure")) { getMouse().moveOutsideScreen(); new ConditionalSleep(5000) { @Override public boolean condition() throws InterruptedException { return getInventory().isFull() || fishSpot == null; } }.sleep(); } true. conditional sleeps are almost always better than static sleeps.
Create an account or sign in to comment