• Log in or sign up for an account here: https://www.sythe.org/login

rsbot karamja fishing!!

Status
Not open for further replies.

coleston

Active Member
Joined
Nov 24, 2008
Sythe Gold
0
Messages
172
Location
Canada :D
the karamja fishing script that came with rs bot gets stuck on the boat on the way to the bank! im too dumb to know to to fix it, and i found threads claiming they fixed it but when i go to compile i get anywhere from 6 to 12 errors with all the so called fixed ones i have found! am i compiling wrong or what? if someone has a working karamja script already compiled. you will be forever loved!:love:
 
I'm not sure about a karamja fisher that comes preloaded on rsbot but if you're talking about linux-communist's KaramjaFisher then I know what you mean. I too was trying to use that script and on its walking path back to draynor bank my character got stuck on the boat and didn't exit via the plank. I'm not aware of any other f2p lobster/swordfish fisher either.
 
i got a auto bot i can give anyone
 
When i try to 'compile all' with the KaramjaFisher.java in script folder this happens. It can't compile it?

x5we4h.jpg
 
Yup, that compile error has been going around on all the new RSBot forums Code tags. It's just HTML errors; quotes when there need to be apostrophes, etc.

Try this code, and add me on MSN.
PHP:
/*
 *             KaramjaFisher.java
 *                      v.1.8
 *	    By Linux_Communist
 *   Fixed by veejay, samyyy123, mrz.
 *	        www.chemfy.fi
 *	     First release 26.03.08
 *
 * Features:
 * -Can bank or power
 * -Can catch lobsters, tuna, swordfish.
 * -Anti whirlpool, random combat, losing tools, logout
 * -Deathwalk
 *
 *
 * With harpoon argument it fishes tuna and swordfish.
 * With tuna/swordfish argument it fishes for tuna and swordfish but
 * drops the other fish.
 *
 * Updates:
 * Karamja Fisher 1.3
 * - Removed bugs
 * - Put working bank
 *
 * Karamja Fisher 1.4
 * - The script text box is now in a better place with a frame
 * - Added text "Holding ** fishes"
 *
 * Karamja Fisher 1.5
 * - Calculator till next lvl.
 * - "exp" will be changed to "XP".
 * - "Banked *** lobster"/swordfish/etc will be added "s".
 * - In credits will be added a dot.
 *
 * Karamja Fisher 1.6
 * - Removed warnings
 * - "sworfishes" were renamed to "swordfishes"
 * - Doesn't click anymore on papermap
 * - Withdrawing 60 gp, if inventory has less money than 60 gp. NOTE: CASH SHOULD BE IN 1st SLOT!  Cash tab should be already opened!   And fishes should be in the cash tab.
 *
 * Karamja Fisher 1.7
 * - Added more custom's officers
 * - Fixed clicking / answering for custom's officer's questions
 * - Won't wait 5-7 seconds after clicking on "Pay-Fare". It will wait 1-2 seconds.
 * - Now script can withdraw anything, so cash can be anywhere.
 *
 * Karamja Fisher 1.8
 * - Fixed withdraw/deposit of tools - by fusion89k
 * - Fixed tuna dropping in swordie fishing method - by fusion89k
 *
 */


import java.awt.*;
import java.util.Map;

import com.speljohan.rsbot.bot.Bot;
import com.speljohan.rsbot.script.Script;
import com.speljohan.rsbot.script.wrappers.*;
import com.speljohan.rsbot.event.listeners.PaintListener;
import java.awt.event.KeyEvent;


public class KaramjaFisher extends Script implements PaintListener {

	private static final Color BLACK = new Color(0, 0, 0, 100);
	public static final Color GREEN = new Color(0, 255, 0, 255);
	private static final Color ORANGE = new Color(255, 128, 0, 255);

	public boolean interfaceExists(int id) {
		boolean[] vi = Bot.getClient().getValidInterfaceArray();
		if (vi == null) {
			return false;
		}
		if (!(id < vi.length)) {
			return false;
		}
		return vi[id];
	}
public void turnCamera() { 
		char[] LR = new char[] { KeyEvent.VK_LEFT, KeyEvent.VK_RIGHT };
		char[] UD = new char[] { KeyEvent.VK_UP, KeyEvent.VK_DOWN };
		char[] LRUD = new char[] { KeyEvent.VK_LEFT, KeyEvent.VK_RIGHT,
				KeyEvent.VK_UP, KeyEvent.VK_DOWN };
		int random2 = random(0, 2);
		int random1 = random(0, 2);
		int random4 = random(0, 4);

		if (random(0, 3) == 0) {
			Bot.getInputManager().pressKey(LR[random1]);
			try {
				Thread.sleep(random(100, 400));
			} catch (Exception e) {
			}
			Bot.getInputManager().pressKey(UD[random2]);
			try {
				Thread.sleep(random(300, 600));
			} catch (Exception e) {
			}
			Bot.getInputManager().releaseKey(UD[random2]);
			try {
				Thread.sleep(random(100, 400));
			} catch (Exception e) {
			}
			Bot.getInputManager().releaseKey(LR[random1]);
		} else {
			Bot.getInputManager().pressKey(LRUD[random4]);
			if (random4 > 1)
				try {
					Thread.sleep(random(300, 600));
				} catch (Exception e) {
				}
			else
				try {
					Thread.sleep(random(500, 900));
				} catch (Exception e) {
				}
			Bot.getInputManager().releaseKey(LRUD[random4]);
		}
	}

	public void onRepaint(Graphics g)
	{
		if(isLoggedIn()) {
			long millis = System.currentTimeMillis() - startTime;
			long hours = millis / (1000 * 60 * 60);
			millis -= hours * (1000 * 60 * 60);
			long minutes = millis / (1000 * 60);
			millis -= minutes * (1000 * 60);
			long seconds = millis / 1000;
			int XPChange = skills.getCurrentSkillExp(10) - startXP;
			int LevelChange = skills.getCurrentSkillLevel(10) - startLevel;

			int x = 18;
			int y = 108;
			g.setColor(BLACK);
			g.fill3DRect(14, 108, 219, 214, true);
			g.setColor(GREEN);
				g.drawString(getName() + " " + getVersion(), x, y += 15);
				g.drawString("by " + getAuthor() + ", fixed by", x, y += 15);
				g.drawString(getFixers() + ".", x, y += 15);
			g.setColor(ORANGE);
			if(fishHarpoon && dropTuna)
				g.drawString("Banked " + Integer.toString(swordfishBanked) + " swordfishes.", x, y += 20);
			else if(fishHarpoon && !dropTuna && !dropSwordfish)
				g.drawString("Banked " + Integer.toString(swordfishBanked) + " swordfishes and " + Integer.toString(tunaBanked) + " tunas.", x, y += 20);
			else if(fishHarpoon && dropSwordfish)
				g.drawString("Banked " + Integer.toString(tunaBanked) + " tunas.", x, y += 20);
			else if(!fishHarpoon)
				g.drawString("Banked " + Integer.toString(lobsterBanked) + " lobsters.", x, y += 20);
				g.drawString("Runtime: " + hours + "h " + minutes + "min " + seconds + "sec.", x, y += 20);
				g.drawString("Current: " + skills.getCurrentSkillLevel(10) + " levels and " + skills.getCurrentSkillExp(10) + " XP.", x, y += 20);
				g.drawString("Gained: " + LevelChange + " levels and " + XPChange + " XP.", x, y += 20);
				g.drawString("We're " + skills.getPercentToNextLevel(10) + "% to next level, which now", x, y += 20);
				g.drawString("needs " + skills.getXPToNextLevel(10) + " XP.", x, y += 20);
			if(fishHarpoon && dropTuna)
				g.drawString("Next level needs " + skills.getXPToNextLevel(10) / 100 + " swordfishes.", x, y += 20);
			else if(fishHarpoon && !dropTuna && !dropSwordfish)
				g.drawString("Next level needs " + skills.getXPToNextLevel(10) / 90 + " both fishes.", x, y += 20);
			else if(fishHarpoon && dropSwordfish)
				g.drawString("Next level needs " + skills.getXPToNextLevel(10) / 80 + " tunas.", x, y += 20);
			else if(!fishHarpoon)
				g.drawString("Next level needs " + skills.getXPToNextLevel(10) / 90 + " lobsters.", x, y += 20);
			if(fishHarpoon && dropTuna)
				g.drawString("Holding " + getInventoryCount(swordfishID) + " swordfishes.", x, y += 20);
			else if(fishHarpoon && !dropTuna && !dropSwordfish)
				g.drawString("Holding " + getInventoryCount(swordfishID) + " swordfishes and " + getInventoryCount(tunaID) + " tunas.", x, y += 20);
			else if(fishHarpoon && dropSwordfish)
				g.drawString("Holding " + getInventoryCount(tunaID) + " tunas.", x, y += 20);
			else if(!fishHarpoon)
				g.drawString("Holding " + getInventoryCount(lobsterID) + " lobsters.", x, y += 20);

		}
    	}

		public static final int lobsterID = 377;
		public static final int tunaID = 359;
		public static final int swordfishID = 371;


	// Deathpath
	private static final RSTile[] DEATH_PATH = {
						     new RSTile(3232, 3219), new RSTile(3233, 3227),
						     new RSTile(3228, 3234), new RSTile(3220, 3237),
							 new RSTile(3212, 3237), new RSTile(3204, 3238),
							 new RSTile(3196, 3240), new RSTile(3188, 3242),
							 new RSTile(3180, 3243), new RSTile(3172, 3241),
							 new RSTile(3164, 3241), new RSTile(3156, 3239),
							 new RSTile(3148, 3237), new RSTile(3140, 3235),
							 new RSTile(3135, 3229), new RSTile(3126, 3227),
							 new RSTile(3118, 3228), new RSTile(3109, 3231),
							 new RSTile(3097, 3232), new RSTile(3087, 3230)  };

	public static final RSTile[] bankPath = new RSTile[] { new RSTile(3095, 3241), new RSTile(3089, 3247), new RSTile(3081, 3246),
							new RSTile(3073, 3249), new RSTile(3073, 3257), new RSTile(3073, 3265),
							new RSTile(3073, 3273), new RSTile(3065, 3275), new RSTile(3061, 3268),
							new RSTile(3059, 3260), new RSTile(3053, 3254), new RSTile(3045, 3253),
							new RSTile(3042, 3245), new RSTile(3041, 3237), new RSTile(3033, 3237),
							new RSTile(3028, 3230), new RSTile(3028, 3222), new RSTile(3027, 3218) };

	public static final RSTile[] karamjaPath = new RSTile[] { new RSTile(2924, 3177), new RSTile(2926, 3169),
						new RSTile(2920, 3163), new RSTile(2917, 3155), new RSTile(2925, 3153),
						new RSTile(2933, 3150), new RSTile(2942, 3146), new RSTile(2952, 3146) };

	public RSTile[] shipToBank = reversePath(bankPath);
	public RSTile[] shipToKaramja = reversePath(karamjaPath);
	//Fishing spot id
	public static final int[] fishingSpots = new int[] { 324 };

	public static final int lobsterPotID = 301;
	public static final int harpoonID = 311;
	public static final int coinsID = 995;
	// Getting time so we can check if we have been idle for awhile
	public long time = System.currentTimeMillis();
	// Items to drop when using power fishing and inventory is full
	public static final int[] dropThis = new int[] { 377, 359, 371 };

	public static final int[] bankWindows = new int[] { 2213 };

	public static final int[] BankCustoms = new int[] { 377, 376, 378 }; // All custom officers in port sarim, with them you can get to Karamja
	public static final int[] KaramjaCustoms = new int[] { 380 }; // All custom officers in karamja port, with them you can get to Port Sarim
	// Banks tile

	public boolean powerFish, fishHarpoon, dropTuna, dropSwordfish;

	public int startLevel = 0;
	public int startXP = 0;

	public int tunaBanked = 0;
	public int lobsterBanked = 0;
	public int swordfishBanked = 0;
	int tunaCount = 0;
	int lobsterCount = 0;
	int swordfishCount = 0;
	public long startTime = System.currentTimeMillis();

	int progress = 0;
	boolean walking = false;
	int randomTime = 0;
	boolean weAreOnKaramja = true;
	boolean sailinggp = false;

    public double getVersion() {
        return 1.8;
    }

    public String getName() {
        return "Karamja Fisher";
    }

	public String getScriptCategory() {
		return "Fishing";
	}


    public String getAuthor() {
        return "Linux_Communist";
    }

    public String getFixers() {
        return "veejay, samyyy123, mrz";
    }


    public boolean onStart(Map<String, String> args) {

		switch(doWeHarpoon(args.get("what")))
		{
			case 1:	fishHarpoon = true;
				dropTuna = false;
				dropSwordfish = false;
				break;
			case 2: fishHarpoon = false;
				dropTuna = false;
				dropSwordfish = false;
				break;
			case 3: dropSwordfish = false;
				fishHarpoon = true;
				dropTuna = true;
				break;
			case 4: dropTuna = false;
				fishHarpoon = true;
				dropSwordfish = true;
				break;
			case 0: return false;
		}
		if(args.get("how").equals("power"))
			powerFish = true;
		else
			powerFish = false;

		if (args.get("sailingmoney").equals("take"))
			sailinggp = true;
		else sailinggp = false;

		lobsterBanked = 0;
		tunaBanked = 0;
		swordfishBanked = 0;
		startTime = System.currentTimeMillis();
		if(isLoggedIn()){
			startLevel = skills.getCurrentSkillLevel(10);
			startXP = skills.getCurrentSkillExp(10);
		}
		Bot.getEventManager().addListener(PaintListener.class, this);
		return true;
	}

	public void onFinish() {
		Bot.getEventManager().removeListener(PaintListener.class, this);
	}


    public int loop() {
    	if(isLoggedIn() && startLevel == 0)
	{
		startLevel = skills.getCurrentSkillLevel(10);
		startXP = skills.getCurrentSkillExp(10);
	}

	switch(progress)
	{
		case 0: //Fishing part
				if(distanceTo(bankPath[0]) < 15) {
					log("We are at the bank");
					turnCamera();
					weAreOnKaramja = false;
					progress = 2;
					return random(1000,2000);
				}

				if (!walking && dead()) // check if we are dead and not deathwalking
				{
					log("Dead");
					walking = true;
					setRun(true);
					return random(500, 1000);
				}
				if(walking) // Does deathwalk
				{
					if(!getMyPlayer().isMoving())
						doDeathWalk();
					return random(500, 1000);
				}

				if (isInventoryFull() && !powerFish){ //If we bank and have inv full moves to next progress

					if(dropTuna)
						dropAllExcept(harpoonID,coinsID,swordfishID);
					if(dropSwordfish)
						dropAllExcept(harpoonID,coinsID,tunaID);
					if(isInventoryFull())
					{
						progress++;
						setRun(true);
						return random(1000,1500);
					}
					return random(500,1000);
				} else if(isInventoryFull() && powerFish) // If we power and have inv full drops fish
				{
					dropFish();
				}

				if(getMyPlayer().isInCombat()) // If we are in combat runs away
				{
					runAway();
					return random (400,700);
				}

				if(System.currentTimeMillis() - time < 30000+randomTime || getNearestNPCByID(405) != null)
				{
					if (getMyPlayer().getAnimation() == 618 || getMyPlayer().getAnimation() == 619 || getMyPlayer().isMoving())
					{
						return random(350,500);
					}
				}
				if(fishHarpoon)
				{
					if(!inventoryContains(harpoonID))
					{
						if(getGroundItemByID(15, harpoonID) != null) {
							RSItemTile item = getGroundItemByID(15, harpoonID);

							if(item != null && !getMyPlayer().isMoving()) {
								if(distanceTo(item) > 8) {
									walkTileMM(item);
									return random(1000,2000);
								}

								atTile(item, "Take");
								return random(500, 1000);

							} else
								return random(500, 1000);
						} else {
							progress++;
							return random(300,500);
						}
					}

				} else if(!fishHarpoon)
				{
					if(!inventoryContains(lobsterPotID))
					{
						if(getGroundItemByID(15, lobsterPotID) != null) {
							RSItemTile item = getGroundItemByID(15, lobsterPotID);

							if(item != null && !getMyPlayer().isMoving()) {
								if(distanceTo(item) > 8) {
									walkTileMM(item);
									return random(1000,2000);
								}

								atTile(item, "Take");
								return random(500, 1000);

							} else
								return random(500,1000);
						} else {
							progress++;
							return random(300,500);
						}
					}
				}
				fish(); // Lets fish
				randomTime = random(1000,20000); // Gets some random for the timer
				time = System.currentTimeMillis(); // resets timer
				return random(2000,3000);
		case 1:

				return walkToBank();
		case 2:
				weAreOnKaramja = false;
				RSObject bankWindow = findObject(bankWindows);
				turnCamera();
				if(distanceTo(bankWindow.getLocation()) > 5)
				{
					walkTileMM(bankWindow.getLocation());
					return random(500,750);
				}
				if(!interfaceExists(INTERFACE_BANK))
				{
					atObject(bankWindow,"Use-quickly");
					return random(1500,1750);
				}

				if(lobsterCount == 0)
					lobsterCount = getInventoryCount(377);
				if(tunaCount == 0)
					tunaCount = getInventoryCount(359);
				if(swordfishCount == 0)
					swordfishCount = getInventoryCount(371);

				if(fishHarpoon){
				turnCamera();
					bank.depositAllExcept(harpoonID, coinsID);}
				if(!fishHarpoon){
				turnCamera();
					bank.depositAllExcept(lobsterPotID, coinsID);}

				if (sailinggp == true) { // If arguments said that we have to take 60gp for sailing, then we will take them
					withdraw("Coins", coinsID, 60);
				}

				checkForTool();
				if(!isInventoryFull()) { // if inventory isnt full goes to second progress

					lobsterBanked += lobsterCount;
					lobsterCount = 0;
					swordfishBanked += swordfishCount;
					swordfishCount = 0;
					tunaBanked += tunaCount;
					tunaCount = 0;

					progress++;
				}
				bank.close(); // close bank window

				return random(500,750);
		case 3:

				return walkToFishingSpot();
	}


        return random(500, 1000);

    }

	public boolean withdraw(String itemName, int itemID, int count) {
		bank.searchItem(itemName);
		wait(random(1000,2000));
		clickMouse(random(40, 60), random(100, 115), 1, 1, false);
		wait(random(250,500));
		if (count == 0) {
			atMenu("Withdraw-All");
			wait(random(200,300));
		}
		if (count == 1 || count == 5 || count == 10) {
			atMenu("Withdraw-" + count);
			wait(random(200,300));
		} else {
			atMenu("Withdraw-X");
			wait(random(800,1000));
			if(RSInterface.getInterface(INTERFACE_BANK_SEARCH).isValid()) {
				Bot.getInputManager().sendKeys("" + count, true);
				wait(random(700,800));
			}
		}
		wait(random(1000,2000));
		if (getInventoryCount(itemID) < 1) {
			log("Seems you don't have more " + itemName + ".");
			stopAllScripts();
		}
		wait(random(500,1000));
		clickMouse(random(301, 330), random(298, 317), 1, 1, true);
		wait(random(1000,2000));
		return true;
	}

	public int doWeHarpoon(String whatToFish) { // checks if argument contained n as in net or b as in bait
		if (whatToFish.contains("both"))
			return 1;
		else if (whatToFish.contains("lobster"))
			return 2;
		else if(whatToFish.contains("sword"))
			return 3;
		else if(whatToFish.contains("tuna"))
			return 4;
		else {
			log("To use this script give arguments either harpoon, tuna, lobster or swordfish for first and power or bank on second like \"harpoon,bank\"");
			return 0;
		}
	}

	public boolean dead() { // Are we dead ?

		return distanceTo(new RSTile(3232, 3219)) < 15;
	}

	public void doDeathWalk() { // doing deathwalk
		weAreOnKaramja = false;
		if (distanceTo(DEATH_PATH[DEATH_PATH.length-1]) < 10){
			walking = false;;

		} else
			walkPathMM(randomizePath(DEATH_PATH, 2, 2), 15);
	}

	public void dropFish() { // Dropping items that are set on dropThis array
		boolean drop = false;
		for(int i = 0; i < 27; i++)
		{
			for(int y = 0; y < dropThis.length; y++)
			{
				if(dropThis[y] == getInventoryItems()[i].getID()) {
					drop = true;

				}
			}
			if(drop)
			{
				atInventoryItem(getInventoryItems()[i].getID(), "Drop");
				wait(random(1000,2000));
				drop = false;
			}

		}
	}

	public void drop(int id) {
		if(inventoryContains(id))
		{
			for(int i = 0; i < 27; i++)
			{
				if(getInventoryItems()[i].getID() == id)
				{
					atInventoryItem(id, "Drop");
					if(inventoryContains(id))
						break;
				}
			}
		}
	}

	public void runAway() { // running away and running back after a while
		RSTile foo, bar;
		foo = getMyPlayer().getLocation();
		setRun(true);

		bar = new RSTile(foo.getX()-random(8,10),foo.getY()-random(8,10));

		walkTileMM(bar);
		wait(random(17000,20000));
		walkTileMM(foo);
	}


	public void fish() { // Fishing
		RSNPC spot = getNearestNPCByID(fishingSpots);
		if (spot == null || distanceTo(spot.getLocation()) > 25) {
			log("No (nearby) fishing spot. This sucks.");
		}
		else if (distanceTo(spot.getLocation()) > 4){
			walkTileMM(spot.getLocation());
		} else {
			weAreOnKaramja = true;
			if(fishHarpoon) atNPC(spot,"Harpoon");
			else if(!fishHarpoon) atNPC(spot,"Cage");
		}
	}

	public int walkToBank() {
		if (getMyPlayer().isMoving()) return random(250,500);
		if(findObject(2084) != null) {
			wait(random(6000,8000)); // Wait's 6-8 seconds till it will click on "Cross"
			if(atObject(findObject(2084), "Cross"))
			{
				weAreOnKaramja = false;
				return random(2000,3000);
			} else return random(1000,2000);
		}
		if(distanceTo(shipToBank[0]) < 8) { weAreOnKaramja = false; }
		if(weAreOnKaramja)
		{
			if(distanceTo(karamjaPath[karamjaPath.length -1]) < 8){
				if(Bot.getClient().getInterfaceCache()[64] != null) {
				clickMouse(220+random(-77,60) ,455+random(-5,2), true); // Clicks on: Click here to continue // Interface: [64] [5]
				return random(1000,2000);
				} else if(Bot.getClient().getInterfaceCache()[228] != null) {
				clickMouse(260+random(-85,87) ,403+random(-5,3), true); // Clicks on: Can I journey on this ship? // Ok. // Interface: [228] [2]
				return random(1000,2000);
				} else if(Bot.getClient().getInterfaceCache()[230] != null) {
				clickMouse(260+random(-118,116) ,420+random(-6,5), true); // Clicks on: Search away, I have nothing to hide. // Interface: [230] [3]
				return random(1000,2000);
				} else if(Bot.getClient().getInterfaceCache()[241] != null) {
				clickMouse(310+random(-70,63) ,455+random(-7,1), true); // Clicks on: Click here to continue // Interface: [241] [5]
				return random(1000,2000);
				} else if(Bot.getClient().getInterfaceCache()[242] != null) {
				clickMouse(310+random(-73,65) ,455+random(-5,2), true); // Clicks on: Click here to continue // Interface: [242] [6]
				return random(1000,2000);
				} else {
					RSNPC customs = getNearestNPCByID(KaramjaCustoms);
					if(customs != null)
					{
						atNPC(customs, "Pay-Fare");
						return random(1000,2000);
					} else {

					return random(1000,2000);
					}
				}
			}

			walkPathMM(randomizePath(karamjaPath,2,2),12);
		} else
		{
			if (distanceTo(bankPath[0]) < 8){
				progress++;
				return random(500,750);
			}
			walkPathMM(randomizePath(shipToBank,2,2) ,15);
		}
		return random(3500,4000);
	}

	public int walkToFishingSpot() {
		if (getMyPlayer().isMoving()) return random(250,500);
		if(findObject(2082) != null) {
			wait(random(6000,8000)); // Wait's 6-8 seconds till it will click on "Cross"
			if(atObject(findObject(2082), "Cross"))
			{
				weAreOnKaramja = false;
				return random(2000,3000);
			} else return random(1000,2000);
		}
		if(distanceTo(shipToKaramja[0]) < 20) weAreOnKaramja = true;
		if(!weAreOnKaramja)
		{
			if(distanceTo(bankPath[bankPath.length -1]) < 8){
				if(Bot.getClient().getInterfaceCache()[64] != null) {
				clickMouse(220+random(-77,60) ,455+random(-5,2), true); // Clicks on: Click here to continue // Interface: [64] [5]
				return random(1000,2000);
				} else if(Bot.getClient().getInterfaceCache()[228] != null) {
				clickMouse(260+random(-28,33) ,403+random(-4,5), true); // Clicks on: Yes please.            // Interface: [228] [2]
				return random(1000,2000);
				} else if(Bot.getClient().getInterfaceCache()[241] != null) {
				clickMouse(310+random(-70,63) ,455+random(-7,1), true); // Clicks on: Click here to continue // Interface: [241] [5]
				return random(1000,2000);
				} else {
					RSNPC customs = getNearestNPCByID(BankCustoms);
					if(customs != null)
					{
						atNPC(customs, "Pay-Fare");
						return random(1000,2000);
					} else return random(1000,2000);
				}

			}
			walkPathMM(randomizePath(bankPath,2,2),15);
		} else
		{
			if (distanceTo(karamjaPath[0]) < 8){
				progress = 0;
				return random(500,750);
			}
			walkPathMM(randomizePath(shipToKaramja,2,2) ,18);
		}
		return random(3500,4000);

	}

	public void checkForTool() {
		boolean tool = false;
		if(fishHarpoon)
		{
			if(inventoryContains(harpoonID))
			{
				log("Have harpoon");
				tool = true;
			}
		} else if(!fishHarpoon)
		{
			if(inventoryContains(lobsterPotID))
			{
				log("Have lobster pot");
				tool = true;
			}
		}
		if(!tool)
		{
			log("No tool, taking one");
			//for(int i = 0; i < bank.getItemArray().length; i++) {
				if(!fishHarpoon)
				{

					//if(bank.getItemArray()[i] == lobsterPotID)
					//{
						//withdraw("Coins", 995, 60);
						withdraw("Lobster pot", lobsterPotID, 1);
						//bank.atItem(lobsterPotID,"Withdraw 1");
						tool = true;
						log("Took lobster pot");
					//}
				} else if(fishHarpoon)
				{
					//if(bank.getItemArray()[i] == harpoonID)
					//{
						withdraw("Harpoon", 311, 1);
						//bank.atItem(harpoonID,"Withdraw 1");
						tool = true;
						log("Took harpoon");
					//}
				}
				//if(tool)
				//	break;
			//}
		}
	}
	public String getScriptDescription() {
		return "<html>\n" +
				"<head></head>\n" +
				"<body>\n" +
					"<center>" +
						"<h2>" + getName() + "</h2>" +
					"</center>\n" +
					"<b>Author:</b> " + getAuthor() + "<br />" +
					"<b>Fixed by:</b> " + getFixers() + "<br />" +
					"<b>Website:</b> <a href=\"http://www.chemfy.fi/\">http://www.chemfy.fi/</a><br />" +
					"<b>Version:</b> " + getVersion() + "<br />" +

					"<b>Features:</b>" +
					"<ul><li>Can bank or power</li>" +
					"<li>Can catch lobster, tuna, swordfish.</li>" +
					"<li>Anti whirlpool, random combat, losing tools, logout.</li>" +
					"<li>Shows fish banked and runtime.</li>" +
					"<li>Deathwalk.</li></ul><br />" +

					"<b>Arguments:<b><br />" +
					"<form>Take 60gp for sailing each time:<input type=\"radio\" name=\"sailingmoney\" value=\"take\" checked=\"checked\"> yes " +
					"<input type=\"radio\" name=\"sailingmoney\" value=\"notake\"> no<BR></form>" +
					"<form>Bank:<input type=\"radio\" name=\"how\" value=\"bank\" checked=\"checked\"> " +
					"Power:<input type=\"radio\" name=\"how\" value=\"power\"><br /></form>" +

					"<form>Lobster:<input type=\"radio\" name=\"what\" value=\"lobster\" checked=\"checked\"> " +
					"Tuna:<input type=\"radio\" name=\"what\" value=\"tuna\"> " +
					"Swordfish:<input type=\"radio\" name=\"what\" value=\"swordfish\"> " +
					"Tuna & Swordfish:<input type=\"radio\" name=\"what\" value=\"both\"><br /></form>" +


				"</body>\n" +
				"</html>";
	}

}

Save that as a .java, compile, etc.
 
Status
Not open for further replies.
Runescape Gamblingrunescape gambling
Back
Top