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

.:[~]Official RSBot Scripts+Requests Sticky!{RSBot}[~]:.

Status
Not open for further replies.
Any one have a ROCK CRAB KILLING SCRIPT that actually works?....besides duncans (although i will buy duncans if i have to....) just curious if any1 does. Post it pl0x ><
 
i need a good, minimizeable alcher that can work along with Rsbot antibans with overnight capabillities

i would also appreciate a .class file because i dunno how to compile
 
im trying the script DP's draynorwillows.zip but wen i click it goes to another windows and just i cant download and erliar i tried another script( cant remember wat 1) and i just dunno how to use.....plz say
 
There are no good scripts there for varrock eastbank iron mining, any1 got any?
 
There are no good scripts there for varrock eastbank iron mining, any1 got any?

Save as ProMiner.java

PHP:
//
// ProMiner by Aelin[Aelin]
//
// Revision 0.01
// Beta release
//
import java.awt.*;
import java.util.Map;

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

public class ProMiner extends Script implements PaintListener {
	int[][] rocks = new int[][] {
	// Remington - Clay
			new int[] { 9711, 9713 },

			// Remington - Copper
			new int[] { 9708, 9709, 9710 },

			// Remington - Tin
			new int[] { 9714, 9716 },

			// Remington - Iron
			new int[] { 9717, 9718, 9719 },

			// Remington - Gold
			new int[] { 9720, 9722 },

			// Varrock East - Copper
			new int[] { 11960, 11961, 11962 },

			// Varrock East - Tin
			new int[] { 11957, 11958, 11959 },

			// Varrock East - Iron
			new int[] { 11954, 11955, 11956 },

			// Varrock West - Clay
			new int[] { 15503, 15504, 15505 },

			// Varrock West - Tin
			new int[] { 11957, 11958, 11959 },

			// Varock West - Iron
			new int[] { 11954, 11955 },

			// Varrock West - Silver
			new int[] { 11949, 11950 },

			// Al Kharid - Copper
			new int[] { 11936, 11937, 11938 },

			// Al Kharid - Iron
			new int[] { 37307, 37309 },

			// Al Kharid - Silver
			new int[] { 37304, 37305 },

			// Al Kharid - Coal
			new int[] { 11930, 11932 },

			// Al Kharid - Gold
			new int[] { 37310, 37313 },

			// Al Kharid - Mithril
			new int[] { 11942, 11944 },

			// Al Kharid - Adamanite
			new int[] { 11939, 11941 },

	// Mining Guild - Coal
	// new int[ ] { 31061, 31059, 31068, 31069, 31070 }
	};
	int[] gear = new int[] { 1265, // Bronze Pickaxe
			1267, // Iron pickaxe.
			1269, // Steel Pickaxe
			1273, // Mithril Pickaxe
			1271, // Adamanite Pickaxe.
			1275 // Rune pickaxe
	};

	final int[] smokingRocks = { 11433, 11434, 11435, 11436 };
	RSTile[] toBank;
	RSTile[] toMine;
	int bankBooth;
	int checkTime;
	long startTime;
	long lastCheck;
	int fails;
	final int MAX_FAILS = 25;
	int mode;
	boolean powerMode = false;
	int randomRun = random(40, 75);
	final int S_WALKTO_MINE = 1000;
	final int S_WALKTO_BANK = 1500;
	final int S_MINE = 2000;
	final int S_USE_BANK = 2500;
	final int S_DROP = 3000;
	int state = S_MINE;
	int rockCount;
	int oldRockCount;
	int xpPerRock;
	long avoidedCombat;
	long avoidedSmokingRocks;
	int startLevel;
	int startExp;
	int oldExp;
	int countToNext;
	int oldLevels;
	long lastAvgCheck;
	int avgPerHour;
	int gems;

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

	public String getName() {
		return "ProMiner";
	}

	public double getVersion() {
		return 0.01;
	}

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

	public String getScriptDescription() {
		String html = "";

		html += "<html>";
		html += "<body>";
		html += "<font size=\"2\">";
		html += "<b>" + getName() + " v" + getVersion() + "</b><br>";
		html += "Author: " + getAuthor() + "<br><br>";
		html += "<b>Remmington:</b> 0 - Clay, 1 - Copper, 2 - Tin, 3 - Iron, 4 - Gold<br>";
		html += "<b>Varrock East:</b> 5 - Copper, 6 - Tin, 7 - Iron<br>";
		html += "<b>Varrock West:</b> 8 - Clay, 9 - Tin, 10 - Iron, 11 - Silver<br>";
		html += "<b>Al Kharid:</b> 12 - Copper, 13 - Iron, 14 - Silver, 15 - Gold, 16 - Mithril<br>";
		// html += "<b>Faladore:</b> <br>";
		html += "<b>Mining Guild:</b> 12 - Coal<br>";
		html += "Mode: <input type=\"text\" name=\"mode\"><br>";
		html += "<input type=\"radio\" name=\"power\" value=\"true\">Power-Mining Mode<br>";
		html += "</font>";
		html += "</body>";
		html += "</html>";

		return html;
	}

	public boolean onStart(Map<String, String> args) {
		Bot.getEventManager().addListener(PaintListener.class, this);

		try {
			mode = Integer.parseInt(args.get("mode"));

			if (args.get("power").equals("true")) {
				powerMode = true;
				log("Power-mining mode activated.");
			}
		} catch (Exception e) {

		}

		if (mode >= 0 && mode <= 4) {
			log("Settings paths for remington.");
			toBank = new RSTile[] { new RSTile(2977, 3239),
					new RSTile(2976, 3252), new RSTile(2974, 3266),
					new RSTile(2981, 3275), new RSTile(2994, 3282),
					new RSTile(3005, 3291), new RSTile(3004, 3304),
					new RSTile(3007, 3318), new RSTile(3007, 3334),
					new RSTile(3007, 3350), new RSTile(3013, 3356) };
			toMine = reversePath(toBank);
			bankBooth = 11758;
		}

		if (mode >= 5 && mode <= 7) {
			log("Setting paths for Varrock East.");
			toBank = new RSTile[] { new RSTile(3285, 3365),
					new RSTile(3294, 3377), new RSTile(3292, 3392),
					new RSTile(3290, 3408), new RSTile(3285, 3423),
					new RSTile(3273, 3428), new RSTile(3258, 3429),
					new RSTile(3254, 3420) };
			toMine = reversePath(toBank);
			bankBooth = 11402;
		}

		if (mode >= 8 && mode <= 11) {
			log("Setting paths for Varrock West.");
			toBank = new RSTile[] { new RSTile(3180, 3370),
					new RSTile(3178, 3380), new RSTile(3173, 3394),
					new RSTile(3171, 3410), new RSTile(3171, 3425),
					new RSTile(3186, 3429), new RSTile(3186, 3439) };
			toMine = reversePath(toBank);
			bankBooth = 11402;
		}

		if (mode >= 12 && mode <= 16) {
			log("Setting paths for Al Kharid.");
			toBank = new RSTile[] { new RSTile(3300, 3305),
					new RSTile(3299, 3291), new RSTile(3294, 3277),
					new RSTile(3292, 3263), new RSTile(3291, 3248),
					new RSTile(3288, 3231), new RSTile(3280, 3217),
					new RSTile(3285, 3201), new RSTile(3281, 3187),
					new RSTile(3277, 3172), new RSTile(3269, 3167) };
			toMine = reversePath(toBank);
			bankBooth = 35647;
		}

		if (mode >= 17 && mode <= 17) {
			log("Setting paths for the Mining Guild.");
			toBank = new RSTile[] { new RSTile(3047, 9738),
					new RSTile(3038, 9737), new RSTile(3021, 9739),
					new RSTile(3021, 3339), new RSTile(3032, 3342),
					new RSTile(3032, 3357), new RSTile(3020, 3361),
					new RSTile(3012, 3356) };
			toMine = reversePath(toBank);
			bankBooth = 11758;
		}

		return true;
	}

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

	public int loop() {
		// Does the play have enough energy to run and is the player allready
		// running?
		if (getEnergy() >= randomRun && !isRunning()) {
			// All conditions met, set run mode.
			log("Setting run.");
			setRun(true);

			randomRun = random(40, 75);
			log("Running next time when energy reaches " + randomRun + ".");
			return random(500, 750);
		}

		// Perform script actions based on state.
		switch (state) {
			case S_WALKTO_MINE:
				if (walkPath(toMine)) {
					log("Arriving at mine, mining.");
					state = S_MINE;
					return random(500, 750);
				} else {
					antiBan();
					return random(250, 500);
				}

			case S_WALKTO_BANK:
				if (walkPath(toBank)) {
					log("Arriving at bank, banking.");
					state = S_USE_BANK;
					return random(500, 750);
				} else {
					antiBan();
					return random(250, 500);
				}

			case S_MINE:
				RSObject rock = findObject(rocks[mode]);
				RSObject sr = findObject(smokingRocks);

				if (isInventoryFull()) {
					if (powerMode) {
						log("Inventory is full, dropping.");
						state = S_DROP;
						return random(500, 750);
					} else {
						log("Inventory is full, banking.");
						state = S_WALKTO_BANK;
						return random(500, 750);
					}
				}

				if (getMyPlayer().isInCombat()) {
					log("Currently in combat, running away.");
					avoidedCombat++;
					state = S_WALKTO_BANK;
					return random(500, 750);
				}

				if (getMyPlayer().isMoving()
						|| getMyPlayer().getAnimation() != -1) {
					if (sr != null && distanceTo(sr.getLocation()) <= 1) {
						log("Avoided smoking rocks.");
						avoidedSmokingRocks++;
					} else {
						return antiBan();
					}
				}

				if (rock != null) {
					if (tileOnScreen(rock.getLocation())) {
						fails = 0;
						atObject(rock, "Mine");
						return random(750, 1000);
					} else {
						walkTileRand(rock.getLocation());
						return random(500, 750);
					}
				} else {
					fails++;
					log("Failed to find a rock, trying " + (MAX_FAILS - fails)
							+ " times.");
					return random(750, 1500);
				}

			case S_USE_BANK:
				RSObject booth = findObject(bankBooth);

				if (getMyPlayer().isMoving()) {
					return antiBan();
				}

				if (booth != null) {
					if (tileOnScreen(booth.getLocation())) {
						if (!atObject(booth, "Use-quickly")) {
							log("Failed to access bank, trying "
									+ (MAX_FAILS - fails) + " more times.");
							return random(750, 1500);
						}

						bank.depositAllExcept(gear);

						if (isInventoryFull()) {
							log("Something when wrong, inventory is still full, retrying "
									+ (MAX_FAILS - fails) + " more times.");
							return random(500, 750);
						} else {
							log("Made deposit, heading back to the mine.");
							state = S_WALKTO_MINE;
							return random(500, 750);
						}
					} else {
						walkTileRand(booth.getLocation());
						return random(500, 750);
					}
				} else {
					fails++;
					log("Failed to find a bank booth, trying "
							+ (MAX_FAILS - fails) + " more times.");
					return random(750, 1500);
				}

			case S_DROP:
				log("Dropping all items except gear.");
				dropAllExcept(gear);
				state = S_MINE;
				return random(500, 750);

		}

		return random(500, 750);
	}

	public void onRepaint(Graphics g) {
		// local objects:
		int index = STAT_MINING;
		int exp = 0;
		int levels;
		long hours = 0, minutes = 0, seconds = 0;
		long time;

		// Has start time been previously set?
		if (startTime == 0) {
			startTime = System.currentTimeMillis();
		}

		// Calculate hours, minutes and seconds.
		time = System.currentTimeMillis() - startTime;
		seconds = time / 1000;
		if (seconds >= 60) {
			minutes = seconds / 60;
			seconds -= minutes * 60;
		}
		if (minutes >= 60) {
			hours = minutes / 60;
			minutes -= hours * 60;
		}

		// Has variables been previously defined?
		if (startLevel == 0 || startExp == 0) {
			// No, so define them now.
			startLevel = skills.getCurrentSkillLevel(index);
			startExp = skills.getCurrentSkillExp(index);
			oldExp = 0;
		}

		// Calculate catches based on experience changes.
		exp = skills.getCurrentSkillExp(index) - startExp;
		if (exp > oldExp) {
			xpPerRock = exp - oldExp;
			oldExp = exp;
			rockCount++;
			countToNext = skills.getXPToNextLevel(STAT_MINING) / xpPerRock + 1;
		}

		// Calculate levels gained.
		levels = skills.getCurrentSkillLevel(index) - startLevel;
		if (levels > oldLevels) {
			oldLevels = levels;
		}

		//
		if (System.currentTimeMillis() - lastAvgCheck >= 60000) {
			lastAvgCheck = System.currentTimeMillis();
			avgPerHour = (rockCount - oldRockCount) * 60;
			oldRockCount = rockCount;
		}

		// Draw information.
		g.setColor(Color.WHITE);
		g.drawString(getName() + " v" + getVersion(), 9, 171);
		g.drawString("XP Gained: " + exp, 9, 187);
		g.drawString("Levels Gained: " + levels, 9, 203);
		g.drawString("Percent to next level: "
				+ skills.getPercentToNextLevel(index), 9, 219);
		g.drawString("Rocks: " + rockCount, 9, 235);
		g.drawString("Rocks to next level: " + countToNext, 9, 251);
		g.drawString("Times avoided combat: " + avoidedCombat, 9, 267);
		g.drawString("Smoking Rocks Avoided: " + avoidedSmokingRocks, 9, 283);
		g.drawString("Time running: " + hours + "." + minutes + "." + seconds,
				9, 299);
		g.drawString("Average per hour: " + avgPerHour, 9, 315);
		// g.drawString("Gems: " + gems, 9, 331); Added later.
	}

	private int antiBan() {
		int gamble = random(1, 12);

		switch (gamble) {
			case 1:
				return random(500, 750);

			case 2:
				int x = random(0, 750);
				int y = random(0, 500);
				moveMouse(0, 0, x, y);
				return random(500, 750);

			case 3:
				openTab(TAB_INVENTORY);
				return random(500, 750);

			case 4:
				if (getMyPlayer().isMoving()) {
					return random(750, 1000);
				}

				if (System.currentTimeMillis() - lastCheck >= checkTime) {
					lastCheck = System.currentTimeMillis();
					checkTime = random(60000, 180000);

					if (getCurrentTab() != TAB_STATS) {
						openTab(TAB_STATS);
					}
					moveMouse(660, 227, 50, 28);
					return random(5000, 8000);
				}

			case 5:
				if (random(1, 8) == 2) {
					int angle = getCameraAngle() + random(-90, 90);
					if (angle < 0) {
						angle = 0;
					}
					if (angle > 359) {
						angle = 0;
					}

					setCameraRotation(angle);
				}

				return random(500, 750);
		}

		return random(500, 750);
	}

	private boolean walkPath(RSTile[] path) {
		if (distanceTo(path[path.length - 1]) <= 2) {
			return true;
		} else {
			if (!getMyPlayer().isMoving()) {
				walkPathMM(randomizePath(path, 2, 2), 20);
			}
		}

		return false;
	}

	private void walkTileRand(RSTile tile) {
		// Local objects:
		RSTile temp = new RSTile(tile.getX() + random(-2, 2), tile.getY()
				+ random(-2, 2));

		walkTileMM(temp);
	}
}
 
im trying the script DP's draynorwillows.zip but wen i click it goes to another windows and just i cant download and erliar i tried another script( cant remember wat 1) and i just dunno how to use.....plz say

PHP:
import java.awt.*;
import java.awt.event.KeyEvent;
import java.util.*;
import com.speljohan.rsbot.bot.Bot;
import com.speljohan.rsbot.event.listeners.PaintListener;
import com.speljohan.rsbot.accessors.NPC;
import com.speljohan.rsbot.bot.Bot;
import com.speljohan.rsbot.script.Script;
import com.speljohan.rsbot.script.Calculations;
import com.speljohan.rsbot.script.wrappers.*;
import com.speljohan.rsbot.script.*;
import com.speljohan.rsbot.plugin.NonPluginClass;

public class DPDraynorWillowChopper extends Script implements PaintListener {

    public static int[] tree = { 1308, 5551, 5552, 5553, 8481, 8482,
            8483, 8484, 8485, 8486, 8487, 8488 };
            
    public static int bankBooth = 2213;
            
    public static RSTile treeTile = new RSTile(3086, 3234);

    public static RSTile bankTile = new RSTile(3092, 3245);
    
    public final String[] treeNames = {"Willow"};
    
    public RSTile lumbTile = new RSTile(3223, 3218);
    
    public RSTile[] lumbToDraynorBankPath = {
        new RSTile(3222, 3219), new RSTile(3232, 3224), new RSTile(3227, 3234), new RSTile(3222, 3244), new RSTile(3211, 3246), new RSTile(3200, 3247), new RSTile(3189, 3246), new RSTile(3178, 3243), new RSTile(3168, 3238), new RSTile(3157, 3236), new RSTile(3146, 3232), new RSTile(3136, 3227), new RSTile(3125, 3227), new RSTile(3114, 3228), new RSTile(3108, 3238), new RSTile(3103, 3248), 
        new RSTile(3092, 3245)};

    public String getName() {
        return "Dontpanic's Draynor Willow Chopper";
    }
    
    public double getVersion() {
        return 2.0;
    }

    public String getAuthor() {
        return "Dontpanic - [email protected]";
    }
    
    public boolean onStart(String[] args) {
        Bot.getEventManager( ).addListener(PaintListener.class, this);
        return(true);
    }
    
    public void onFinish() {
        Bot.getEventManager().removeListener(PaintListener.class, this);
    }
    
    public DPDraynorWillowChopper() {
        setParameters();
    }
    
    private void setParameters() {
        super.setParameter("category", "WoodCutting");
        super.setParameter("name", "Dontpanic's Draynor Willow Chopper");
        super.setParameter("author", "Dontpanic - [email protected]");
        super.setParameter("version", 2.0);

        String desc = super.getScriptDescription();

        super.setParameter("description", "<h1>Dontpanic's Draynor Willow Chopper</h1><p>Start anywhere with your axe equipped or in your inventory.</p>");
    }
    
    boolean wasMoving = false;
    
    int loads = 0;
    
    public void onRepaint(Graphics g) {
        g.setColor(Color.YELLOW);
        g.drawString("Dontpanic's Draynor Willow Chopper", 260, 20); 
        g.drawString("Loads: " + loads, 260, 38); 
    }
    
    boolean cameraMoving = false;
    
    public int loop() {
        if(!isLoggedIn()) {
            return random(100,200);
        }
        if(checkSpinningView()) {
            return random(200, 300);
        }
        if(checkCamera()) {
            return random(500, 800);
        }
        if(getMyPlayer().isMoving()) {
            return random(150, 200);
        }
        if(checkLumb()) {
            return random(800, 1000);
        }
        int checkLostResult = checkLost();
        if(checkLostResult > -1) {
            return checkLostResult;
        }        
        if(checkAttack()) {
            return random(800, 1000);
        }
        if(checkEnt()) {
            return random(800, 1000);
        }
        if(getMyPlayer().getAnimation() != -1) {
            return random(150, 200);
        }
        if(getInventoryCount() != 28) {
            return doChop();
        } else {
            return doBank();
        }
    }
    
    public int doChop() {
        if(distanceTo(treeTile) > 10) {
            walkTileMM(treeTile);
            return random(800, 1000);
        }
        if(wasMoving) {
            wasMoving = false;
            return random(500, 700);
        }
        if(clickTree()) {
            return random(800, 1000);
        } else {
            if(distanceTo(treeTile) > 10) {
                walkTileMM(treeTile);
                return random(800, 1000);
            } else {
                return random(100, 200);
            }
        }
    }
    
    public boolean checkCamera() {
        if(cameraMoving) {
            if(Bot.getClient().getCameraCurveY() >= 380) {
                Bot.getInputManager().releaseKey((char) KeyEvent.VK_UP);
                cameraMoving = false;
            }
            return true;
        } else if (Bot.getClient().getCameraCurveY() < 380) {
            Bot.getInputManager().pressKey((char) KeyEvent.VK_UP);
            cameraMoving = true;
            return true;
        }
        return false;
    }
    
    public boolean clickTree() {
        RSObject object = findObject(tree);
        /*if (object == null || Calculations.tileToScreen(object.getLocation()).getX() == -1) {
            return false;
        }
        Point point = new Point((int) Calculations.tileToScreen(object.getLocation()).getX() + random(0,5), (int) Calculations.tileToScreen(object.getLocation()).getY() - random(32, 33));
        moveMouse(point);
        clickMouse(point, true);
        wasMoving = true;*/
        if(object == null || distanceTo(object.getLocation()) > 16) {
            return false;
        }
        if(atTile(object.getLocation(), "Chop")) {
            wasMoving = true;
            return true;
        }
        if(distanceTo(object.getLocation()) > 3) {
            return dpWalkTile(object.getLocation());            
        }
        spinView();
        return false;
    }
    
    public int doBank() {
        if(distanceTo(bankTile) > 3) {
            walkTileMM(bankTile);
            setRun(true);
            return random(800, 1000);
        }
        if(RSInterface.getInterface(INTERFACE_BANK).isValid()) {
            bank.depositAllExcept(1349, 1351, 1353, 1355, 1357, 1359, 6739);
            loads ++;
            return random(100, 500);
        } else {
            RSObject object = findObject(bankBooth);
            atObject(object, "uickly");
            return random(500,600);
        }
    }

    public boolean checkEnt() {
        int count = Bot.getClient().getNPCCount();
        NPC[] npcs = Bot.getClient().getNPCArray();
        int[] ints = Bot.getClient().getNPCIndexArray();
        for (int i = 0; i < count; i++)
        {
            RSNPC npc = new RSNPC(npcs[ints[i]]);
            if(getMyPlayer().getInteracting() != null && getMyPlayer().getInteracting().equals(npc) && Arrays.asList(treeNames).contains(npc.getName())) {
                if(!clickTree()) {
                    walkTileMM(treeTile);
                }
                return true;
            } 
        }
        return false;
    }
    
    
    public boolean checkAttack() {
        if(getMyPlayer().isInCombat()) {
            if(distanceTo(bankTile) > 3) {
                walkTileMM(bankTile);
            } else {
                walkTileMM(treeTile);
            }
            return true;
        } else {
            return false;
        }
    }
    
    /*boolean attacked = false;
    
    int attHP = -1;
    
    public boolean checkAttack() {
        int maxHP = skills.getLvlByExp(skills.getCurrentSkillExp(3));
        int curHP = skills.getCurrentSkillLevel(3);
        if(curHP < maxHP) {
            if(attacked) {
                if(curHP > attHP) {
                    attHP = curHP;
                }
                if(curHP >= attHP) {
                    return false;
                } else {
                    attacked = false;
                }
            }
            if(!attacked) {
                if(distanceTo(bankTile) > 3) {
                    walkTileMM(bankTile);
                } else {
                    walkTileMM(treeTile);
                }
                attHP = -1;
                attacked = true;
                return true;
            }
            
            
        } else {
            if(attacked) {
                attacked = false;
            }
            if(attHP != -1) {
                attHP = -1;
            }
        }
        return false;
    }*/
    
    public void spinView() {
        Bot.getInputManager().pressKey((char) KeyEvent.VK_RIGHT);
        spinningView = true;
    }
    
    boolean spinningView = false;
    
    public boolean checkSpinningView() {
        if(spinningView) {
            Bot.getInputManager().releaseKey((char) KeyEvent.VK_RIGHT);
            spinningView = false;
            return true;
        } else {
            return false;
        }
    }
    
    public boolean dpWalkPath(RSTile[] path) {
        for(int i = path.length - 1; i >= 0; i--) {
            if(dpWalkTile(path[i])) {
                return true;
            }
        }        
        return false;
    }
    
    public boolean dpWalkTile(RSTile tile) {
        if(distanceTo(tile) <= 16) {
            walkTileMM(tile);
            return true;
        } else {
            return false;
        }
    }
    
    public boolean checkLumb() {
        if(distanceTo(lumbTile) < 20) {
            dpWalkPath(lumbToDraynorBankPath);
            return true;
        }
        return false;
    }
    
    boolean lostTriedWalk = false;
    
    public int checkLost() {
        if(homeTeled) {
            homeTeled = false;
            if(getMyPlayer().getAnimation() != -1) {
                return random(11000,12000);
            }
        }
        if((distanceTo(treeTile) > 10) && (distanceTo(bankTile)>5)) {
            if(!lostTriedWalk) {
                lostTriedWalk = true;
                walkTileMM(treeTile);
                return random(800, 1000);
            }
            lostTriedWalk = false;
            homeTele();
            return random(3000, 4000);
        } else if(lostTriedWalk) {
            lostTriedWalk = false;
        }
        return -1;
    }
    
    boolean homeTeled = false;
    
    public void homeTele() {
        openTab(Script.TAB_MAGIC);
        castSpell(1);
        homeTeled = true;
    }
    
}
 
Any one have a ROCK CRAB KILLING SCRIPT that actually works?....besides duncans (although i will buy duncans if i have to....) just curious if any1 does. Post it pl0x ><


Haven't tried out tho.

PHP:
//
// CrabBot2 - A more refined version of my Rock Crab Auto-fighter.
//
// Author: 3p1c
//
import java.awt.*;
import com.speljohan.rsbot.bot.Bot;
import com.speljohan.rsbot.event.listeners.PaintListener;
import com.speljohan.rsbot.script.Script;
import com.speljohan.rsbot.script.wrappers.*;

public class CrabBot2 extends Script implements PaintListener {
	// 2674, 3697
	// 2674, 3712
	// 2683, 3718
	// 2682, 3729
	public final double BotVersion = 0.7;
	public int State = 10;
	public int GambleInt;
	public int SkillHealth = 3;
	public int Hobgoblin = 123;
	public int LobsterID = 379;
	public int EvilChicken[] = new int[] { 2463, 2464, 2465, 2466, 2467, 2468

	};

	public int RockCrabIDs[] = new int[] { 1265, 1266, 1267, 1268 };

	public RSTile ToStart[] = new RSTile[] { new RSTile(2682, 3729),
			new RSTile(2683, 3718), new RSTile(2674, 3712),
			new RSTile(2674, 3697) };
	public RSTile ToEnd[] = reversePath(ToStart);
	public boolean RunningFromEvil = false;

	public String getName() {
		return ("CrabBot2");
	}

	public double getVersion() {
		return (BotVersion);
	}

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

	public boolean onStart(String[] Args) {
		Bot.getEventManager().addListener(PaintListener.class, this);
		return (true);
	}

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

	public int loop() {
		// Check health and eat.
		CheckHealthEat();

		// Is the evil chicken nearby?
		RSNPC Chicken = getNearestNPCByID(EvilChicken);
		if (Chicken != null) {
			if (distanceTo(Chicken.getLocation()) <= 5) {
				log("It's teh damn Chicken again!");
				RunningFromEvil = true;
				setRun(true);
				State = 30;
				return (AntiBan());
			}
		}

		// If the player is in combat,
		if (getMyPlayer().isInCombat() || getMyPlayer().isMoving()) {
			if (!RunningFromEvil) {
				return (AntiBan());
			}
		}

		switch (State) {
			// 10 - Walk to monster.
			case 10:
				RSNPC Monster = getNearestNPCByID(RockCrabIDs);
				if (Monster != null && !Monster.isInCombat()
						&& distanceTo(Monster.getLocation()) <= 8) {
					WalkTo(Monster);
					State = 20;
				} else {
					log("No Rock Crabs in range.");
				}
				return (AntiBan());

				// 20 - Waiting for attack.
			case 20:
				// If the crab doesn't attack within 3-5 seconds, we know
				// they're no longer attacking us.
				wait(random(5000, 10000));
				if (!getMyPlayer().isInCombat()) {
					// Switch state to 30, Not Attacking.
					State = 30;
				} else {
					// They're attacking, so move the mouse randomly.
					return (AntiBan());
				}

				// 30 - Not Attacking.
			case 30:
				// Randomly walk into the town and wait atleast 5 seconds.
				log("Teh Rock Crabs are hiding!!");
				if (getMyPlayer().isInCombat() && !RunningFromEvil) {
					State = 10;
				}

				if (getMyPlayer().isMoving()) {
					return (random(250, 500));
				}

				if (distanceTo(ToStart[3]) <= 3) {
					State = 40;
				}

				if (!getMyPlayer().isMoving()) {
					walkPathMM(randomizePath(ToStart, 2, 2), 20);
					return (random(500, 1500));
				}

				return (random(5000, 8000));

				// 40 - Running back to monster area.
			case 40:
				// Run back to the monster's area
				if (getMyPlayer().isInCombat() && !RunningFromEvil) {
					State = 10;
				}

				setRun(false);
				RunningFromEvil = false;
				if (getMyPlayer().isMoving()) {
					return (random(250, 500));
				}

				if (distanceTo(ToEnd[3]) <= 3) {
					State = 10;
				}

				if (!getMyPlayer().isMoving()) {
					walkPathMM(randomizePath(ToEnd, 2, 2), 20);
					return (random(500, 1500));
				}

				return (random(500, 1500));

			default:
				log("Unknown Script State: " + State);
				return (-1);
		}
	}

	public long Millisecs() {
		return (System.currentTimeMillis());
	}

	public void WalkTo(RSNPC Npc) {
		RSTile NpcTile;

		NpcTile = Npc.getLocation();

		walkTileMM(NpcTile);
	}

	public int AntiBan() {
		GambleInt = random(1, 3);
		if (GambleInt == 1) {
			wait(random(2000, 2000));
		}
		if (GambleInt == 2) {
			int x = random(0, 750);
			int y = random(0, 500);
			moveMouse(0, 0, x, y);
			log("Anti-ban active");
		}
		return (random(500, 1000));
	}

	public void CheckHealthEat() {
		int Health;

		Health = skills.getCurrentSkillLevel(SkillHealth);
		if (Health <= 15) {
			log("Health is " + Health + " eating a lobster");
			atInventoryItem(LobsterID, "Eat");
		}
	}

	public void onRepaint(Graphics g) {
		int AttackStat = 0;
		int StrengthStat = 2;
		int DefenseStat = 1;
		g.setColor(Color.ORANGE);
		g
				.drawString("Next Attack Lvl: " + skills.getXPToNextLevel(AttackStat),
						9, 287);
		g.drawString("Next Strength Lvl: " + skills.getXPToNextLevel(StrengthStat), 9,
				299);
		g.drawString("Next Defense Lvl: " + skills.getXPToNextLevel(DefenseStat), 9,
				311);

	}
}
 
i need dontpanic's ess miner someone pm it to me pl0x?
edit:nvm i didnt notice it was under runecrafting :P
 
i dont seem to be able to open after i download them
 
Has anyone thought about making a stealing creation bot? The helms you get as a reward more than double's up the xp you get from normal training.
 
how do u put the pure ess miner in the scripts section wen i load rs bot mem or non mem and click run script and i click on rune crafting its not there but b4 i click on run non me or run mem if i click on scripts folder it has it in there ???:( :confused:
 
Could you get lumbridge cooker please? I have 3k trout to cook and I cba to do it myself. :D
 
Status
Not open for further replies.
Runescape Gamblingrunescape gambling
Back
Top