January 17, 20179 yr Hello, I'm making simple script wich attacks zombies. For some reason it waits till npc dieing animation is ended. if (getNpcs().closest("Zombie").getHealth() != 0 && !getCombat().isFighting() && getNpcs().closest("Zombie").isAttackable() && !myPlayer().isAnimating()) return State.ATTACK; And there is anyway to attack random npc not the closest one? Thanks for answers.
January 17, 20179 yr NPC zombie = getNpcs().getAll().stream().filter(npc -> npc.getHealthPercent() > 0 && !npc.isUnderAttack() && npc.getName().equals("Zombie").findFirst().orElse(null); if(zombie != null && !myPlayer().isUnderAttack()) { zombie.interact("Attack"); cond sleep } This was made without an IDE so it may have some errors :P but im sure you could easily fix the typo errors.
January 17, 20179 yr Hello, I'm making simple script wich attacks zombies. For some reason it waits till npc dieing animation is ended. if (getNpcs().closest("Zombie").getHealth() != 0 && !getCombat().isFighting() && getNpcs().closest("Zombie").isAttackable() && !myPlayer().isAnimating()) return State.ATTACK; And there is anyway to attack random npc not the closest one? Thanks for answers. Just do something like: if (myPlayer().getInteracting() == null) { NPC cow = getNpcs().singleFilter(getNpcs().getAll(), new NameFilter<>("Cow"), Character::isAttackable); if (cow != null && cow.interact("Attack")) { new ConditionalSleep(5000) { @ Override public boolean condition() throws InterruptedException { return myPlayer().isInteracting(cow) || !cow.isAttackable(); } }.sleep(); } } Edited January 17, 20179 yr by Explv
Create an account or sign in to comment