Ace Posted February 11, 2016 Share Posted February 11, 2016 (edited) Mirror client version v2.13.107 Console output / terminal output: None Crash report if a crash occurred: None Script that you ran: own script Hooks that failed: None JVM/Browser bit version (32 / 64): 64 Hey, on my own green dragon killer script it supports looting bag. I'm using getWidget().getWidgetContainingText("All") to make sure the script deposits all items into the looting bag but for some reason when using the mirror client it always selectes the widget that contains ("One") and not ("All"). It works perfectly fine when running the same script on injection mode so I guess it has something to do with the mirror mode. The method I'm using: @Override public boolean execute() throws InterruptedException { Item i = sA.getInventory().getItem(new Filter<Item>() { @Override public boolean match(Item i) { return i.getName().equalsIgnoreCase("Green dragonhide") || i.getName().equalsIgnoreCase("Dragon bones"); } }); if(i != null && sA.getInventory().getAmount(i.getName()) > 2){ if(sA.getInventory().getItem(i.getName()).interact("Use"));{ new ConditionalSleep(2000, 100, 50) { @Override public boolean condition() throws InterruptedException { return sA.getInventory().isItemSelected(); } }.sleep(); } if(sA.getInventory().isItemSelected()){ sA.getInventory().getItem("Looting bag").interact(); new ConditionalSleep(4000, 100, 50) { @Override public boolean condition() throws InterruptedException { return sA.getWidgets().getWidgetContainingText("All") != null; } }.sleep(); } if(sA.getWidgets().getWidgetContainingText("All") != null){ sA.getWidgets().getWidgetContainingText("All").interact("Continue"); sA.sleep(MethodProvider.random(600, 800)); } } return true; }Thanks for your time! Edited February 17, 2016 by _Ace_ 1 Link to comment Share on other sites More sharing options...
Khaleesi Posted February 11, 2016 Share Posted February 11, 2016 (edited) Have you tried this in the injection client? Edited February 11, 2016 by Khaleesi 1 Link to comment Share on other sites More sharing options...
Ace Posted February 11, 2016 Author Share Posted February 11, 2016 Have you tried this in the injection client?Yes and it worked perfectly fine Link to comment Share on other sites More sharing options...
Eagle Scripts Posted February 11, 2016 Share Posted February 11, 2016 Mirror client version v2.0 Console output / terminal output: None Crash report if a crash occurred: None Script that you ran: own script Hooks that failed: None JVM/Browser bit version (32 / 64): 64 Hey, on my own green dragon killer script it supports looting bag. I'm using getWidget().getWidgetContainingText("All") to make sure the script deposits all items into the looting bag but for some reason when using the mirror client it always selectes the widget that contains ("One") and not ("All"). It works perfectly fine when running the same script on injection mode so I guess it has something to do with the mirror mode. The method I'm using: @Override public boolean execute() throws InterruptedException { Item i = sA.getInventory().getItem(new Filter<Item>() { @Override public boolean match(Item i) { return i.getName().equalsIgnoreCase("Green dragonhide") || i.getName().equalsIgnoreCase("Dragon bones"); } }); if(i != null && sA.getInventory().getAmount(i.getName()) > 2){ if(sA.getInventory().getItem(i.getName()).interact("Use"));{ new ConditionalSleep(2000, 100, 50) { @Override public boolean condition() throws InterruptedException { return sA.getInventory().isItemSelected(); } }.sleep(); } if(sA.getInventory().isItemSelected()){ sA.getInventory().getItem("Looting bag").interact(); new ConditionalSleep(4000, 100, 50) { @Override public boolean condition() throws InterruptedException { return sA.getWidgets().getWidgetContainingText("All") != null; } }.sleep(); } if(sA.getWidgets().getWidgetContainingText("All") != null){ sA.getWidgets().getWidgetContainingText("All").interact("Continue"); sA.sleep(MethodProvider.random(600, 800)); } } return true; } Thanks for your time! The mirror client sometimes struggles with reading strings in dialogues. This is why it randomly gets stuck. For example; Ring of dueling teleports look like this --> Duel Arena Castle Wars Clan Wars The mirror client fails to do --> dialogues.selectOption("Castle Wars"); so you need to do dialogues.selectOption(2); so instead of trying to choose the option it should click with a string, select the option with its number. 1 Link to comment Share on other sites More sharing options...
Ace Posted February 11, 2016 Author Share Posted February 11, 2016 The mirror client sometimes struggles with reading strings in dialogues. This is why it randomly gets stuck. For example; Ring of dueling teleports look like this --> Duel Arena Castle Wars Clan Wars The mirror client fails to do --> dialogues.selectOption("Castle Wars"); so you need to do dialogues.selectOption(2); so instead of trying to choose the option it should click with a string, select the option with its number. Thanks for the reply, choosing the widget by its root and child id works fine too? Link to comment Share on other sites More sharing options...
Ace Posted February 17, 2016 Author Share Posted February 17, 2016 The problem is, when getting the widget by its root and child id, that it gets the wrong id when there are fewer options available in the looting bag option. So it would be A LOT easier to just use getWidgetContainingText. Link to comment Share on other sites More sharing options...