Botre Posted March 4, 2016 Share Posted March 4, 2016 (edited) @ScriptManifest(author = "Botre", info = "", logo = "", name = "Selection Listener Example", version = 0) public class SelectionListenerExample extends Script implements SelectionListener<NPC> { private Sapi sapi; @Override public void onStart() throws InterruptedException { super.onStart(); sapi = new Sapi(this); sapi.registerMouseAdapter(); sapi.setSelector(Module.NPC); sapi.getNpcSelector().getSelectionListeners().add(this); } @Override public int onLoop() throws InterruptedException { //... return 500; } @Override public void onPaint(Graphics2D g2d) { super.onPaint(g2d); for (NPC npc : sapi.getNpcSelector().getSelection()) { Painter.defaultEntity().paint(g2d, this, npc); } } @Override public void onExit() throws InterruptedException { sapi.unregisterMouseAdapter(); super.onExit(); } @Override public void onSelection(List<NPC> selection) { for (NPC npc : selection) { if(npc != null) { log("Selected npc with name: " + npc.getName()); if(npc.getActions() == null) continue; log("This npc has the following actions:"); for (String action : npc.getActions()) { log("\t" + action); } } } } } Edited March 4, 2016 by Botre 3 Quote Link to comment Share on other sites More sharing options...
Zappster Posted March 4, 2016 Share Posted March 4, 2016 (edited) Shoudln't one of those actions be 'Walk here'? Also, why are you displaying 3 'null's Other than that it looks pretty intersting Edited March 4, 2016 by Zappster Quote Link to comment Share on other sites More sharing options...
Botre Posted March 4, 2016 Author Share Posted March 4, 2016 Shoudln't one of those actions be 'Walk here'? Also, why are you displaying 3 'null's Other than that it looks pretty intersting "Walk-here" is actually a tile action, not an entity action. I just didn't bother filtering the null actions out since this is just a testing / demonstration snippet, but since you're my special friend: if(action == null) continue; log("\t" + action); 1 Quote Link to comment Share on other sites More sharing options...