HeyImJamie Posted March 18, 2019 Posted March 18, 2019 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.
redeems Posted March 18, 2019 Posted March 18, 2019 } 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. 1
Imthabawse Posted March 18, 2019 Author Posted March 18, 2019 Gaining levels like: https://imgur.com/vDMdxX6
redeems Posted March 18, 2019 Posted March 18, 2019 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.
redeems Posted March 18, 2019 Posted March 18, 2019 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.