aivaras Posted January 17, 2017 Share Posted January 17, 2017 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. Quote Link to comment Share on other sites More sharing options...
Saiyan Posted January 17, 2017 Share Posted January 17, 2017 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. 1 Quote Link to comment Share on other sites More sharing options...
Explv Posted January 17, 2017 Share Posted January 17, 2017 (edited) 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, 2017 by Explv 2 Quote Link to comment Share on other sites More sharing options...
aivaras Posted January 17, 2017 Author Share Posted January 17, 2017 Thanks everyone for help. Quote Link to comment Share on other sites More sharing options...