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.

The just use onLoop() bro

Featured Replies

When someone talks about task based script or enum based scripts there's always that other guy: Just use onloop bro!

What does that mean though?

Well first off you can think of it as normal scripting--it's not new!

For an example take a look at this onloop()

    /**
     * Just use onLoop() bro
     *
     * @return the loop interval
     * @throws InterruptedException if something fucks up
     */
    @Override
    public int onLoop() throws InterruptedException {
        if (!inventory.isFull() && cows.cowsNearby()) {
            status = "At work--picking up bones and hides...";
            bone.pickupBones();
            hide.collectHides();
            hideCount = hide.getHideCount();
            boneCount = bone.getBonerCount();
        } else if (inventory.isFull()) {
            status = "Time to bank";
            goToBank.walkToBank();
        } else if (!cows.cowsNearby() && inventory.isEmpty()) {
            status = "Walking to cows for more loot";
            cows.walkToCows();
        }
        return random(200, 300);
    }

It's small and concise. One could read it and understand what is going to be happening.

Start from the top and work your way down:

  1. Inventory not full and cows nearby? Pickup some shit.
  2. Inventory full? Go bank
  3. Inventory not full and no cows nearby? FIND DEM COWS!

It's easy to read, right?

Just use onloop() bro

Full project has been uploaded to this thread

Bank.java

CollectBoners.java

CollectHide.java

Main.java

WalkToCows.java

Edited by Hayase

  • Author
2 minutes ago, HeyImJamie said:

How much did Explv pay you

$5 is $5

2 minutes ago, HeyImJamie said:

Love onLoop

d18925d9890290c829b75a0326069bab.png

:kappa: 

:???:

What's onLoop :???:

 

 

JK, don't ban.

 

 

Imo, I feel like using a Task system is easier to maintain for bigger scripts, that requires multiple things, such as an AIO script.

Edited by Visty

I'm assuming this post is satire but putting everything in one method stops being practical as soon as there is any complexity in your script.

Edited by Eliot

  • 4 weeks later...

Tasks based approaches are nice but I prefer trees. Made a "TreeMember" class and "TreeBranch" and "TreeLeaf" that extend it. A branch has a boolean that validates it and 2 treemembers (one for success, one for failure). The leafs just have a void to execute. This allows me to prevent having to double check conditions in any tasks and gives a lot of freedom for structuring it. E.g. I made a tutorial island script where onLoop() checks what Instructor I am on and then progresses down a tree specfic to that instructor.

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.