public class TalkToTask extends Task {
private Script script;
private String npcName;
private String INTERACT_OPTION = "Talk-to";
public TalkToTask(Script script, String npcName) {
super((MethodProvider) script);
this.script = script;
this.npcName = npcName;
}
@Override
public boolean canProcess() {
api.log("[TalkToTask] " + npcName + " visible: " + api.npcs.closest(npcName).isVisible());
return api.npcs.closest(npcName).isVisible();
}
@Override
public void process() {
api.log("[TalkToTask] Talking to " + npcName);
NPC target = api.npcs.closest(npcName);
if (target.interact(INTERACT_OPTION)) {
do {
api.dialogues.clickContinue();
try {
script.sleep(1000);
} catch (Exception e) {
e.printStackTrace();
}
} while (api.dialogues.isPendingContinuation());
api.log("[TalkToTask] Finished dialogue.");
}
}
}
api.dialogues.clickContinue() is returning false, even when a dialogue is open and has the "Click here to continue" text.
Is there a condition that I am not satisfying in my code to have this execute properly?