Jump to content

Nested ConditionalSleep?


Recommended Posts

Posted

Hello folks, I was wondering if someone could explain how I could nest a conditionalsleep so that it can use the widgets after interacting with a Object.

if(fire != null && !myPlayer().isAnimating() && fire.interact("Cook")) {
                new ConditionalSleep(5000) {
                    @Override
                    public boolean condition() {
                        return myPlayer().isAnimating() || !fire.exists();
                    }
                }.sleep();
            }

 

Posted
6 hours ago, Cmontryme said:

Hello folks, I was wondering if someone could explain how I could nest a conditionalsleep so that it can use the widgets after interacting with a Object.

if(fire != null && !myPlayer().isAnimating() && fire.interact("Cook")) {
                new ConditionalSleep(5000) {
                    @Override
                    public boolean condition() {
                        return myPlayer().isAnimating() || !fire.exists();
                    }
                }.sleep();
            }

 

 Not sure what you mean by nest a conditionalSleep, but I belive i know what you are trying to do

Try to only do 1 action every loop to get a stable outcome
the onLoop thread keeps on running so you should just interact with a widget when it's visible.

Something like this: (Probably does not work as I don't know the exact texts and actions on the widget)

    @Override
    public int onLoop() {

        if (!myPlayer().isAnimating()) {
            RS2Object fire = getObjects().closest("Fire");
            if (fire != null) {
                RS2Widget cookWidget = getCookingWidget();
                if (isWidgetVisible(cookWidget)) {
                    if (cookWidget.interact("Cook")) {
                        ConditionalSleep2.sleep(5000, () -> !getInventory().contains("Raw trout") || !fire.exists()));
                    }
                } else {
                    if (fire.interact("Cook")) {
                        ConditionalSleep2.sleep(5000, () -> isWidgetVisible(getCookingWidget()));
                    }
                }
            }
        }
    }

 

  • Heart 1

Create an account or sign in to comment

You need to be a member in order to leave a comment

Create an account

Sign up for a new account in our community. It's easy!

Register a new account

Sign in

Already have an account? Sign in here.

Sign In Now
  • Recently Browsing   0 members

    • No registered users viewing this page.
×
×
  • Create New...