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