Jump to content

GF Buyer! | OSBOT's first girlfriend buyer!


Recommended Posts

Posted

Just give this Diamond rings and watch how many girlfriends you can get!

Bot spams "Buying gf" and waits for a trade.

 

I told you @Juggles , I'd come up with a good meme to compete with your bot reporting bot. 

 

import java.awt.event.KeyEvent;

import org.osbot.rs07.api.map.constants.Banks;
import org.osbot.rs07.script.Script;
import org.osbot.rs07.script.ScriptManifest;
import org.osbot.rs07.utility.ConditionalSleep;

@ScriptManifest(author = "Malcolm", info = "Buys GF", name = "BF Buyer", version = 1.0, logo = "")
public class Main extends Script {

    long tradeTime;

    public int onLoop() throws InterruptedException {
        if (getInventory().contains("Diamond ring")) {
            if (!Banks.GRAND_EXCHANGE.contains(myPlayer())) {
                getWalking().webWalk(Banks.GRAND_EXCHANGE.getRandomPosition());
            } else {
                if (!getTrade().isCurrentlyTrading()) {
                    typeStringInstant("cyan: Buying gf!");
                    sleep(random(3000, 4000));
                    if (getTrade().getRequestListener() != null) {
                        if (getTrade().getLastRequestingPlayer() != null) {
                            if (getTrade().getLastRequestingPlayer().interact("Trade with")) {
                                tradeTime = System.currentTimeMillis();
                                new ConditionalSleep(10000) {
                                    @Override
                                    public boolean condition() throws InterruptedException {
                                        return getTrade().isCurrentlyTrading();
                                    }
                                }.sleep();
                            }
                        }
                    }
                } else {
                    if (getWidgets().getTrade().isFirstInterfaceOpen()) {
                        if (System.currentTimeMillis() > (tradeTime + 30000)) {
                            if (getTrade().declineTrade()) {
                                new ConditionalSleep(10000) {
                                    @Override
                                    public boolean condition() throws InterruptedException {
                                        return !getTrade().isCurrentlyTrading();
                                    }
                                }.sleep();
                            }
                        } else {
                            long dringAmount = getInventory().getAmount("Diamond ring");
                            if (getTrade().offer("Diamond ring", 1)) {
                                new ConditionalSleep(40000) {
                                    @Override
                                    public boolean condition() throws InterruptedException {
                                        return dringAmount != getInventory().getAmount("Diamong ring");
                                    }
                                }.sleep();
                                if (getTrade().acceptTrade()) {
                                    new ConditionalSleep(40000) {
                                        @Override
                                        public boolean condition() throws InterruptedException {
                                            return getTrade().isSecondInterfaceOpen();
                                        }
                                    }.sleep();
                                }
                            }
                        }
                    } else if (getTrade().isSecondInterfaceOpen()) {
                        if (getTrade().didOtherAcceptTrade()) {
                            mouse.move(220, 300);
                            sleep(random(300, 600));
                            mouse.click(false);
                            new ConditionalSleep(40000) {
                                @Override
                                public boolean condition() throws InterruptedException {
                                    return !getTrade().isSecondInterfaceOpen();
                                }
                            }.sleep();
                            typeStringInstant("cyan: We are now married! Love you!");
                        }
                    }
                }
            }
        } else {
            log("No more rings! Stopping script");
            stop();
        }

        return 1000;

    }

    private void typeStringInstant(String output) {

        for (int i = 0; i < output.length(); i++) {

            char c = output.charAt(i);
            int code = KeyEvent.getExtendedKeyCodeForChar(c);
            getBot().getKeyEventHandler().generateBotKeyEvent(400, System.currentTimeMillis(), 0, code, c);
        }

        getBot().getKeyEventHandler().generateBotKeyEvent(401, System.currentTimeMillis(), 0, 10, '\u0000');
        getBot().getKeyEventHandler().generateBotKeyEvent(402, System.currentTimeMillis(), 0, 10, '\u0000');
    }

}

NOTE: at the time of writing there was an issue with the API and it did not wan't to accept the second screen.

This section:

                            mouse.move(220, 300);
                            sleep(random(300, 600));
                            mouse.click(false);

Should be:

if (getTrade().acceptTrade()) {

 

 

 

  • Like 2

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...