Jump to content
Purple

[FREE] pFisher

Recommended Posts

pFisher

 

Welcome to the pFisher, a simple and unique all in one fishing bot!

 

Features

  • Dynamic wait times before moving to next fish
  • Mouse keys dropping
  • Custom inventory listener
  • Simple and clean exp dropper
  • Experience / Yield tracker
  • Beautiful and simple movable retro style paint
  • Handfishing/Powerfishing support
  • World Hopping support (supports F2P)
  • Antiban calculator + odds & ABCL

Supported Areas

  • Al Kharid
  • Barbarian Village
  • Barbarian Outpost (Must have at least 15 agility / strength & started sub quest)
  • Catherby
  • Draynor
  • Fishing Guild
  • Karamja (F2P deposit box)
  • Lumbridge Swamp
  • Observatory (OP powerfishing)
  • Rellekka (Must have Peer the Seer sub quest uncompleted in Fremennik Trials)
  • Seers Village (North of bank)

 

Note: Ported proggy from another bot

ZW6nbNc.png

 

Note: Ported proggy from another bot

yjzuvbL.png

 

fkTz7DT.png

 

5tngNSB.png

 

 

 

eNebcKp.png

 

dG6nOUw.png

Edited by Purple
  • Like 25

Share this post


Link to post
Share on other sites

@Purple Were you using looking glass when you took those screenshots?

 

Nah these are ported over from another bot I haven't had a chance to actually get some long proggies yet. Basically just put them up so people can get an idea of the power of the script. They'll be replaced once I get a chance to run it for awhile. Just wanted to push out a release.

Share this post


Link to post
Share on other sites

@Purple

 

Great script, did you use Ian's porter (capability of universally programming for all major clients) or did you port this by hand?

 

I converted it by hand. The entire project is actually pretty manageable, just only had to fix/add a few things like inventory manager and some other stuff. Here's an example of how easy it is for me to add new areas with 5 lines of code. 

public class Catherby extends FishingJob {    private Fishing fishing;    private AbstractBanking banking;    public Catherby(Fish fish, boolean hand, boolean power) {        super(fish, hand);        Fisher.getPainter().setTitle("Catherby Shore");        checkFishingLevel(fish.getLevel());        WayPointManager wayPointManager = new WayPointManager();        wayPointManager.addWayPoint(new WayPoint(new RSTile(2839, 3432, 0)), new WayPoint(new RSTile(2854, 3427, 0)));        banking = new BoothBanking(this, new RSTile(2810, 3441, 0), power);        fishing = new Fishing(this, hand, new RSTile(2842, 3432, 0), wayPointManager);    }    @Override    public void execute() {        if(!Inventory.isFull() && hasRequiredItems()) {            fishing.execute();        } else {            banking.execute();        }    }}

Share this post


Link to post
Share on other sites

 

I converted it by hand. The entire project is actually pretty manageable, just only had to fix/add a few things like inventory manager and some other stuff. Here's an example of how easy it is for me to add new areas with 5 lines of code. 

public class Catherby extends FishingJob {    private Fishing fishing;    private AbstractBanking banking;    public Catherby(Fish fish, boolean hand, boolean power) {        super(fish, hand);        Fisher.getPainter().setTitle("Catherby Shore");        checkFishingLevel(fish.getLevel());        WayPointManager wayPointManager = new WayPointManager();        wayPointManager.addWayPoint(new WayPoint(new RSTile(2839, 3432, 0)), new WayPoint(new RSTile(2854, 3427, 0)));        banking = new BoothBanking(this, new RSTile(2810, 3441, 0), power);        fishing = new Fishing(this, hand, new RSTile(2842, 3432, 0), wayPointManager);    }    @Override    public void execute() {        if(!Inventory.isFull() && hasRequiredItems()) {            fishing.execute();        } else {            banking.execute();        }    }}

 

Ah, I see. You basically just have all your different methods in libraries/interfaces dependent on your client.

 

It's quite poor to see that one of the best and free scripts is maintained by someone who is distant with the community overall; I hope to see the overall calibre of scripts improve to a standard such as this.

Edited by Liam.

Share this post


Link to post
Share on other sites

@Liam.

 

Not all my scripts are written like this, but for all in ones it's a must if you plan to implement features in the future. A lot of newer scripters don't have any practice with abstraction or know how to implement a complex paradigm outside of the basic oop loop. I'd say even most of the actual scripters on here don't even know what a constructor is or how to abuse one. That's not a bad thing, but you'll  learn these things like I did after doing it for so many years of trial and error. 

 

There's definitely a huge learning curve jumping from understand basic java and writing a script (which is where most people plateau) and to being able to think in an abstract demeanor. Sometimes it's silly to use such a complex model for a basic script, but it can teach you a lot. It's more back end end work, but it's 100% worth it when you need to maintain and upgrade your framework. 

  • Like 1

Share this post


Link to post
Share on other sites
Guest
This topic is now closed to further replies.

  • Our picks

    • This update will:

      Fix GE inventory item positioning bug


      Fix broken object hooks
      • 25 replies
    • This release will:

      Fix some ClosedChannelException bug


      Fix bug in RSObject#getAllTiles


      Add game tab support for "Kourend Favour"
      • 15 replies
    • This release will:

      Fix Settings UI placement bug


      Fix game object location bug


      Fix small layout bug making the client shift up and down


      Fix client crashing bug where loading the client with a small display area will cause the client to crash


      Fix annoying Linux bug relating to painting events and peers


      Fix settings saving bug where settings are saved to disk more often than they should


      Fix RSInterface#isBeingDrawn bug affecting a limited amount of people


      Drop Java 1.7 bytecode version for 1.8


      Important: Since the downloadable RS client uses Java 7, it will no longer be compatible with Looking Glass. To make up for this, we will add support for using other clients such as RuneLite (at a later date).


      This change was necessary to allow us to use Java 8 syntax. It also paves the way for Java 9/10/11 support.
      • 40 replies
    • This update will:

      Fix the RSMenuNode bug which also fixes the bug with bank opening


      Fix the incorrect object positions bug


      Fix and re-enable the LG Objects API Accelerator


      Fix the RSObject#getAllTiles bug
      • 22 replies
    • Try our development release by checking "Development Release" on the TRiBot Loader. Note that these new features are currently in beta.

      This release features:

      Re-sizable mode support for both LG and the regular client


      Slightly improved login bot


      Removed final access modifiers from API classes


      Added RSServer hook wrapper to get the client's cached list of server/world info


      [NEW] Bug fix for intelligent banking


      [NEW] Improvement to the stability of LG over time


      [NEW] Vastly improved the reliability and speed of Screen#getColorAt on both LG and the regular client


      [NEW] Fix LG login problems


      [NEW] Fixed re-sizable mode container bug


      [NEW] Fixed re-sizable mode mouse bug


      [NEW] Use of public constants in the Banking API


      [NEW] Use of other various constants such as Projection#NULL_PT and Screen#EMPTY_COLOR



      More features to come very soon!

      Please test it and let us know here if there are any new bugs introduced in this release.
      • 12 replies
  • Recently Browsing   0 members

    No registered users viewing this page.

×