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.

Jug of Water getter

Featured Replies

For someone who has done RFD has a stock of 10 grapes in the food chest, you'd just need an auto-buyer. There's other shit there that's worth a fair amount aswell, like pat of butters, pot of flour, empty jugs. Btw if you want to get jugs of water do Dream mentor with humidify. You could make 450k/hr two weeks ago with it, but it looks like someone else has been doing it a lot :P

  • Author

Is this still needed? Let me know. 

 

Yes please!

import org.osbot.rs07.api.map.Area;
import org.osbot.rs07.api.map.Position;
import org.osbot.rs07.api.model.NPC;
import org.osbot.rs07.api.model.RS2Object;
import org.osbot.rs07.script.Script;
import org.osbot.rs07.script.ScriptManifest;
import org.osbot.rs07.utility.ConditionalSleep;

import java.awt.*;

@ScriptManifest(author = "Sinatra", info = "Grabs J.O.W", name = "S_JWGrabber", version = 1.0, logo = "")
public class S_JWGrabber extends Script {
    private static final Position[] PATH_TO_BANK = {
        new Position(3293,3165,0), new Position(3295,3172,0), new Position(3293,3178,0),
        new Position(3286,3179,0), new Position(3277,3173,0), new Position(3271,3167,0)

    };
    private static final Position[] PATH_TO_NPC = {
            new Position(3271,3167,0), new Position(3277,3173,0), new Position(3286,3179,0),
            new Position(3293,3178,0), new Position(3295,3172,0), new Position(3293,3165,0),
            new Position(3302,3165,0)
    };
    private static final Area NPC_AREA = new Area(3289,3160,3303,3165);
    @Override
    public void onStart() {
        log("Time to grab some Jugs of Water ;)");
        if (!getClient().isLoggedIn()){
            log("Please login before using!");
        }
    }

    @Override
    public int onLoop() throws InterruptedException {
        if (inventory.isFull() && getInventory().contains("Jug of water")){
            getLocalWalker().walkPath(PATH_TO_BANK);
            //BankChecks
            RS2Object bankBooth = objects.closest("Bank Booth");
            if (bankBooth != null && !bank.isOpen()) {
                if (bankBooth.interact("Bank")) {
                    new ConditionalSleep(10000) { //returns if true (i hope)
                        @Override
                        public boolean condition() throws InterruptedException {
                            return getBank().isOpen();
                        }
                    }.sleep();
                }
            }
            if (bank.isOpen()) {
                //do banking
                getBank().depositAll();
            } else {
                bank.open();
                sleep(random(400, 700));
            }
        }else{
            if (getInventory().isEmpty() && (!NPC_AREA.contains(myPlayer().getPosition()))){
                getLocalWalker().walkPath(PATH_TO_NPC);
                sleep(random(300,700));
            }
            NPC npc = npcs.closest("Hassan");

            if (!dialogues.inDialogue()){
                if (npc != null){
                    if (npc.isVisible()){
                        npc.interact("Talk-to");
                        sleep(random(300,600));
                    }
                }
            }else{
                //handle dialogue
                if (getDialogues().isPendingContinuation()){
                    getDialogues().clickContinue();
                }
                if (getDialogues().isPendingOption()){
                    getDialogues().selectOption(2);
                    sleep(random(300,500));
                    getDialogues().clickContinue();
                    sleep(random(300,500));
                    getDialogues().clickContinue();
                    sleep(random(300,500));
                    getDialogues().clickContinue();

                }
            }

        }

        return (random(300,600));
    }

    @Override
    public void onExit() {
    log("Thanks for trying it out!");
    }

    @Override
    public void onPaint(Graphics2D g) {

    }

}

This is a rough draft. I am new to scripting but this should get the job done. There is no paint and it is as simple as it gets biggrin.png

im sure the other scripters can fix the issue wink.png

 

Testing in f2p W394

EDIT: Known bug = when returning to "Hassan" it will bank check twice. CBA to fix XD im busy now tongue.png

Check the OSBOT API for better structure

 

 

EDIT: this is it in action

interacting(GIF): http://gyazo.com/9d84ee932dc49bfa3e9d849e8411d875

If inventory is full(GIF): http://gyazo.com/db19c2e3f13cdbc745a54da7920deb75

Banking issue (GIF): http://gyazo.com/1f2cc6de6d75dce9a25367b7f674fdd7

 

 

Edited by Sinatra

I finished it. I was able to run it for 3h without any trouble :)

OKb3MFF.png

 

Now I'm waiting to know if this script isn't against OSBot policy before releasing it to the public.

  • Author

I finished it. I was able to run it for 3h without any trouble smile.png

OKb3MFF.png

 

Now I'm waiting to know if this script isn't against OSBot policy before releasing it to the public.

 

<3

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.