mitsuki Posted February 21, 2021 Posted February 21, 2021 So to start with, here is me getting the dynamic skill level: public int currentHP(int currentHealth){ currentHealth = getSkills().getDynamic(Skill.forName("HITPOINTS")); return currentHealth; } int currentHealth = 0; This is me creating a loop while it is webwalking so that it eats when health is 6 or below: else if(downLadder.contains(myPlayer()) && !getInventory().isFull()){ getWalking().webWalk(safeSpot); while(getWalking().webWalk(safeSpot)){ if(currentHP(currentHealth) >= 6 && getInventory().contains("Trout")){ getInventory().interact("Trout", "Eat"); } } } It doesn't actually eat any food regardless of how much health my player has. Any idea where i'm going wrong? Cheers in advance guys!
skillerkidos1 Posted February 21, 2021 Posted February 21, 2021 Try checking this out WalkingEvent myEvent = new WalkingEvent(new Position(1, 2, 3)); //making the event myEvent.setMinDistanceThreshold(0); myEvent.setEnergyThreshold(47); myEvent.setBreakCondition(new Condition() { @Override public boolean evaluate() { return myPlayer().isUnderAttack(); } //change to if health below x }); execute(myEvent); //executing the event 2
Khaleesi Posted February 21, 2021 Posted February 21, 2021 Just add break condition when under attack or when HP is below a certain amount