Jump to content
View in the app

A better way to browse. Learn more.

OSBot :: 2007 OSRS Botting

A full-screen app on your home screen with push notifications, badges and more.

To install this app on iOS and iPadOS
  1. Tap the Share icon in Safari
  2. Scroll the menu and tap Add to Home Screen.
  3. Tap Add in the top-right corner.
To install this app on Android
  1. Tap the 3-dot menu (⋮) in the top-right corner of the browser.
  2. Tap Add to Home screen or Install app.
  3. Confirm by tapping Install.

Stuck in dialogue

Featured Replies

2ldIsLR.png

if (script.getDialogues().inDialogue()) {
	if (script.getDialogues().isPendingContinuation()) {
		script.getDialogues().clickContinue();
		break;
	}
}

When I log the code,

It says that I'm in a dialogue, but not that there's pending continuation.

With other words, I'm stuck as it doesn't continue the dialogue.

 

Am I missing something?

 

 

 

Edited by lisabe96

Sounds like a bug with the continuation method; perhaps the dialogues are different on tutorial island

 

try something like this instead

List<RS2Widget> diag = getWidgets().containingText("Click here to continue");
if(!diag.isEmpty()) {
    diag.get(0).interact();
}
  • Author

 

Sounds like a bug with the continuation method; perhaps the dialogues are different on tutorial island

 

try something like this instead

List<RS2Widget> diag = getWidgets().containingText("Click here to continue");
if(!diag.isEmpty()) {
    diag.get(0).interact();
}

It's weird, it sometimes works and sometimes not.

Ill try your solution.

 

 

Edit:

Seems to be working this way, thanks!

Edited by lisabe96

  • Author

IsPendingContinuation() returns true iff it finds "to continue" or "please wait..." so your logic is flawed here.

What do you mean exactly?

What do you mean exactly?

    public boolean isPendingContinuation() {
        if (this.inDialogue()) {
            int IIiiiiIiii = this.IIiiiiIiii(IIiiIiIIII);
            if (IIiiiiIiii > 0) {
                if(this.widgets.getWidgetContainingText(IIiiiiIiii, new String[]{"to continue", "please wait..."}) != null) {
                    return true;
                }

                return false;
            }

            List<RS2Widget> matching = this.widgets.containingText(new String[]{"to continue", "please wait..."});
            if (matching != null && !matching.isEmpty()) {
                IIiiIiIIII.add(Integer.valueOf((matching.get(0)).getRootId()));
                return true;
            }
        }

        return false;
    }
  • Author
    public boolean isPendingContinuation() {
        if (this.inDialogue()) {
            int IIiiiiIiii = this.IIiiiiIiii(IIiiIiIIII);
            if (IIiiiiIiii > 0) {
                if(this.widgets.getWidgetContainingText(IIiiiiIiii, new String[]{"to continue", "please wait..."}) != null) {
                    return true;
                }

                return false;
            }

            List<RS2Widget> matching = this.widgets.containingText(new String[]{"to continue", "please wait..."});
            if (matching != null && !matching.isEmpty()) {
                IIiiIiIIII.add(Integer.valueOf((matching.get(0)).getRootId()));
                return true;
            }
        }

        return false;
    }

Apparently osbot's logic is flawing then because it doesn't work half of the time, while frostbug's solution does all the time

Apparently osbot's logic is flawing then because it doesn't work half of the time, while frostbug's solution does all the time

 

No, you're is checking if "please wait" has already been clicked, and if so try to click continue... You're using the wrong method.

Edited by matt123337

  • Author

No, you're is checking if "please wait" has already been clicked, and if so try to click continue... You're using the wrong method.

Then what's the right one?

Create an account or sign in to comment

Recently Browsing 0

  • No registered users viewing this page.

Account

Navigation

Search

Configure browser push notifications

Chrome (Android)
  1. Tap the lock icon next to the address bar.
  2. Tap Permissions → Notifications.
  3. Adjust your preference.
Chrome (Desktop)
  1. Click the padlock icon in the address bar.
  2. Select Site settings.
  3. Find Notifications and adjust your preference.