import java.awt.*;
import java.util.*;
import javax.swing.*;
import java.text.*;
import com.speljohan.rsbot.bot.*;
import com.speljohan.rsbot.event.*;
import com.speljohan.rsbot.event.listeners.PaintListener;
import com.speljohan.rsbot.event.events.*;
import com.speljohan.rsbot.event.listeners.*;
import com.speljohan.rsbot.script.*;
import com.speljohan.rsbot.script.wrappers.*;
import java.lang.reflect.Method;
import java.util.Arrays;
import javax.swing.JOptionPane;
import java.awt.event.*;
import java.awt.event.KeyEvent;
import java.applet.Applet;
import java.text.DecimalFormat;
import java.util.ArrayList;
import java.awt.event.ActionEvent;
import com.speljohan.rsbot.event.events.ServerMessageEvent;
import com.speljohan.rsbot.accessors.Player;
import com.speljohan.rsbot.bot.Bot;
public class EliteMiner extends Script implements PaintListener, ActionListener {
public String getName( ) {
return( "Elite Miner" );
}
public double getVersion( ) {
return( 2.60 );
}
public String getAuthor( ) {
return( "$esame St" );
}
public String getScriptCategory() {
return( "$esame St/Elite Series" );
}
public String getScriptDescription( ) {
String html = "";
html += "<html>\n";
html += "<head>\n";
html += "<style type=\"text/css\"> body {background-image: url(\"http://www.freewebs.com/sesamest/Elite%20Miner%20Script%20BG.jpg\")}</style>";
html += "</head>\n";
html += "<body>\n";
html += "<center>";
html += "</center>\n";
html += "<p\n";
html += "<p\n";
html += "<p\n";
html += "<center>";
html += "<font color=gray>";
html += "<p\n";
html += " <b>Your Current Version:</b> " + getVersion() + "<p>\n";
html += "</center>";
html += "<font color=yellow>";
html += "<b>";
html += "<font face=Verdana>";
html += "</b>";
html += "</font>";
html += "<center>";
html += "<font color=gray>";
html += " Power or Bank Mode? <select name=\"power\"><option selected>Power<option>Bank</select> <br><br>";
html += "Where are you mining at? <select name=\"wheretomine\"><option selected>Varrock East<option>Rimmington<option>Crafting Guild<option>Mining Guild<option>Barbarian Village<option>Al-Kharid<option>Draynor South<option>Not Listed</select> <br><br>";
html += "What are you mining? <select name=\"whattomine\"><option selected>Tin & Copper<option>Clay<option>Iron<option>Coal<option>Silver<option>Gold<option>Mithril<option>Admantite<option>Mithril & Coal</select> <br><br>";
html += "Run or Update the Script? <select name=\"whichone\"><option selected>Run<option>Update</select> <br><br>";
html += "<p>\n";
html += "</center>";
html += "</body>\n";
html += "/<html>\n";
return( html );
}
private boolean BankOpen() {
return interfaceExists(INTERFACE_BANK);
}
public static void openURL(String url) {
String osName = System.getProperty("os.name");
try {
if (osName.startsWith("Mac OS")) {
Class fileMgr = Class.forName("com.apple.eio.FileManager");
Method openURL = fileMgr.getDeclaredMethod("openURL",
new Class[] {String.class});
openURL.invoke(null, new Object[] {url});
}
else if (osName.startsWith("Windows"))
Runtime.getRuntime().exec("rundll32 url.dll,FileProtocolHandler " + url);
else { //assume Unix or Linux
String[] browsers = {
"firefox", "opera", "konqueror", "epiphany", "mozilla", "netscape" };
String browser = null;
for (int count = 0; count < browsers.length && browser == null; count++)
if (Runtime.getRuntime().exec(
new String[] {"which", browsers[count]}).waitFor() == 0)
browser = browsers[count];
if (browser == null)
throw new Exception("Could not find web browser");
else
Runtime.getRuntime().exec(new String[] {browser, url});
}
}
catch (Exception e) {
JOptionPane.showMessageDialog(null, errMsg + ":\n" + e.getLocalizedMessage());
}
}
public final int[] smokingRocks = { 11433, 11434, 11435, 11436, 11437, 11438, 11439, 11440, 11441, 11168, 11169, 11170, 11174, 11176, 11177, 11178, 11179, 11180, 11181, 11182, 31116 };
int bankBooth;
int index = STAT_MINING;
int levels;
int exp = 0;
int doorForPath;
public int laddertop = 2113;
public int ladderbottom = 30941;
int miningOre;
int checkTime;
public int mininglevel;
private static final String errMsg = "Error attempting to launch web browser";
public int randomladder;
public int mininglevelsgained;
public int miningxp;
public int startminingxp;
public int miningxpgained;
public int startmininglevel;
public int normprice;
public int maxprice;
public int tnormprice = 0;
public int tmaxprice = 0;
//RS Tiles
RSTile[] toBank;
RSTile[] toMine;
RSTile[] toVEastBank;
long startTime;
long lastCheck;
int fails;
final int MAX_FAILS = 25;
public int WalkTime = 1;
int mode;
boolean powerMode = false;
boolean bankMode = false;
boolean PowerOre = false;
boolean BankOre = false;
boolean VarrockMiner = false;
boolean CraftMiner = false;
boolean MineGMiner = false;
boolean RimmyMiner = false;
boolean DrayMiner = false;
boolean BarbMiner = false;
boolean AlkMiner = false;
int randomRun = random(40, 75);
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;
int[ ] gear = new int[ ] {
1265, // Bronze Pick axe
1267, // Iron pick axe.
1269, // Steel Pick axe
1273, // Mithril Pick axe
1271, // Adamanite Pick axe.
1275, // Rune pick axe
995, // Money
11021 // Test Item
};
//Walking Paths
public RSTile[] LumbtoFally = new RSTile[] { new RSTile(3230, 3218), new RSTile(3228, 3233),
new RSTile(3220, 3246), new RSTile(3204, 3247),
new RSTile(3188, 3245), new RSTile(3176, 3243),
new RSTile(3162, 3241), new RSTile(3148, 3236),
new RSTile(3135, 3228), new RSTile(3120, 3227),
new RSTile(3107, 3235), new RSTile(3096, 3248),
new RSTile(3085, 3248), new RSTile(3080, 3263),
new RSTile(3072, 3275), new RSTile(3041, 3276),
new RSTile(3028, 3278), new RSTile(3012, 3279),
new RSTile(3010, 3292), new RSTile(3007, 3306),
new RSTile(3006, 3321), new RSTile(3007, 3338),
new RSTile(3007, 3351), new RSTile(3012, 3355)
};
public RSTile[] LumbtoAlk = new RSTile[] { new RSTile(3231, 3218), new RSTile(3237, 3225),
new RSTile(3245, 3225), new RSTile(3258, 3235),
new RSTile(3252, 3251), new RSTile(3248, 3267),
new RSTile(3239, 3283), new RSTile(3238, 3298),
new RSTile(3246, 3312), new RSTile(3259, 3323),
new RSTile(3274, 3330), new RSTile(3274, 3311),
new RSTile(3275, 3293), new RSTile(3274, 3275),
new RSTile(3274, 3257), new RSTile(3274, 3241),
new RSTile(3274, 3224), new RSTile(3275, 3207),
new RSTile(3280, 3191), new RSTile(3276, 3175),
new RSTile(3269, 3167)
};
public RSTile[] LumbtoBarb = new RSTile[] {new RSTile(3230, 3218), new RSTile(3226, 3234),
new RSTile(3221, 3248), new RSTile(3227, 3260),
new RSTile(3238, 3271), new RSTile(3238, 3287),
new RSTile(3238, 3302), new RSTile(3225, 3310),
new RSTile(3224, 3327), new RSTile(3210, 3335),
new RSTile(3205, 3347), new RSTile(3207, 3361),
new RSTile(3210, 3374), new RSTile(3210, 3386),
new RSTile(3211, 3397), new RSTile(3211, 3412),
new RSTile(3206, 3426), new RSTile(3189, 3429),
new RSTile(3172, 3428), new RSTile(3158, 3419),
new RSTile(3141, 3416), new RSTile(3124, 3414),
new RSTile(3110, 3421), new RSTile(3102, 3435),
new RSTile(3094, 3450), new RSTile(3087, 3462),
new RSTile(3080, 3476), new RSTile(3086, 3488),
new RSTile(3094, 3490)
};
public RSTile[] LumbtoDray = new RSTile[] {new RSTile(3226, 3218), new RSTile(3228, 3232),
new RSTile(3219, 3237), new RSTile(3208, 3245),
new RSTile(3192, 3246), new RSTile(3177, 3245),
new RSTile(3162, 3240), new RSTile(3153, 3234),
new RSTile(3138, 3228), new RSTile(3122, 3223),
new RSTile(3109, 3227), new RSTile(3099, 3238),
new RSTile(3092, 3243)
};
public RSTile[] LumbtoVarrock = new RSTile[] {new RSTile(3233, 3222), new RSTile(3246, 3226),
new RSTile(3259, 3234), new RSTile(3255, 3249),
new RSTile(3249, 3261), new RSTile(3246, 3273),
new RSTile(3238, 3283), new RSTile(3238, 3297),
new RSTile(3244, 3310), new RSTile(3253, 3320),
new RSTile(3266, 3326), new RSTile(3278, 3333),
new RSTile(3288, 3345), new RSTile(3296, 3356),
new RSTile(3293, 3366), new RSTile(3286, 3368)
};
public RSTile[] AlktoBank2 = new RSTile[] { new RSTile(3272, 3167), new RSTile(3277, 3176),
new RSTile(3282, 3189), new RSTile(3287, 3205),
new RSTile(3292, 3218), new RSTile(3296, 3233),
new RSTile(3293, 3246), new RSTile(3292, 3258),
new RSTile(3293, 3272), new RSTile(3294, 3282),
new RSTile(3297, 3287), new RSTile(3298, 3296),
new RSTile(3301, 3303)
};
public RSTile[] AlktoMine2 = new RSTile[] { new RSTile(3301, 3303), new RSTile(3298, 3296),
new RSTile(3297, 3287), new RSTile(3294, 3282),
new RSTile(3293, 3272), new RSTile(3292, 3258),
new RSTile(3293, 3246), new RSTile(3296, 3233),
new RSTile(3292, 3218), new RSTile(3287, 3205),
new RSTile(3282, 3189), new RSTile(3277, 3176),
new RSTile(3272, 3167)
};
public RSTile[] AlktoBank1 = new RSTile[] {
new RSTile(3300, 3314), new RSTile(3299, 3305),
new RSTile(3299, 3302), new RSTile(3299, 3291),
new RSTile(3298, 3279), new RSTile(3295, 3265),
new RSTile(3291, 3251), new RSTile(3287, 3236),
new RSTile(3280, 3224), new RSTile(3281, 3207),
new RSTile(3281, 3196), new RSTile(3281, 3182),
new RSTile(3275, 3173), new RSTile(3272, 3166),
new RSTile(3269, 3166)
};
public RSTile[] AlktoMine1 = new RSTile[] {
new RSTile(3269, 3166), new RSTile(3272, 3166),
new RSTile(3275, 3173), new RSTile(3281, 3182),
new RSTile(3281, 3196), new RSTile(3281, 3207),
new RSTile(3280, 3224), new RSTile(3287, 3236),
new RSTile(3291, 3251), new RSTile(3295, 3265),
new RSTile(3298, 3279), new RSTile(3299, 3291),
new RSTile(3299, 3302), new RSTile(3299, 3305),
new RSTile(3300, 3314)
};
public RSTile[] AlktoBank3 = new RSTile[] {
new RSTile(3298, 3287), new RSTile(3298, 3275),
new RSTile(3301, 3268), new RSTile(3300, 3258),
new RSTile(3296, 3245), new RSTile(3285, 3234),
new RSTile(3285, 3215), new RSTile(3287, 3197),
new RSTile(3283, 3185), new RSTile(3278, 3174),
new RSTile(3274, 3166), new RSTile(3269, 3166)
};
public RSTile[] AlktoMine3 = new RSTile[] {
new RSTile(3269, 3166), new RSTile(3274, 3166),
new RSTile(3278, 3174), new RSTile(3283, 3185),
new RSTile(3287, 3197), new RSTile(3285, 3215),
new RSTile(3285, 3234), new RSTile(3296, 3245),
new RSTile(3300, 3258), new RSTile(3301, 3268),
new RSTile(3298, 3275), new RSTile(3298, 3287)
};
public RSTile[] VarMinetoBank = new RSTile[] { new RSTile(3288, 3368),
new RSTile(3295, 3379), new RSTile(3292, 3389),
new RSTile(3291, 3401), new RSTile(3288, 3414),
new RSTile(3285, 3425), new RSTile(3277, 3430),
new RSTile(3265, 3429), new RSTile(3257, 3429),
new RSTile(3253, 3422), new RSTile(3253, 3420) };
public RSTile[] VarBanktoMine = new RSTile[] { new RSTile(3258, 3428), new RSTile(3271, 3428),
new RSTile(3280, 3419), new RSTile(3290, 3408),
new RSTile(3291, 3394), new RSTile(3294, 3381),
new RSTile(3290, 3375), new RSTile(3287, 3368)
};
public RSTile[] toCraftMine = new RSTile[] {new RSTile(2932, 3286), new RSTile(2940, 3280) };
public RSTile[] toCraftDoor = new RSTile[] {new RSTile(2940, 3280), new RSTile(2932, 3286) };
public RSTile[] CraMinetoBank = new RSTile[] {
new RSTile(2933, 3292), new RSTile(2939, 3303),
new RSTile(2952, 3306), new RSTile(2965, 3305),
new RSTile(2977, 3303), new RSTile(2989, 3309),
new RSTile(3000, 3318), new RSTile(3007, 3331),
new RSTile(3007, 3345), new RSTile(3007, 3357),
new RSTile(3012, 3356)
};
public RSTile[] CraBanktoMine = new RSTile[] {
new RSTile(3012, 3356), new RSTile(3007, 3357),
new RSTile(3007, 3345), new RSTile(3007, 3331),
new RSTile(3000, 3318), new RSTile(2989, 3309),
new RSTile(2977, 3303), new RSTile(3007, 3331),
new RSTile(3007, 3345), new RSTile(3007, 3357),
new RSTile(3012, 3356)
};
public RSTile[] GuiMinetoBank = new RSTile[] { new RSTile(3023, 3337), new RSTile(3033, 3349),
new RSTile(3021, 3358), new RSTile(3012, 3356)
};
public RSTile[] GuiBanktoMine = new RSTile[] { new RSTile(3012, 3356), new RSTile(3021, 3358),
new RSTile(3033, 3349), new RSTile(3023, 3337)
};
public RSTile[] toGMine = new RSTile[] { new RSTile(3021, 9738), new RSTile(3034, 9737), new RSTile(3043, 9738)
};
public RSTile[] toGDoor = new RSTile[] { new RSTile(3043, 9738), new RSTile(3034, 9737), new RSTile(3021, 9738)
};
public RSTile[] RimtoBank = new RSTile[] { new RSTile(2976, 3240), new RSTile(2977, 3251),
new RSTile(2982, 3259), new RSTile(2989, 3268),
new RSTile(3000, 3275), new RSTile(3005, 3290),
new RSTile(3005, 3302), new RSTile(3007, 3315),
new RSTile(3007, 3325), new RSTile(3006, 3336),
new RSTile(3007, 3345), new RSTile(3011, 3355) };
public RSTile[] RimtoMine = new RSTile[] { new RSTile(3011, 3355), new RSTile(3007, 3345),
new RSTile(3006, 3336), new RSTile(3007, 3325),
new RSTile(3007, 3315), new RSTile(3005, 3302),
new RSTile(3005, 3290), new RSTile(3000, 3275),
new RSTile(2989, 3268), new RSTile(2982, 3259),
new RSTile(2977, 3251), new RSTile(2976, 3240) };
public RSTile[] SDtoMine = new RSTile[] { new RSTile(3094, 3248), new RSTile(3099, 3233),
new RSTile(3111, 3220), new RSTile(3123, 3209),
new RSTile(3136, 3202), new RSTile(3141, 3187),
new RSTile(3142, 3172), new RSTile(3145, 3157),
new RSTile(3147, 3148)
};
public RSTile SDtoBank[] = new RSTile[] { new RSTile(3147, 3148), new RSTile(3145, 3157),
new RSTile(3142, 3172), new RSTile(3141, 3187),
new RSTile(3136, 3202), new RSTile(3123, 3209),
new RSTile(3111, 3220), new RSTile(3099, 3233),
new RSTile(3094, 3248)
};
public RSTile[] BarbtoBank = new RSTile[] { new RSTile(3090, 3432), new RSTile(3091, 3448),
new RSTile(3090, 3460), new RSTile(3079, 3471),
new RSTile(3082, 3484), new RSTile(3091, 3490)
};
public RSTile[] BarbtoMine = new RSTile[] { new RSTile(3091, 3490), new RSTile(3082, 3484),
new RSTile(3079, 3471), new RSTile(3090, 3460),
new RSTile(3091, 3448), new RSTile(3090, 3432)
};
public boolean onStart( Map<String, String> args ) {
Bot.getEventManager( ).addListener(PaintListener.class, this);
try {
if (args.get("wheretomine").equals("Varrock East")) {
VarrockMiner = true;
log("WALKING PATH SET: [VARROCK EAST]");
bankBooth = 11402;
}
if (args.get("wheretomine").equals("Mining Guild")) {
MineGMiner = true;
log("WALKING PATH SET: [MINE GUILD]");
bankBooth = 11758;
}
if (args.get("wheretomine").equals("Crafting Guild")) {
CraftMiner = true;
doorForPath = 2647;
log("WALKING PATH SET: [CRAFT GUILD]");
bankBooth = 11758;
}
if (args.get("wheretomine").equals("Rimmington")) {
RimmyMiner = true;
log("WALKING PATH SET: [RIMMINGTON]");
toMine = reversePath(toBank);
bankBooth = 11758;
}
if (args.get("wheretomine").equals("Al-Kharid")) {
AlkMiner = true;
log("WALKING PATH SET: [AL-KHARID]");
bankBooth = 35647;
}
if (args.get("wheretomine").equals("Draynor South")) {
DrayMiner = true;
log("WALKING PATH SET: [DRAYNOR SOUTH]");
toBank = reversePath(toMine);
bankBooth = 2213;
}
if (args.get("wheretomine").equals("Barbarian Village")) {
BarbMiner = true;
log("WALKING PATH SET: [BARB VILLAGE]");
toMine = reversePath(toBank);
bankBooth = 26972;
}
if (args.get("whattomine").equals("Tin & Copper")) {
RockType = Ores;
if (AlkMiner == true) {
WalkTime = 2;
}
log("MINING ORE SET: [TIN & COPPER]");
}
if (args.get("whattomine").equals("Iron")) {
RockType = IOres;
tnormprice = 96;
tmaxprice = 100;
if (AlkMiner == true) {
WalkTime = 2;
}
log("MINING ORE SET: [IRON]");
}
if (args.get("whattomine").equals("Clay")) {
RockType = CLOres;
tnormprice = 108;
tmaxprice = 113;
if (AlkMiner == true) {
WalkTime = 2;
}
log("MINING ORE SET: [CLAY]");
}
if (args.get("whattomine").equals("Coal")) {
RockType = COres;
tnormprice = 173;
tmaxprice = 181;
if (AlkMiner == true) {
WalkTime = 4;
}
log("MINING ORE SET: [COAL]");
}
if (args.get("whattomine").equals("Silver")) {
RockType = SOres;
tnormprice = 171;
tmaxprice = 179;
if (AlkMiner == true) {
WalkTime = 2;
}
log("MINING ORE SET: [SILVER]");
}
if (args.get("whattomine").equals("Gold")) {
RockType = GOres;
tnormprice = 494;
tmaxprice = 518;
if (AlkMiner == true) {
WalkTime = 6;
}
log("MINING ORE SET: [GOLD]");
}
if (args.get("whattomine").equals("Mithril")) {
RockType = MOres;
tnormprice = 169;
tmaxprice = 177;
if (AlkMiner == true) {
WalkTime = 4;
}
log("MINING ORE SET: [MITHRIL]");
}
if (args.get("whattomine").equals("Admantite")) {
RockType = AOres;
tnormprice = 1047;
tmaxprice = 1099;
if (AlkMiner == true) {
WalkTime = 2;
}
log("MINING ORE SET: [ADMANTITE]");
}
if (args.get("whattomine").equals("Mithril & Coal")) {
RockType = MCOres;
if (AlkMiner == true) {
WalkTime = 4;
}
log("MINING ORE SET: [MITH AND COAL]");
}
if (args.get("wheretomine").equals("Not Listed")) {
log("WALKING PATH SET: [NOT LISTED]");
}
if (args.get("power").equals("Power")) {
powerMode = true;
log("MINING MODE: [POWER]");
}
if (args.get("whichone").equals("Update")) {
WhichOne = 2;
dispUpdateGUI();
log("UPDATE MODE");
}
if (args.get("whichone").equals("Run")) {
WhichOne = 3;
}
}
catch (Exception e) {
}
return true;
}
public void checkForGas() {
RSObject gas = findObject(smokingRocks);
if (gas != null) {
runAway();
smokedrockavoided++;
}
}
JFrame statframe;
JButton closebutton;
JButton updatebutton;
JLabel currentmininglevelt, tthename, mininglevelsgainedt, currentminingxpt, miningxpgainedt, smokerockavoid, genormpricet, gemaxpricet;
JTextField currentmininglevelp, mininglevelsgainedp, currentminingxpp, miningxpgainedp, smokingrocksavoiding, genormpricep, gemaxpricep;
public void dispStatGUI() {
String statframetitle = "Elite Miner Info Panel";
statframe = new JFrame(statframetitle);
statframe.setLayout(new GridBagLayout());
GridBagConstraints c = new GridBagConstraints();
c.fill = GridBagConstraints.BOTH;
c.gridwidth = 7;
c.gridx = 0;
c.gridy = 0;
tthename = new JLabel("Elite Miner ");
statframe.add(tthename, c);
c.gridx = 0;
c.gridy = 1;
currentmininglevelt = new JLabel("Percent to Next Level ");
statframe.add(currentmininglevelt, c);
c.gridx = 5;
c.gridy = 1;
currentmininglevelp = new JTextField("" + skills.getPercentToNextLevel( index ));
currentmininglevelp.setEditable(true);
statframe.add(currentmininglevelp, c);
c.gridx = 0;
c.gridy = 2;
mininglevelsgainedt = new JLabel("Mining Levels Gained: ");
statframe.add(mininglevelsgainedt, c);
c.gridx = 5;
c.gridy = 2;
mininglevelsgainedp = new JTextField("" + levels);
mininglevelsgainedp.setEditable(true);
statframe.add(mininglevelsgainedp, c);
c.gridx = 0;
c.gridy = 3;
miningxpgainedt = new JLabel("Mining Experience Gained: ");
statframe.add(miningxpgainedt, c);
c.gridx = 5;
c.gridy = 3;
miningxpgainedp = new JTextField("" + exp);
miningxpgainedp.setEditable(true);
statframe.add(miningxpgainedp, c);
c.gridx = 0;
c.gridy = 4;
smokerockavoid = new JLabel("Smoking Rocks Avoided: ");
statframe.add(smokerockavoid, c);
c.gridx = 5;
c.gridy = 4;
smokingrocksavoiding = new JTextField("" + smokedrockavoided);
smokingrocksavoiding.setEditable(true);
statframe.add(smokingrocksavoiding, c);
c.gridx = 0;
c.gridy = 5;
genormpricet = new JLabel("GE Normal Price: ");
statframe.add(genormpricet, c);
c.gridx = 5;
c.gridy = 5;
genormpricep = new JTextField("" + normprice);
genormpricep.setEditable(true);
statframe.add(genormpricep, c);
c.gridx = 0;
c.gridy = 6;
gemaxpricet = new JLabel("GE Maximum Price: ");
statframe.add(gemaxpricet, c);
c.gridx = 5;
c.gridy = 6;
gemaxpricep = new JTextField("" + maxprice);
gemaxpricep.setEditable(true);
statframe.add(gemaxpricep, c);
c.gridwidth = 1;
c.gridx = 3;
c.gridy = 8;
closebutton = new JButton("Stop Script");
statframe.add(closebutton, c);
closebutton.addActionListener(this);
c.gridwidth = 1;
c.gridx = 0;
c.gridy = 8;
updatebutton = new JButton("Update Script");
statframe.add(updatebutton, c);
updatebutton.addActionListener(this);
statframe.pack();
statframe.setResizable(true);
statframe.setVisible(true);
}
JFrame updateframe;
JButton tupdatebutton;
JButton exitbutton;
JLabel directorydl;
public void dispUpdateGUI() {
String updateframetitle = "Elite Miner Update Panel";
updateframe = new JFrame(updateframetitle);
updateframe.setLayout(new GridBagLayout());
GridBagConstraints d = new GridBagConstraints();
d.fill = GridBagConstraints.BOTH;
d.gridwidth = 8;
d.gridx = 0;
d.gridy = 1;
directorydl = new JLabel("Click the UPDATE button to update the script!!! ");
updateframe.add(directorydl, d);
d.gridwidth = 1;
d.gridx = 0;
d.gridy = 2;
tupdatebutton = new JButton("UPDATE");
updateframe.add(tupdatebutton, d);
tupdatebutton.addActionListener(this);
d.gridwidth = 1;
d.gridx = 1;
d.gridy = 2;
exitbutton = new JButton("Exit Update Screen");
updateframe.add(exitbutton, d);
exitbutton.addActionListener(this);
updateframe.pack();
updateframe.setResizable(true);
updateframe.setVisible(true);
}
public void actionPerformed(ActionEvent actEv) {
if(actEv.getActionCommand().contains("Stop Script")) {
stopAllScripts();
statframe.setVisible(false);
}
if(actEv.getActionCommand().contains("Exit Update Screen")) {
updateframe.setVisible(false);
stopAllScripts();
statframe.setVisible(true);
}
if(actEv.getActionCommand().contains("Update Script")) {
statframe.setVisible(false);
dispUpdateGUI();
updateframe.setVisible(true);
}
if(actEv.getActionCommand().contains("UPDATE")) {
updateframe.setVisible(true);
openURL("http://www.eliteminer.co.nr");
}
}
public void runAway() {
RSTile run, run2;
run = getMyPlayer().getLocation();
setRun(true);
run2 = new RSTile(run.getX() + random(8, 10), run.getY() + random(8, 10));
walkTileMM(run2);
wait(random(1000, 2000));
}
public void UpdateMessageBox() {
JOptionPane.showMessageDialog(null, "Head to [url]www.eliteminer.co.nr[/url] for Latest Update");
}
public void onFinish() {
Bot.getEventManager().removeListener(PaintListener.class, this);
}
private static final Color rect1 = new Color(45, 40, 36, 180);
private static final Color rect = new Color(13, 52, 47, 180);
private boolean walkPath2(RSTile[] path) {
if (distanceTo(path[path.length - 1]) <= 2) {
return true;
} else {
if (!getMyPlayer().isMoving()) {
walkPathMM(randomizePath(path, 2, 2), 20);
}
}
return false;
}
public void onRepaint( Graphics g ) {
long hours = 0, minutes = 0, seconds = 0;
long time;
if ( startTime == 0 ) {
startTime = System.currentTimeMillis( );
}
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);
}
if ( startLevel == 0 || startExp == 0 ) {
startLevel = skills.getCurrentSkillLevel( index );
startExp = skills.getCurrentSkillExp( index );
oldExp = 0;
}
exp = skills.getCurrentSkillExp( index ) - startExp;
if ( exp > oldExp ) {
xpPerRock = exp - oldExp;
oldExp = exp;
rockCount++;
countToNext = (skills.getXPToNextLevel(STAT_MINING) / xpPerRock) + 1;
}
levels = skills.getCurrentSkillLevel( index ) - startLevel;
if ( levels > oldLevels ) {
oldLevels = levels;
}
if ( System.currentTimeMillis( ) - lastAvgCheck >= 60000 ) {
lastAvgCheck = System.currentTimeMillis( );
avgPerHour = (rockCount - oldRockCount) * 60;
oldRockCount = rockCount;
}
if (WhichOne == 2) {
}
// Add or Take Away 16 EVERY LINE IT SOOOO EASY!!! ( . Y . ) Boobiez!!!
else if (WhichOne == 3) {
g.setColor(Color.YELLOW);
g.drawString(getName( ) + " v" + getVersion( ), 9, 107);
g.setColor(Color.WHITE);
g.drawString("------------------------------------", 9, 123);
g.setColor(Color.PINK);
g.drawString("Smoking Rocks: " + smokedrockavoided, 9, 139);
g.drawString("Broken Picks Fixed: " + DRPicks, 9, 155);
g.drawString("GE Normal Price: " + normprice, 9, 171);
g.drawString("GE Max Price: " + maxprice, 9, 187);
g.drawString("XP Gained: " + exp, 9, 203);
g.drawString("Levels Gained: " + levels, 9, 219);
g.drawString("Percent to next level: " + skills.getPercentToNextLevel( index ), 9, 235);
g.drawString("Rocks: " + rockCount, 9, 251);
g.drawString("Rocks to next level: " + countToNext, 9, 267);
g.drawString("Time running: " + hours + ":" + minutes + "." + seconds, 9, 283);
g.drawString("Runs: " + Runs, 9, 299);
g.setColor(Color.WHITE);
g.drawString("HELP CHANGE THE WORLD!!!", 9, 331);
if (State == 0) {
g.setColor(Color.PINK);
g.drawString("State: Starting...", 9, 315);
}
if (State == 1) {
g.setColor(Color.PINK);
g.drawString("State: Mining...", 9, 315);
}
if (State == 2) {
g.setColor(Color.PINK);
g.drawString("State: Dropping/Walking...", 9, 315);
}
if (State == 3) {
g.setColor(Color.PINK);
g.drawString("State: Banking...", 9, 315);
}
if (State == 4) {
g.setColor(Color.PINK);
g.drawString("State: Walking...", 9, 315);
}
if (State == 6) {
g.setColor(Color.PINK);
g.drawString("State: Opening Door/Climing Ladder", 9, 315);
}
if (State == 7) {
g.setColor(Color.PINK);
g.drawString("State: Walking to Ladder/Door", 9, 315);
}
if (State == 8) {
g.setColor(Color.PINK);
g.drawString("State: Walking to Bank", 9, 315);
}
if (State == 9) {
g.setColor(Color.PINK);
g.drawString("State: Depositing Gear then Walking to Mine", 9, 315);
}
if (State == 10) {
g.setColor(Color.PINK);
g.drawString("State: Climbing Ladder/Open Door", 9, 315);
}
if (State == 11) {
g.setColor(Color.PINK);
g.drawString("State: Walking to Mine", 9, 315);
}
if (State == 12) {
g.setColor(Color.PINK);
g.drawString("State: Opening Bank", 9, 315);
}
if (State == 15) {
g.setColor(Color.PINK);
g.drawString("State: Walking to Mine/Bank from Lumby", 9, 315);
}
}
}
private int StuffUps = 0;
private int State = 0; //This is gonna be THE variable that says in which state of the script we are
private int[] Ores = {11957,11958,11959,11960,11961,11962,9708,9709,9710,9714,9716,11957,11958,11959,11936,11937,11938};
private int[] IOres = {9717,9718,9719,11954,11955,11956,11954,11955,37307,37309};
private int[] COres = {11930,11931,11932,31068,31069,31070};
private int[] SOres = {11949,11950,37304,37305};
private int[] GOres = {9720,9722,37310,37313,11183,11184,11184,11185};
private int[] MOres = {11942,11944,31087,31088,31086};
private int[] MCOres = {11942,11944,31087,31088,31086,11930,11932,31068,31069,31070};
private int[] AOres = {11939,11941};
private int[] CLOres = {11189,11190};
public static final int[] pickaxeHeads = new int[] { 480, 482, 484, 486, 488, 490 };
public static final int[] pickaxeTypes = new int[] { 1275, 1265, 1269, 1267, 1273, 1271 };
public static final int[] pickaxeBrokens = new int[] { 468, 470, 472, 474, 476, 478 };
private int[] Logs = {434,436,438,440,442,444,447,449,451,453};
private int Runs = 0;
private int DRPicks = 0;
private int smokedrockavoided = 0;
private int RockType[];
private int WhichOne = 0;
public void minestuff() {
RSObject rock = findObject(RockType);
if(rock != null) {
atObject(rock, "Mine");
}
rotatecamera();
}
public int loop() {
try {
RSObject upladder = findObject(ladderbottom);
RSObject downladder = findObject(laddertop);
mininglevel = skills.getCurrentSkillLevel(14);
mininglevelsgained = mininglevel - startmininglevel;
miningxp = skills.getCurrentSkillExp(14);
miningxpgained = miningxp - startminingxp;
normprice = rockCount * tnormprice;
maxprice = rockCount * tmaxprice;
if(getEnergy() >= 85) {
setRun(true);
}
if(distanceTo(new RSTile(3222, 3219)) < 8) {
State = 15;
}
checkForPick();
checkForGas();
switch (State) {
case 0:
if (WhichOne == 2) {
}
if (WhichOne == 3) {
JOptionPane.showMessageDialog(null, "ANIMAL SLAUGHTER IS WRONG PLEASE HELP US STOP ANIMAL SLAUGHTER IN THE WORLD!!! We Have One Chance To Make Things Right!!!");
log("Starting Up...");
if(distanceTo(new RSTile(3013, 3357)) < 5) {
if (RimmyMiner == true) {
State = 3;
}
else if (CraftMiner == true) {
State = 12;
}
else if (MineGMiner == true) {
State = 12;
}
}
if(distanceTo(new RSTile(3253, 3420)) < 5) {
State = 3;
}
if(distanceTo(new RSTile(3093, 3495)) < 10) {
State = 3;
}
if(distanceTo(new RSTile(3092, 3244)) < 5) {
State = 3;
}
if(distanceTo(new RSTile(3269, 3167)) < 5) {
State = 3;
}
else {
State++;
startmininglevel = skills.getCurrentSkillLevel(14);
startminingxp = skills.getCurrentSkillExp(14);
}
}
return random(50, 100);
case 1:
RSObject srock = findObject(smokingRocks);
if(isInventoryFull()) {
State++;
} else {
minestuff();
antiBan();
}
return random(1000, 2000);
case 2:
if(isInventoryFull()) {
if (powerMode == true) {
State++;
Runs++;
dropAllExcept( gear );
return random(500, 750);
} else {
if (VarrockMiner == true) {
if(distanceTo(new RSTile(3253, 3420)) < 5) {
State++;
}
if (walkPath(VarMinetoBank)) {
rotatecamera();
}
else if (BarbMiner == true) {
if(distanceTo(new RSTile(3093, 3495)) < 10) {
State++;
}
if (walkPath(BarbtoBank)) {
rotatecamera();
}
else if (RimmyMiner == true) {
if(distanceTo(new RSTile(3013, 3357)) < 5) {
State++;
}
else {
if (walkPath(RimtoBank)) {
rotatecamera();
}
}
}
else if (AlkMiner == true) {
if(distanceTo(new RSTile(3269, 3166)) < 5) {
State++;
} else {
if (WalkTime == 2) {
if (walkPath(AlktoBank1)) {
rotatecamera();
}
}
}
if(distanceTo(new RSTile(3269, 3166)) < 5) {
State++;
} else {
if (WalkTime == 6) {
if (walkPath(AlktoBank3)) {
rotatecamera();
}
}
}
if(distanceTo(new RSTile(3301, 3303)) < 5) {
State++;
} else {
if (WalkTime == 4) {
if (walkPath(AlktoBank2)) {
rotatecamera();
}
}
}
}
else if (DrayMiner == true) {
if(distanceTo(new RSTile(3094, 3248)) < 5) {
State++;
} else {
if (walkPath(SDtoBank)) {
rotatecamera();
}
}
}
else if (CraftMiner == true) {
State = 7;
}
else if(MineGMiner == true) {
State = 7;
}
return random(1000, 2000);
}
}
}
}
return random(1000, 2000);
case 3:
RSObject booth = findObject(bankBooth);
if (powerMode == true) {
State++;
} else {
if(!interfaceExists(762)) {
rotatecamera();
atObject(booth, "Use-quickly");
}
else if(interfaceExists(762)) {
State++;
return random(1000, 2000);
}
}
return random(1000, 2000);
case 4:
if (powerMode == true) {
State++;
} else {
if (VarrockMiner == true) {
bank.depositAllExcept(gear);
if(distanceTo(new RSTile(3288, 3368)) < 10) {
Runs++;
State++;
} else {
if (walkPath(VarBanktoMine)) {
}
}
}
else if (BarbMiner == true) {
bank.depositAllExcept(gear);
if(distanceTo(new RSTile(3093, 3495)) < 10) {
Runs++;
State++;
} else {
if (walkPath(BarbtoMine)) {
}
}
}
else if (RimmyMiner == true) {
bank.depositAllExcept(gear);
if(distanceTo(new RSTile(2976, 3240)) < 10) {
Runs++;
State++;
} else {
if (walkPath(RimtoMine)) {
}
}
}
else if (AlkMiner == true) {
bank.depositAllExcept(gear);
if(distanceTo(new RSTile(3300, 3314)) < 4) {
Runs++;
State++;
} else {
if (WalkTime == 2) {
if (walkPath(AlktoMine1)) {
}
}
}
if(distanceTo(new RSTile(3272, 3167)) < 4) {
Runs++;
State++;
} else {
if (WalkTime == 4) {
if (walkPath(AlktoMine2)) {
}
}
}
if(distanceTo(new RSTile(3298, 3287)) < 4) {
Runs++;
State++;
} else {
if (WalkTime == 6) {
if (walkPath(AlktoMine3)) {
}
}
}
}
else if (DrayMiner == true) {
bank.depositAllExcept(gear);
if(distanceTo(new RSTile(3147, 3148)) < 5) {
State++;
} else {
if (walkPath(SDtoMine)) {
}
}
}
else if(!interfaceExists(762)) {
State--;
}
}
return random(1000, 2000);
case 5:
log("Runs: " + Runs);
State = 1;
return random(1000, 2000);
case 6:
if(CraftMiner == true ) {
RSObject door = findObject(doorForPath);
if (tileOnScreen(door.getLocation())) {
atObject(door, "Open");
wait(random(2000, 3000));
State = 14;
return random(750, 1000);
}
else {
walkTileRand(door.getLocation());
return random(500, 750);
}
}
else if(MineGMiner == true) {
if (tileOnScreen(upladder.getLocation())) {
atObject(upladder, "Climb-up");
wait(random(2000, 3000));
State = 14;
return random(750, 1000);
} else {
walkTileRand(upladder.getLocation());
return random(500, 750);
}
}
case 7:
if(CraftMiner == true) {
if (walkPath(toCraftDoor)) {
}
}
else if(MineGMiner == true) {
if (walkPath(toGDoor)) {
}
}
State = 6;
return random(1000, 2000);
case 8:
if(distanceTo(new RSTile(3013, 3357)) < 5) {
State++;
}
else {
if(CraftMiner == true) {
if (walkPath(CraMinetoBank)) {
}
}
else if(MineGMiner == true) {
if (walkPath(GuiMinetoBank)) {
}
}
State = 12;
}
return random(1000, 2000);
case 9:
bank.depositAllExcept(gear);
if(CraftMiner == true) {
if (walkPath(CraBanktoMine)) {
}
}
else if(MineGMiner == true) {
if (walkPath(GuiBanktoMine)) {
}
}
State = 10;
return random(1000, 2000);
case 10:
if(CraftMiner == true ) {
RSObject doorty = findObject(doorForPath);
if (tileOnScreen(doorty.getLocation())) {
atObject(doorty, "Open");
wait(random(2000, 3000));
State = 13;
Runs++;
return random(750, 1000);
} else {
walkTileRand(doorty.getLocation());
return random(500, 750);
}
}
if(MineGMiner == true) {
if (tileOnScreen(downladder.getLocation())) {
atObject(downladder, "Climb-down");
wait(random(2000, 3000));
State = 13;
return random(750, 1000);
} else {
walkTileRand(downladder.getLocation());
return random(500, 750);
}
}
return random(1000, 2000);
case 11:
if(CraftMiner == true) {
if (walkPath(toCraftMine)) {
}
}
else if(MineGMiner == true) {
if (walkPath(toGMine)) {
}
}
State = 1;
return random(1000, 2000);
case 12:
RSObject boothy = findObject(bankBooth);
if(BankOpen()){
State = 9;
return random(1000, 2000);
}
if (boothy != null) {
if (tileOnScreen(boothy.getLocation())) {
if (!atObject(boothy, "Use-quickly")) {
}
}
}
return random(1000, 2000);
case 13:
if(CraftMiner == true ) {
if(getMyPlayer().getLocation().equals(new RSTile(2933, 3288))) {
State = 11;
} else {
rotatecamera();
State = 10;
}
}
else if(MineGMiner == true) {
if(distanceTo(downladder) > 30) {
State = 11;
} else {
rotatecamera();
State = 10;
}
}
return random(1000, 2000);
case 14:
if(CraftMiner == true ) {
if(getMyPlayer().getLocation().equals(new RSTile(2933, 3289))) {
State = 8;
} else {
rotatecamera();
State = 6;
}
}
else if(MineGMiner == true) {
if(distanceTo(upladder) > 30) {
State = 8;
} else {
rotatecamera();
State = 6;
}
}
return random(1000, 2000);
case 15:
if (CraftMiner == true) {
if(distanceTo(new RSTile(3012, 3355)) < 5) {
State = 12;
}
} else {
if (walkPath(LumbtoFally)) {
}
}
if (BarbMiner == true) {
if(distanceTo(new RSTile(3094, 3490)) < 5) {
State = 3;
} else {
if (walkPath(LumbtoBarb)) {
}
}
}
if(MineGMiner == true) {
if(distanceTo(new RSTile(3012, 3355)) < 5) {
State = 12;
} else {
if (walkPath(LumbtoFally)) {
}
}
}
if(DrayMiner == true) {
if(distanceTo(new RSTile(3092, 3243)) < 5) {
State = 3;
} else {
if (walkPath(LumbtoDray)) {
}
}
}
if(RimmyMiner == true) {
if(distanceTo(new RSTile(3012, 3355)) < 5) {
State = 3;
} else {
if (walkPath(LumbtoFally)) {
}
}
}
if (VarrockMiner == true) {
if(distanceTo(new RSTile(3286, 3368)) < 5) {
State = 1;
} else {
if (walkPath(LumbtoVarrock)) {
}
}
}
if (AlkMiner == true) {
if(distanceTo(new RSTile(3269, 3167)) < 5) {
State = 3;
} else {
if (walkPath(LumbtoAlk)) {
}
}
}
return random(1000, 2000);
}
}
catch(Exception e) {
e.printStackTrace();
}
return random(1000, 2000);
}
private int antiBan() {
int gamble = random(1, 15);
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);
}
public void rotatecamera() {
int rotatedegrees = random(359, 0);
setCameraRotation(rotatedegrees);
}
private boolean walkPath(RSTile[] path) {
if (distanceTo(path[path.length - 1]) <= 1) {
return true;
} else {
if (!getMyPlayer().isMoving()) {
walkPathMM(randomizePath(path, 2, 2), 20);
}
}
return false;
}
public void smokingRockDetection() {
RSTile run, run2;
run = getMyPlayer().getLocation();
setRun(true);
run2 = new RSTile(run.getX() + random(8, 10), run.getY() + random(8, 10));
walkTileMM(run2);
wait(random(1000, 2000));
}
public void checkForPick() {
RSItemTile pickhead = getGroundItemByID(pickaxeHeads);
if(pickhead != null) {
atTile(pickhead, "Take");
}
if(inventoryContains(pickaxeHeads) && !inventoryContains(466)) {
openTab(4);
atInterface(83, 0);
}
if(inventoryContains(pickaxeHeads) && inventoryContains(466)) {
RSItem pickaxehead = getInventoryItemByID(pickaxeHeads);
RSItem pickaxehandle = getInventoryItemByID(466);
RSItem pickaxetype = getInventoryItemByID(pickaxeTypes);
useItem(pickaxehead, pickaxehandle);
DRPicks++;
wait(random(1000, 15000));
if(inventoryContains(1275)) {
atInventoryItem(1275, "Wield");
}
if(inventoryContains(1265)) {
atInventoryItem(1265, "Wield");
}
if(inventoryContains(1269)) {
atInventoryItem(1269, "Wield");
}
if(inventoryContains(1267)) {
atInventoryItem(1267, "Wield");
}
if(inventoryContains(1273)) {
atInventoryItem(1273, "Wield");
}
if(inventoryContains(1271)) {
atInventoryItem(1271, "Wield");
}
}
}
private void walkTileRand(RSTile tile) {
RSTile temp = new RSTile(tile.getX() + random(-2, 2), tile.getY()
+ random(-2, 2));
walkTileMM(temp);
}
}