Jump to content

zulfikar

Members
  • Posts

    5
  • Joined

  • Last visited

  • Feedback

    0%

Posts posted by zulfikar

  1. 32 minutes ago, luciuspragg said:
    
    Sleep.sleepUntil(() -> myPlayer().isAnimating() || isMined(r), 5000);

    One part of your condition to stop sleeping is when your player begins to/is doing something, rather than when it stops doing something. So as soon as it starts mining it breaks the sleep and starts looking for another rock.

    I fixed it. It was this and then moving the interact out of the if statement


    Thanks guys.

    • Heart 1
  2. private void Mine() {
            for(Position rock : rockList) {
                for (RS2Object r : bot.getMethods().objects.filter(main::isRock)) {
                    if (r.isVisible() && r.getPosition().equals(rock)) {
                        if (!isMined(r) && r !=null && rock.interact(bot, "Mine")) {
                            Sleep.sleepUntil(() -> myPlayer().isAnimating() || isMined(r), 5000);
                        }
                    }
                }
            }
        }

    I have this and it doesn't seem to stop when mining. It keeps clicking between the rocks in my rockList. I can't seem to figure out the issue. This method is called from onLoop. I'm using Explv's sleep class. I tried using normal conditional sleep without the class and sleep itself, but it still continues clicking between the rocks without waiting.

    import org.osbot.rs07.utility.ConditionalSleep;
    import java.util.function.BooleanSupplier;
    
    public final class Sleep extends ConditionalSleep {
    
        private final BooleanSupplier condition;
    
        public Sleep(final BooleanSupplier condition, final int timeout) {
            super(timeout);
            this.condition = condition;
        }
    
        public Sleep(final BooleanSupplier condition, final int timeout, final int interval) {
            super(timeout, interval);
            this.condition = condition;
        }
    
        @Override
        public final boolean condition() throws InterruptedException {
            return condition.getAsBoolean();
        }
    
        public static boolean sleepUntil(final BooleanSupplier condition, final int timeout) {
            return new Sleep(condition, timeout).sleep();
        }
    
        public static boolean sleepUntil(final BooleanSupplier condition, final int timeout, final int interval) {
            return new Sleep(condition, timeout, interval).sleep();
        }
    }

     

×
×
  • Create New...