Jump to content

Free & Open Source | Open Minnows | Minnow Fishing


Eliot

Recommended Posts

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
  • Like 8
  • Mald 1
Link to comment
Share on other sites

  • 4 months later...

Join the conversation

You can post now and register later. If you have an account, sign in now to post with your account.
Note: Your post will require moderator approval before it will be visible.

Guest
Reply to this topic...

×   Pasted as rich text.   Paste as plain text instead

  Only 75 emoji are allowed.

×   Your link has been automatically embedded.   Display as a link instead

×   Your previous content has been restored.   Clear editor

×   You cannot paste images directly. Upload or insert images from URL.

  • Recently Browsing   0 members

    • No registered users viewing this page.
×
×
  • Create New...