All pastes #355286 Raw Edit

Mine

public java v1 · immutable
·published 2007-02-14 11:47 UTC
rendered paste body
import impsoft.nexus.bots.color.constants.Areas;import impsoft.nexus.bots.color.constants.Compass;import impsoft.nexus.bots.color.listeners.ChatListener;import impsoft.nexus.bots.color.methods.ColorScript;import impsoft.nexus.bots.color.methods.Timer;import impsoft.nexus.bots.color.scriptobjects.NPCChat;import impsoft.nexus.bots.color.scriptobjects.RGB;import java.awt.Rectangle;public class impRimmington extends ColorScript implements ChatListener {	public String[] commands = new String[] { "power copper", "bank copper" };	int mode = -1;	boolean Mining = true;	public void chat(String message) {		if (Mining) {			if (message.contains("manage")) {				Mining = false;			}		}	}		public void combatCheck() throws InterruptedException{		if(inCombat()){			walk(Compass.NORTH, 30);			walk(Compass.NORTH, 30);			walk(Compass.NORTH, 30);			walk(Compass.NORTH, 30);			walk(Compass.SOUTH, 30);			walk(Compass.SOUTH, 30);			walk(Compass.SOUTH, 30);			walk(Compass.SOUTH, 30);		}			}		public boolean doStart(String cmd, String[] args) {		for (int i = 0; i < commands.length; i++)			if (cmd.equalsIgnoreCase(commands[i])) {				mode = i;				break;			}		return true;	}	public void fixAxe() throws InterruptedException {		boolean success = doActionAtRGBCluster(new RGB[] { new RGB(45, 31, 0),				new RGB(52, 35, 0) }, "Take", "Take");		Timer t = new Timer(120000);		while (!success && !t.isUp()) {			Rectangle items[] = getItemsOnMinimap();			if (items.length > 0) {				Rectangle closes = items[1];				for (int i = 1; i < items.length; i++) {					if (distance(Areas.MINI_MAP_CENTER, items[i]) < distance(							Areas.MINI_MAP_CENTER, closes)) {						closes = items[i];					}				}				mouseClickLeft(closes);				sleep(5000);				while(isMoving() || isMapFlagUp()){					sleep(500);				}			}			success = doActionAtRGBCluster(new RGB[] { new RGB(45, 31, 0),					new RGB(52, 35, 0) }, "Take", "Take");		}		doActionAtInventory("head", "Use", 1);		doActionAtInventory("handle", "Use", 1);	}	public boolean inCombat() {		RGB fightColor = new RGB(65280);		Rectangle searchZone = new Rectangle(217, 129, 80, 80);		return (findRGBXY(getColorArray2d(), fightColor, searchZone) != null);	}	@Override	public void script() throws InterruptedException {		if (mode == 0 || mode == 1) {			while (true) {				if (inventoryCount() == 28) {					if (mode == 1) {						walkToBank();						doActionAtRGBCluster(new RGB[] { new RGB(27, 21, 9),								new RGB(100, 77, 45), new RGB(103, 84, 47) },								"Bank", "quickly");						doActionAtInventory(new String[] { "axe" }, "All", 28);						walkToMine();					}					if (mode == 0) {						doActionAtInventory(new String[] { "axe" }, "Drop", 28);					}				}				while (inventoryCount() != 28) {					boolean success = doActionAtRGBCluster(new RGB[] {							new RGB(161, 100, 58), new RGB(179, 112, 66) }, 5,							10000, 0, 0, "Mine", "Mine");					if (success) {						combatCheck();						NPCChat chat = getNPCChat(2000);						if (chat != null) {							if (chat.contains("You need")) {								log("Missing Axe head");								fixAxe();							}						}						sleep(defaultmaxAgeInMillisecs * 5);						while (isMoving() || isMapFlagUp())							sleep(defaultmaxAgeInMillisecs * 7);						Mining = true;						Timer t = new Timer(random(15000, 25000));						while (!t.isUp() && Mining) {							sleep(defaultmaxAgeInMillisecs);							combatCheck();						}					}else{						log("Could not Find Rock");						sleep(defaultmaxAgeInMillisecs * 20);					}					combatCheck();				}				sleep(defaultmaxAgeInMillisecs * 2);			}		}	}	public void walkToBank() throws InterruptedException {		// rock		walkToColorSearchIn45Triangle(54, 649, 27, new RGB(238, 238, 238));		log("now at white gate");		walkToColorSearchIn45Triangle(54, 646, 55, new RGB(114, 106, 107));		log("now on road");		// road		walkToColorSearchIn45Triangle(135, 648, 32, new RGB(114, 106, 107));		log("now on road2");		walkToColorSearchIn45Triangle(135, 628, 37, new RGB(238, 238, 238));		log("now on bottom white gate");		walkToColorSearchIn45Triangle(168, 644, 13, new RGB(238, 238, 238));		log("now on bottom white gate2");		walkToColorSearchIn45Triangle(168, 644, 56, new RGB(114, 106, 107));		log("now at crossRoads");		walkToColorSearchIn45Triangle(82, 649, 27, new RGB(114, 106, 107));		log("going north");		walkToColorSearchIn45Triangle(82, 647, 17, new RGB(114, 106, 107));		log("going north");		walkToColorSearchIn45Triangle(82, 649, 30, new RGB(133, 121, 106));		log("now on new road");		walkToColorSearchIn45Triangle(82, 651, 17, new RGB(133, 121, 106));		log("going north on new road");		walkToColorSearchIn45Triangle(82, 645, 32, new RGB(198, 86, 4));		log("going north on new road");		walkToColorSearchIn90Triangle(150, 648, 43, new RGB(188, 175, 80));		log("now at Bank");	}		public void walkToMine() throws InterruptedException {		walkToColorSearchIn90Triangle(315, 623, 51, new RGB(232, 0, 0));		log("now at red door");		walkToColorSearchIn45Triangle(296, 648, 19, new RGB(133, 121, 106));		walkToColorSearchIn45Triangle(296, 647, 56, new RGB(235, 234, 244));		log("now at Gate");		walkToColorSearchIn45Triangle(252, 656, 29, new RGB(114, 106, 107));		log("on road going south");		walkToColorSearchIn45Triangle(261, 650, 23, new RGB(114, 106, 107));		log("on road going south");		walkToColorSearchIn45Triangle(261, 653, 31, new RGB(114, 106, 107));		log("on road going south");		walkToColorSearchIn45Triangle(355, 652, 22, new RGB(238, 238, 238));		log("at a white line");		walkToColorSearchIn45Triangle(296, 660, 27, new RGB(238, 238, 238));		log("at a white line");		// road;		walkToColorSearchIn90Triangle(296, 655, 27, new RGB(117, 108, 109));		log("on road going southish");		// white		walkToColorSearchIn45Triangle(257, 639, 40, new RGB(238, 238, 238));		log("outSide Mine");		// mining symbol		walkToColor(274, 656, 22, new RGB(202, 209, 209));		log("now in mine");	}}