if (s.getObjects().closest("Wilderness Ditch") != null) {
status = "Entering Wilderness.";
if (s.getWidgets().getWidgetContainingText("Enter Wilderness") != null && s.getWidgets().getWidgetContainingText("Enter Wilderness").isVisible()) {
s.getWidgets().getWidgetContainingText("Enter Wilderness").interact();
Sleep.sleepUntil(() -> WAIT_AREA.contains(s.myPlayer()), 5000);
} else {
RS2Object WildyDitch = s.getObjects().closest("Wilderness Ditch");
status = "Clicking Ditch.";
if (WildyDitch != null && WildyDitch.isVisible()) {
WildyDitch.interact("Cross");
Sleep.sleepUntil(() -> s.getWidgets().getWidgetContainingText("Enter Wilderness").isVisible(), 5000);
}
}
This is what I did in an old script of mine. I just broke the webwalkevent when the ditch was on screen, called this handleDitch method and then re-made a webwalkevent. I'd recommend checking the interact methods prior to sleeping though, I was obviously shitter than I am now when writing this script lmao.