lolzord Posted July 27, 2019 Share Posted July 27, 2019 (edited) import org.osbot.rs07.api.filter.Filter; import org.osbot.rs07.api.ui.RS2Widget; import org.osbot.rs07.api.ui.Tab; import org.osbot.rs07.event.Event; public final class ToggleShiftDropEvent extends Event { @Override public final int execute() throws InterruptedException { if (Tab.SETTINGS.isDisabled(getBot())) { setFailed(); } else if (getTabs().getOpen() != Tab.SETTINGS) { getTabs().open(Tab.SETTINGS); } else if(getShiftDropWidget() == null || !getShiftDropWidget().isVisible()) { getGameSettingsWidget().interact(); } else { boolean enabled = getSettings().isShiftDropActive(); if (getShiftDropWidget().interact()) { Sleep.sleepUntil(() -> getSettings().isShiftDropActive() != enabled, 3000); setFinished(); } } return random(100, 200); } private RS2Widget getShiftDropWidget() { return getWidgets().singleFilter(getWidgets().getAll(), new WidgetActionFilter("Toggle shift click to drop")); } private RS2Widget getGameSettingsWidget() { return getWidgets().singleFilter(getWidgets().getAll(), new WidgetActionFilter("Controls")); } } class WidgetActionFilter implements Filter<RS2Widget> { private final String action; WidgetActionFilter(final String action) { this.action = action; } @Override public boolean match(RS2Widget rs2Widget) { if (rs2Widget == null) { return false; } if (rs2Widget.getInteractActions() == null) { return false; } for (String action : rs2Widget.getInteractActions()) { if (this.action.equals(action)) { return true; } } return false; } } Hi guys, i am new to coding, i cant understand how to enable this script on start in main script, its to check toggled shift dropping or not. Something like ToggleShiftDropEvent s = new ToggleShiftDropEvent(); s.execute(); idk Thanks Edited July 27, 2019 by lolzord Quote Link to comment Share on other sites More sharing options...
zwaffel Posted July 27, 2019 Share Posted July 27, 2019 (edited) try this instead of s.execute(); execute(s); Edited July 27, 2019 by zwaffel 3 Quote Link to comment Share on other sites More sharing options...
lolzord Posted July 27, 2019 Author Share Posted July 27, 2019 13 minutes ago, zwaffel said: try this instead of s.execute(); execute(s); Sir, You are Genius. Thank you! It worked. Quote Link to comment Share on other sites More sharing options...