Hey, so I'm trying to figure out how get a text value for this specific dialogue box.
I've checked the widget debugger, and I've found
getWidgets().containingText(229, "You must ask the foreman's permisson before using the blast furnace") != null
This is what I can pull out of it, however when I go to try to use it
if (getWidgets().containingText(229, "You must ask the foreman's permisson before using the blast furnace") != null) {
hasPayedForeman = false;
}
After this my script goes into the task to pay the foreman
NPC foreman = getNpcs().closest("Blast Furnace Foreman");
RS2Widget payWindow = c.getWidgets().get(219, 0, 0);
if (payWindow == null) {
foreman.interact("Pay");
Timing.waitCondition(() -> getDialogues().inDialogue(), 3500, 1500);
} else if (getDialogues().inDialogue()) {
if (payWindow != null) {
getDialogues().selectOption(1);
hasPayedForeman = true;
}
}
}
My problem is that it just loops between the two in I guess a kind of "spammy" fashion, instead of the boolean going to false while the widget is != null and then going back to true after the foreman is paid.