Greasy Nigel Posted August 3, 2023 Share Posted August 3, 2023 (edited) Hey guys, so I want to interact with some of the powerups in nmz. This is what ive written: RS2Object powerup = getObjects().closest(n -> powerups.contains(n.getName())); if (powerup != null) { powerup.interact(); Sleep.sleepUntil(() -> powerup == null || !powerup.hasAction("Activate"), 5000); } Where powerups is a list containing the names of the powerups that I want to interact with. I've tried powerup as an NPC as well as a RS2Object, but no matter what, they are always null. Any ideas? SOLVED (see below): I decided I might as well share the snippet I eventually used in case it is of use to anyone else: List<String> powerups = Arrays.asList("Zapper", "Recurrent damage"); public boolean listContainsStringContaining(List<String> list, String string) { for (String listString : list) { if (string.contains(listString)) { return true; } } return false; } public void activatePowerups() { RS2Object powerup = getObjects().closest(n -> listContainsStringContaining(powerups, n.getName())); if (powerup != null) { powerup.interact(); Sleep.sleepUntil(() -> powerup == null || !powerup.hasAction("Activate"), 5000); log(powerup.getName()); } } Edited August 3, 2023 by Greasy Nigel Solved Quote Link to comment Share on other sites More sharing options...
Greasy Nigel Posted August 3, 2023 Author Share Posted August 3, 2023 Solved, it is an RS2Object. I tried to get a powerup by method of getObjects().closest(n -> n.hasAction("Activate")); and logged powerup.getName() and it turns out that they are formatted like this: <col=ff9040>Recurrent damage 1 Quote Link to comment Share on other sites More sharing options...