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.

Free & Open Source | Open Minnows | Minnow Fishing

Featured Replies

Open Minnows
One-click fishing training

What is it?
This script will catch you minnows!

Features

  • Fishes minnows in the expanded fishing guild
  • Avoids & moves away from the fishing spot that eat your minnows
  • Open source

Requirements

  • Small fishing net
  • 82+ fishing
  • Angler's outfit

More Details
Start the script on the expanded fishing guild platform with the required items.

Code
 

import org.osbot.rs07.api.filter.Filter;
import org.osbot.rs07.api.model.Entity;
import org.osbot.rs07.api.model.NPC;
import org.osbot.rs07.api.ui.Skill;
import org.osbot.rs07.script.Script;
import org.osbot.rs07.script.ScriptManifest;
import org.osbot.rs07.utility.ConditionalSleep;

import java.awt.*;

@ScriptManifest(name = "Open Minnows", version = 1.0, author = "Eliot", info = "Fish minnows", logo = "")
public class MainDriver extends Script {
  private long startTime;
  private ConditionalSleep flyingFishCS;
  private ConditionalSleep interactingCS;
  private ConditionalSleep runningCS;

  // Paint constants
  private final Color transBackground = new Color(0, 0, 0, 178);
  private final Color rsOrange = new Color(252, 155, 31);
  private final Font font = new Font("Helvetica", Font.PLAIN, 12);

  @Override
  public void onStart() {
    startTime = System.currentTimeMillis();
    getExperienceTracker().start(Skill.FISHING);
    flyingFishCS = new ConditionalSleep(1500) {
      @Override
      public boolean condition() throws InterruptedException {
        return myPlayer().getInteracting() != null &&
            myPlayer().getInteracting().getModelHeight() > 9;
      }
    };
    interactingCS = new ConditionalSleep(5000) {
      @Override
      public boolean condition() throws InterruptedException {
        return myPlayer().getInteracting() != null;
      }
    };
    runningCS = new ConditionalSleep(3000) {
      @Override
      public boolean condition() throws InterruptedException {
        return getSettings().isRunning();
      }
    };
  }

  @Override
  public int onLoop() throws InterruptedException {
    if ((myPlayer().getInteracting() == null && !myPlayer().isMoving()) ||
        (myPlayer().getInteracting() != null && myPlayer().getInteracting().getHeight() > 9) ||
        getDialogues().isPendingContinuation()) {
      flyingFishCS.sleep();
      if (!getSettings().isRunning() && getSettings().getRunEnergy() > 30) {
        getSettings().setRunning(true);
        runningCS.sleep();
      } else {
        Entity fishingSpot = getNpcs().closest((Filter<NPC>) npc -> npc.getName().equals("Fishing spot") &&
            npc.getModelHeight() < 10);
        if (fishingSpot != null) {
          fishingSpot.interact("Small Net");
          interactingCS.sleep();
        }
      }
    }
    return random(50, 200);
  }

  @Override
  public void onPaint(Graphics2D g) {
    // Set the font
    g.setFont(font);

    // Transparent box, holds paint strings
    g.setColor(transBackground);
    g.fillRect(1, 250, 225, 88);

    // Outside of transparent box
    g.setColor(rsOrange);
    g.drawRect(1, 250, 225, 88);

    // Draw paint info
    g.drawString("Open Minnows by Eliot", 10, 265);
    g.drawString("Runtime: " + formatTime(System.currentTimeMillis() - startTime), 10, 285);
    g.drawString("Fishing XP (p/h): " + getExperienceTracker().getGainedXP(Skill.FISHING) + " (" +
        getExperienceTracker().getGainedXPPerHour(Skill.FISHING) + ")", 10, 300);
    g.drawString("Fishing Level: " + getSkills().getStatic(Skill.FISHING) + " (" +
        getExperienceTracker().getGainedLevels(Skill.FISHING) + ")", 10, 315);
    g.drawString("Time to level: " + formatTime(getExperienceTracker().getTimeToLevel(Skill.FISHING)), 10, 330);
  }

  /**
   * Formats the runtime into human readable form
   *
   * @param time
   * @return string representing the runtime of the script
   */
  private String formatTime(final long time) {
    long s = time / 1000, m = s / 60, h = m / 60;
    s %= 60;
    m %= 60;
    h %= 24;
    return String.format("%02d:%02d:%02d", h, m, s);
  }
}

Download
https://nofile.io/f/N3FPNxyq87J/PowerMinnows.jar

Edited by Eliot

32 minutes ago, Maldesto said:

Lol.

spam posting for post count is against the rules

:ban:

  • Author
8 minutes ago, Chris said:

PlE3Ase Use NpC OkAY? 


Entity fishingSpot

PoLyMoRpHiSM

  • 4 months later...
  • Author
5 hours ago, Glaciation96 said:

What does getModelHeight do?

Checks for the random event thing that you don't want to continue fishing in.

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.