import java.aw*****lor;
import java.awt.Graphics;
import java.awt.Rectangle;
import javax.swing.JOptionPane;
import bergCoder.BergUtils;
public class xProFisher extends ColorScript implements AutoPaint, ChatListener {
public xProFisher(ColorBot c) {
super(c);
}
BergUtils util = new BergUtils(this);
// Information
public static String author = "durenir";
public static String description = "All in one fisher";
public static double version = 2.1;
public static String option = "";
// Tiles and zones
AryanTileZone CrayFishSpot = new AryanTileZone (new AryanTile(3258,3203), (new AryanTile(3255, 3208)));
AryanTileZone NettingSpot = new AryanTileZone (new AryanTile(3090, 3227), (new AryanTile(3086, 3230)));
AryanTileZone Edgeville = new AryanTileZone (new AryanTile(3107, 3434), (new AryanTile(3109, 3432)));
AryanTileZone Island = new AryanTileZone (new AryanTile(2924, 3175), (new AryanTile(2925, 3180)));
AryanTileZone FishingZone;
AryanTileZone LumbridgeBank = new AryanTileZone (new AryanTile(203208, 203217), (new AryanTile(203210, 203220)));
AryanTileZone EdgevilleBank = new AryanTileZone (new AryanTile(3094, 3495), (new AryanTile(3092, 3489)));
AryanTileZone DraynorBank = new AryanTileZone (new AryanTile(3092,3241), (new AryanTile(3095, 3246)));
AryanTileZone BankZone;
// Stings and INTs
String Status;
String Type;
String TypeofFishing;
public int LvlsGained = 0;
public int CurrentLvl;
public int Fished = 0;
public int Drops = 0;
public int banked = 0;
public boolean start = false;
int failed;
int antiBanInt;
int statRandom;
int tabRandom;
int mouseX;
int mouseY;
boolean doIt;
public boolean CrayFish = false;
public boolean SmallNet = false;
public boolean BaitFish = false;
public boolean FlyFish = false;
public boolean Cage = false;
public boolean Harpoon = false;
public boolean Bank = false;
public boolean Power = false;
private boolean antiS;
int ShiftSouth(int p, int distance) {
return (p + distance);
}
int ShiftEast(int p, int distance) {
return (p + distance);
}
//Timer
public Timer timeran = new Timer(0);
//Hea***uster
Hea***uster IslandHeat = new Hea***uster(
this,
"j*e*2*0*0*e6xjv056gyygs4n6xzev90p96y9s0^10*10nwob 3ddpub157l7kyuuwjyw1eqrk^10*10nwob3ddpub157l7kyuuw jyw1eqrk^10*");
//Item conditions
public ItemCondition CrayfishCage = new ItemContainsAny(new String[] { "Crayfish cage" });
public ItemCondition SmallFishingNet = new ItemContainsAny(new String[] { "Small fishing net" });
public ItemCondition FishingRod = new ItemContainsAny(new String[] { "Fishing rod" });
public ItemCondition FlyFishingRod = new ItemContainsAny(new String[] { "Fly fishing rod" });
public ItemCondition LobsterPot = new ItemContainsAny(new String[] { "Lobster pot" });
public ItemCondition Harpoons = new ItemContainsAny(new String[] { "Harpoon" });
ItemCondition Item;
public ItemCondition FishingBait = new ItemContainsAny(new String[] { "Fishing bait" });
public ItemCondition Feather = new ItemContainsAny(new String[] { "Feather" });
ItemCondition Stacks;
public void script() throws InterruptedException {
this.stopRandom("PublicChatOff");
option = JOptionPane.showInputDialog(null,
"What are we going to fish? (CrayFish/SmallNet/BaitFish/FlyFish/Cage/Harpoon",
JOptionPane.QUESTION_MESSAGE);
if (option.contains("ray")) {
TypeofFishing = "CrayFish";
CrayFish = true;
FishingZone = CrayFishSpot;
BankZone = LumbridgeBank;
Item = CrayfishCage;
}
if (option.contains("mall")) {
TypeofFishing = "SmallNet";
SmallNet = true;
FishingZone = NettingSpot;
BankZone = NettingSpot;
Item = SmallFishingNet;
}
if (option.contains("ait")) {
TypeofFishing = "BaitFish";
BaitFish = true;
FishingZone = Edgeville;
BankZone = EdgevilleBank;
Item = FishingRod;
Stacks = FishingBait;
}
if (option.contains("ly")) {
TypeofFishing = "FlyFish";
FlyFish = true;
FishingZone = Edgeville;
BankZone = EdgevilleBank;
Item = FlyFishingRod;
Stacks = Feather;
}
if (option.contains("age")) {
TypeofFishing = "Cage";
Cage = true;
FishingZone = Island;
BankZone = DraynorBank;
Item = LobsterPot;
}
if (option.contains("arpoon")) {
TypeofFishing = "Harpoon";
Harpoon = true;
FishingZone = Island;
BankZone = DraynorBank;
Item = Harpoons;
}
option = JOptionPane.showInputDialog(null,
"Power or Bank? (Power/Bank", JOptionPane.QUESTION_MESSAGE);
if (option.contains("ower")) {
Type = "power fished";
Power = true;
}
if (option.contains("ank")) {
Type = "banked";
Bank = true;
}
log("Setting up the script");
log("Please Post Progress Reports");
Status = "setting up the script";
BradAnti.start();
antiS = false;
theCamera.setCameraUp();
util.setRetaliate(false);
CurrentLvl = theTabs.Statistics
.getStatBottom(StatisticsTab.STAT_FISHING);
while (true) {
util.setFastRun(true);
EquipmentCheck();
}
}
public void EquipmentCheck() throws InterruptedException {
log("Checking for Equipment");
Status = "checking for Equipment";
if (CrayFish) {
if(theTabs.Inventory.count(Item) >=1) {
WalkToFish();
} else {
log("We dont have our equipment so were getting more");
WalkToBank();
}
}
if (SmallNet) {
if(theTabs.Inventory.count(Item) >=1) {
WalkToFish();
} else {
log("We dont have our equipment so were getting more");
WalkToBank();
}
}
if (BaitFish) {
if(theTabs.Inventory.count(Item) >=1 && theTabs.Inventory.countStackOf(Stacks) >=5) {
WalkToFish();
} else {
log("We dont have our equipment so were getting more");
WalkToBank();
}
}
if (FlyFish) {
if(theTabs.Inventory.count(Item) >=1 && theTabs.Inventory.countStackOf(Stacks) >=5) {
WalkToFish();
} else {
log("We dont have our equipment so were getting more");
WalkToBank();
}
}
if (Cage) {
if(theTabs.Inventory.count(Item) >=1) {
WalkToFish();
} else {
log("We dont have our equipment so were getting more");
WalkToBank();
}
}
if (Harpoon) {
if(theTabs.Inventory.count(Item) >=1) {
theBank.exit();
WalkToFish();
} else {
log("We dont have our equipment so were getting more");
WalkToBank();
}
}
}
public void WalkToBank() throws InterruptedException {
Status = "walking to the bank";
log("Walking to the bank");
theWorldMap.walkTo(BankZone.random());
int randomcheck = random(1, 10);
if (randomcheck == 5) {
CurrentLvl = theTabs.Statistics
.getStatBottom(StatisticsTab.STAT_FISHING);
}
doBank();
}
public void doBank() throws InterruptedException {
Status = "banking";
log("Banking");
banked += 1;
theBank.open();
sleep(random(500, 1000));
theBank.doDepositAll(new ItemContainsIgnore(new String[] { "Crayfish cage", "Small fishing net", "Fishing rod", "Fishing bait", "Fly fishing rod", "Feather", "Cage", "Harpoon" }));
if (CrayFish) {
if(theTabs.Inventory.count(Item) >=1) {
theBank.exit();
WalkToFish();
} else if (theBank.count(Item) == 0 && theTabs.Inventory.count(Item) == 0) {
log("Out of equipment. logging off");
logOff();
}else{
theBank.doWithDraw1(Item, true);
WalkToFish();
}
}
if (SmallNet) {
if(theTabs.Inventory.count(Item) >=1) {
theBank.exit();
WalkToFish();
} else if (theBank.count(Item) == 0 && theTabs.Inventory.count(Item) == 0) {
log("Out of equipment. logging off");
logOff();
} else {
theBank.doWithDraw1(Item, true);
WalkToFish();
}
}
if (BaitFish) {
if(theTabs.Inventory.count(Item) >=1 && theTabs.Inventory.countStackOf(Stacks) >=5) {
theBank.exit();
WalkToFish();
} else if (theBank.count(Item) == 0 && theTabs.Inventory.count(Item) == 0) {
log("Out of equipment. logging off");
logOff();
} else if (theTabs.Inventory.count(Item) == 0) {
theBank.doWithDraw1(Item, true);
} else if (theTabs.Inventory.countStackOf(Stacks) >=5) {
theBank.doWithDrawAll(Stacks, true);
}
WalkToFish();
}
if (FlyFish == true) {
if(theTabs.Inventory.count(Item) >=1 && theTabs.Inventory.countStackOf(Stacks) >=5) {
theBank.exit();
WalkToFish();
} else if (theBank.count(Item) == 0 && theTabs.Inventory.count(Item) == 0) {
log("Out of equipment. logging off");
logOff();
} else if (theTabs.Inventory.count(Item) == 0) {
theBank.doWithDraw1(Item, true);
} else if (theTabs.Inventory.countStackOf(Stacks) >=5) {
theBank.doWithDrawAll(Stacks, true);
}
WalkToFish();
}
if (Cage) {
if(theTabs.Inventory.count(Item) >=1) {
theBank.exit();
WalkToFish();
} else if (theBank.count(Item) == 0 && theTabs.Inventory.count(Item) == 0) {
log("Out of equipment. logging off");
logOff();
} else {
theBank.doWithDraw1(Item, true);
WalkToFish();
}
}
if (Harpoon) {
if(theTabs.Inventory.count(Item) >=1) {
theBank.exit();
WalkToFish();
} else if (theBank.count(Item) == 0 && theTabs.Inventory.count(Item) == 0) {
log("Out of equipment. logging off");
logOff();
} else {
theBank.doWithDraw1(Item, true);
WalkToFish();
}
}
}
public void WalkToFish() throws InterruptedException {
log("Walking to Fishing Spot");
Status = "walking to Fishing Spot";
theWorldMap.walkTo(FishingZone.random());
sleep(500);
FishSpot();
}
public void FishSpot() throws InterruptedException {
if(theTabs.Inventory.isFull() && getAnimation() == -1) {
antiS= false;
InventorysFull();
}
if (EquipmentChecking() == false) {
WalkToBank();
}
if (CrayFish) {
while (getAnimation() == -1) {
util.clickNPCByName(new String[] {"Fishing Spot"}, null, "Cage");
}
log("Fishing");
Status = "fishing";
while (!theTabs.Inventory.isFull()) {
sleep(1000);
}
FishSpot();
}
if (SmallNet) {
while (getAnimation() == -1) {
util.clickNPCByName(new String[] {"Fishing Spot"}, null, "Net");
}
log("Fishing");
Status = "fishing";
while (!theTabs.Inventory.isFull()) {
sleep(1000);
}
FishSpot();
}
if (BaitFish) {
while (getAnimation() == -1) {
util.clickNPCByName(new String[] {"Fishing Spot"}, null, "Bait");
}
log("Fishing");
Status = "fishing";
while (!theTabs.Inventory.isFull()) {
sleep(1000);
}
FishSpot();
}
if (FlyFish) {
while (getAnimation() == -1) {
util.clickNPCByName(new String[] {"Fishing Spot"}, null, "Lure");
}
log("Fishing");
Status = "fishing";
while (!theTabs.Inventory.isFull()) {
sleep(1000);
}
FishSpot();
}
if (Cage) {
while (getAnimation() == -1) {
IslandHeat.doTopTextAndMenu("Cage", "Cage");
}
log("Fishing");
Status = "fishing";
while (!theTabs.Inventory.isFull()) {
sleep(1000);
}
FishSpot();
}
if (Harpoon) {
while (getAnimation() == -1) {
IslandHeat.doTopTextAndMenu("Harpoon", "Harpoon");
}
log("Fishing");
Status = "fishing";
while (!theTabs.Inventory.isFull()) {
sleep(1000);
}
FishSpot();
}
}
// Power or Banking?
public void InventorysFull() throws InterruptedException {
if (Power == true) {
log("Droping fish");
Status = "droping fish";
Fished += (theTabs.Inventory.count("aw") * 1);
theTabs.Inventory.doActionOnAll(new ItemContainsIgnore(new String[] { "Crayfish cage", "Small fishing net", "Fishing rod", "Fishing bait", "Fly fishing rod", "Feather", "Lobster pot", "Harpoon" }), "drop", true);
Drops +=1;
Fished += (theTabs.Inventory.count("aw") * 1);
FishSpot();
}
if (Bank == true) {
log("bsnkinh fish");
Status = "banking fish";
WalkToBank();
}
}
public boolean EquipmentChecking() throws InterruptedException {
if (CrayFish) {
if(theTabs.Inventory.count(Item) >=1) {
return true;
}else{
return false;
}
}
if (SmallNet) {
if(theTabs.Inventory.count(Item) >=1) {
return true;
}else{
return false;
}
}
if (BaitFish) {
if(theTabs.Inventory.count(Item) >=1 && theTabs.Inventory.countStackOf(Stacks) >=5) {
return true;
}else{
return false;
}
}
if (FlyFish == true) {
if(theTabs.Inventory.count(Item) >=1 && theTabs.Inventory.countStackOf(Stacks) >=5) {
return true;
}else{
return false;
}
}
if (Cage == true) {
if(theTabs.Inventory.count(Item) >=1) {
return true;
}else{
return false;
}
}
if (Harpoon == true) {
if(theTabs.Inventory.count(Item) >=1) {
return true;
}else{
return false;
}
}
return true;
}
// Log Off
public void logOff() throws InterruptedException {
theBank.exit();
BradAnti.destroy();
stopAllRandoms();
mouseClickLeft(new Rectangle(742, 2, 17, 16));
sleep(random(1000, 3000));
mouseClickLeft(new Rectangle(578, 366, 126, 19));
shutDown();
}
public void chat(String chat) throws InterruptedException {
if (cha*****ntains("You've just advanced")) {
CurrentLvl = theTabs.Statistics
.getStatBottom(StatisticsTab.STAT_FISHING);
LvlsGained =+1;
}
if (cha*****ntains("dead")) {
sleep(random(4000, 6000));
WalkToBank();
}
if (cha*****ntains("strange place")) {
sleep(random(4000, 6000));
WalkToBank();
}
}
Thread BradAnti = new Thread() {
public void run() {
setName("Brad Anti-Ban Thread");
setPriority(1);
log("AntiBan Thread started");
Timer AntiBanTimer = new Timer(random(90000, 190000));
while (true) {
try {
if (AntiBanTimer.isUp()) {
int CaveSwitch = random(1, 6);
switch (CaveSwitch) {
case 1:
theCompass.randomRotate();
log("[Anti-Ban] Random compass rotation");
sleep(random(800, 900));
break;
case 2:
mouseMove(Areas.ENTIRE);
log("[Anti-Ban] Mouse movement");
log("Mouse was moved to " + getCurrentMouseXY());
sleep(random(800, 900));
break;
case 3:
TabSkelton();
log("[Anti-Ban] Tabs");
sleep(random(800, 900));
break;
case 4:
mouseClickRight(Areas.GAME);
log("[Anti-Ban] Random Right Click");
int r = random(1, 5);
{
if (r == 2) {
theMenuFinder.doMenu("here");
} else if (r == 3) {
theMenuFinder.doMenu("ancel");
} else {
log("Leaving the right click along");
}
}
sleep(random(800, 900));
break;
case 5:
theCompass.random();
log("[Anti-Ban] Random Compass rotation");
sleep(random(800, 900));
break;
case 6:
theCompass.randomRotate();
log("[Anti-Ban] Random Compass rotation");
break;
case 7:
theCompass.randomRotate();
log("[Anti-Ban] Random compass rotation");
break;
case 8:
mouseMove(Areas.GAME);
if (theTopText.isTopTextContaining("level")) {
mouseClickRight(getCurrentMouseXY());
log("We found a player or an NPC. Right clicked");
}
log("[Anti-Ban] Mouse Movement. Mouse was moved to: "
+ getCurrentMouseXY());
}
AntiBanTimer.reset();
}
sleep(random(300, 2000));
} catch (InterruptedException e) {
info("Thread stopped");
break;
}
}
}
};
public void TabSkelton() throws InterruptedException {
impsoft.scripting.ibot.builtin.tabs.TabSkelton[] tabs = {
theTabs.Attack, theTabs.Friends, theTabs.Equipment,
theTabs.Controls, theTabs.Music, theTabs.Prayer,
theTabs.Ignore, theTabs.Options, theTabs.Magic, theTabs.Quest,
theTabs.Statistics, theTabs.Inventory };
int BradRandom = random(0, 11);
int BradRandom2 = random(0, 10);
if (BradRandom <= 5) {
tabs[BradRandom].setSelected();
} else {
tabs[BradRandom2].click();
}
}
public void paint(Graphics g) {
StringBuilder b = new StringBuilder();
long runtime = timeran.timePassed();
long TotalSecs = runtime / 1000;
long TotalMins = TotalSecs / 60;
long ******ours = TotalMins / 60;
int seconds = (int) TotalSecs % 60;
int minutes = (int) TotalMins % 60;
int hours = (int) ******ours % 60;
if (hours < 10)
b.append("0");
b.append(hours);
b.append(" : ");
if (minutes < 10)
b.append("0");
b.append(minutes);
b.append(" : ");
if (seconds < 10)
b.append("0");
b.append(seconds);
g.setColor(new Color(0, 0, 0, 120));
g.fillRoundRect(7,25,200, 40, 10, 10);
g.fillRoundRect(7,75,200, 115, 10, 10);
g.setColor(new Color(0, 0, 0, 200));
g.drawRoundRect(7,25,200, 40, 10, 10);
g.drawRoundRect(7,75,200, 115, 10, 10);
g.setColor(Color.RED);
g.drawString("xProFisher - by xScripts", ShiftEast(30, 2), ShiftSouth(50, 2));
g.setColor(Color.WHITE);
g.drawString("xProFisher - by xScripts", 30, 50);
g.setColor(Color.RED);
g.drawString("Ran For " + String.valueOf(b.toString()),ShiftEast(30, 2), ShiftSouth(175, 2));
g.setColor(Color.WHITE);
g.drawString("Ran For " + String.valueOf(b.toString()), 30, 175);
g.setColor(Color.RED);
g.drawString("You have " + Type + " " + Fished + " fish" , ShiftEast(30, 2), ShiftSouth(115,2));
g.setColor(Color.WHITE);
g.drawString("You have " + Type + " " + Fished + " fish" , 30, 115);
g.setColor(Color.RED);
g.drawString("We are " + Status, ShiftEast(30, 2), ShiftSouth(100, 2));
g.setColor(Color.WHITE);
g.drawString("We are " + Status, 30, 100);
g.setColor(Color.RED);
g.drawString("Current Fishing Level is " + CurrentLvl, ShiftEast(30,2), ShiftSouth(130, 2));
g.setColor(Color.WHITE);
g.drawString("Current Fishing Level is " + CurrentLvl, 30, 130);
g.setColor(Color.RED);
g.drawString("You have gained " + LvlsGained + " levels", ShiftEast(30,2), ShiftSouth(145, 2));
g.setColor(Color.WHITE);
g.drawString("You have gained " + LvlsGained + " levels", 30, 145);
g.setColor(Color.RED);
g.drawString("Type of fishing: " + TypeofFishing, ShiftEast(30, 2), ShiftSouth(160,2));
g.setColor(Color.WHITE);
g.drawString("Type of fishing: " + TypeofFishing, 30, 160);
}
}