- 01.///////////////////////////
- 02.//////////IMPORTS//////////
- 03.///////////////////////////
- 04.
- 05.import java.awt.BasicStroke;
- 06.import java.awt.Color;
- 07.import java.awt.Graphics;
- 08.import java.awt.Graphics2D;
- 09.import java.awt.GridLayout;
- 10.import java.awt.Image;
- 11.import java.awt.Point;
- 12.import java.awt.Polygon;
- 13.import java.awt.event.ActionEvent;
- 14.import java.awt.event.ActionListener;
- 15.import java.awt.event.MouseEvent;
- 16.import java.awt.event.MouseMotionListener;
- 17.
- 18.import java.io.*;
- 19.import java.lang.reflect.Method;
- 20.import java.net.*;
- 21.
- 22.import javax.imageio.ImageIO;
- 23.import javax.swing.ComboBoxModel;
- 24.import javax.swing.JButton;
- 25.import javax.swing.JCheckBox;
- 26.import javax.swing.JComboBox;
- 27.import javax.swing.JFrame;
- 28.import javax.swing.JLabel;
- 29.
- 30.import org.rsbot.event.events.MessageEvent;
- 31.import org.rsbot.event.listeners.PaintListener;
- 32.import org.rsbot.event.listeners.MessageListener;
- 33.import org.rsbot.script.Script;
- 34.import org.rsbot.script.ScriptManifest;
- 35.import org.rsbot.script.methods.Skills;
- 36.import org.rsbot.script.wrappers.RSArea;
- 37.import org.rsbot.script.wrappers.RSComponent;
- 38.import org.rsbot.script.wrappers.RSInterface;
- 39.import org.rsbot.script.wrappers.RSItem;
- 40.import org.rsbot.script.wrappers.RSNPC;
- 41.import org.rsbot.script.wrappers.RSObject;
- 42.import org.rsbot.script.wrappers.RSTile;
- 43.
- 44.////////////////////////////
- 45.//////////MANIFEST//////////
- 46.////////////////////////////
- 47.
- 48.@ScriptManifest(authors = { "Zhrz" }, name = "DarkMiner", version = 1.6, description = "Start near mine location with a pickaxe.")
- 49.public class DarkMiner extends Script implements PaintListener,
- 50. MouseMotionListener, MessageListener {
- 51.
- 52. // ////////////////////////////////////////////////
- 53. // ////////VARIABLES - INT, BOOLEAN, LONG//////////
- 54. // ////////////////////////////////////////////////
- 55.
- 56. // for paint calc
- 57. public long startTime = System.currentTimeMillis(); // timer
- 58. long runTime;
- 59. long seconds;
- 60. long minutes = 0;
- 61. long hours = 0;
- 62. int startexp = 0;
- 63. int currentXP;
- 64. int currentLVL;
- 65. int gainedLVL;
- 66. int oresPerHour;
- 67. int expPerHour;
- 68. int startLvl = 0;
- 69. int gainedXP;
- 70. int oresMined = 0;
- 71. int gemsMined = 0;
- 72. int pricePerOre = 0;
- 73. int kMade;
- 74. int kPerHour;
- 75. int antiBanCount = 0;
- 76. int[] gems = { 1621, 1619, 1623, 1617 };
- 77. int randomNum2 = 0;
- 78. int xpPerEssence = 5;
- 79.
- 80. Image img1;
- 81.
- 82. // tests to get info otherwise
- 83. int minRunSoRest = 0;
- 84. int stopRest = 0;
- 85. int gotPickOn = 0;
- 86.
- 87. // different types of modes
- 88. public boolean safeClick = false;
- 89. public boolean pickHold = false;
- 90. public boolean mineEss = false;
- 91.
- 92. public boolean modeDrop = false;
- 93. public boolean modeMine2 = false;
- 94. public boolean modeHybrid = false;
- 95. public boolean modeBank = false;
- 96. public boolean yesUpdate = false;
- 97.
- 98. // for rock paint
- 99. public RSObject paintRock;
- 100.
- 101. String addZero = "";
- 102. String addZero2 = "";
- 103.
- 104. // rockSpot
- 105. RSTile rockSpot = null;
- 106.
- 107. // for status
- 108. private String status = "Starting...";
- 109. private String antiBanStatus = "Starting...";
- 110.
- 111. // for methods
- 112. int rockID[];
- 113. int oreID;
- 114. final int pickID[] = { 1265, 1267, 1269, 1271, 1273, 1275, 14099, 14107,
- 115. 15259, 15261 };
- 116. final int strangeRockID[] = { 15532, 15533 };
- 117.
- 118. // for essence
- 119. private int portalID = 2492;
- 120. private int auburyID = 553;
- 121.
- 122. // code for paint
- 123. Color edgeColor = new Color(153, 153, 153);
- 124. Color transDarkBlue = new Color(102, 153, 255, 120);
- 125. Color transDarkRed = new Color(204, 0, 0, 120);
- 126. Color transDarkGreen = new Color(51, 153, 0, 200);
- 127.
- 128. public boolean showPaint1 = false; // hover mouse
- 129. public boolean showPaint2 = false;
- 130. public boolean showPaint3 = false;
- 131. public boolean showPaint4 = false;
- 132.
- 133. private final BasicStroke stroke1 = new BasicStroke(1);
- 134.
- 135. // game tiles
- 136. RSTile toNW[];
- 137. RSTile toNE[];
- 138. RSTile toSW[];
- 139. RSTile toSE[];
- 140.
- 141. RSTile toBank[];
- 142. RSTile toMine[];
- 143. RSTile mineTile;
- 144. RSTile bankTile;
- 145. RSTile doorTile = new RSTile(3253, 3398);
- 146. RSTile runeShop = new RSTile(3253, 3401);
- 147.
- 148. // for GUI
- 149. private static final String[] TYPE_OPTION = new String[] { "Essence",
- 150. "Clay", "Copper", "Tin", "Iron", "Silver", "Coal", "Gold" };
- 151. private static final String[] SELECT_OPTION = new String[] {
- 152. "Barbarian Village", "Rimmington", "Al Kharid", "West Varrock",
- 153. "Varrock (Ess)" };
- 154. private static final String[] MINE_OPTION = new String[] { "Bank", "M2D2",
- 155. "Drop", "Hybrid" };
- 156.
- 157. // rock ID's
- 158. public int essence[] = { 2491 };
- 159. public int clay[] = { 11504, 11503, 11505, 9711, 9713, 15503, 15505 };
- 160. public int copper[] = { 11937, 11938, 9710, 9708, 9709 };
- 161. public int tin[] = { 11933, 11934, 11935, 11957, 11958, 11959, 9714, 9716 };
- 162. public int iron[] = { 37309, 37307, 37308, 11955, 11956, 9718, 9717, 9719 };
- 163. public int silver[] = { 37306, 37304, 37305, 11950, 11949, 11948 };
- 164. public int coal[] = { 11930, 11932, 11931 };
- 165. public int gold[] = { 37312, 37310, 9720, 9722 };
- 166.
- 167. // rstiles for essence mining
- 168. private boolean atNW() {
- 169. RSArea NorthWest = new RSArea(new RSTile(2884, 4837), new RSTile(2901,
- 170. 4859));
- 171. return (NorthWest.contains(getMyPlayer().getLocation()));
- 172. }
- 173.
- 174. private boolean atVarrock() {
- 175. RSArea Varrock = new RSArea(new RSTile(3239, 3388), new RSTile(3263,
- 176. 3431));
- 177. return (Varrock.contains(getMyPlayer().getLocation()));
- 178. }
- 179.
- 180. private boolean atNE() {
- 181. RSArea NorthEast = new RSArea(new RSTile(2918, 4841), new RSTile(2935,
- 182. 4857));
- 183. return (NorthEast.contains(getMyPlayer().getLocation()));
- 184. }
- 185.
- 186. private boolean atSW() {
- 187. RSArea SouthWest = new RSArea(new RSTile(2885, 4807), new RSTile(2904,
- 188. 4823));
- 189. return (SouthWest.contains(getMyPlayer().getLocation()));
- 190. }
- 191.
- 192. private boolean atSE() {
- 193. RSArea SouthEast = new RSArea(new RSTile(2920, 4806), new RSTile(2936,
- 194. 4823));
- 195. return (SouthEast.contains(getMyPlayer().getLocation()));
- 196. }
- 197.
- 198. private boolean atDoor() {
- 199. RSArea DoorLocation = new RSArea(new RSTile(3251, 3396), new RSTile(
- 200. 3255, 3405));
- 201. return (DoorLocation.contains(getMyPlayer().getLocation()));
- 202. }
- 203.
- 204. private boolean atBank() {
- 205. RSArea Bank = new RSArea(new RSTile(3250, 3419), new RSTile(3257, 3423));
- 206. return (Bank.contains(getMyPlayer().getLocation()));
- 207. }
- 208.
- 209. private boolean atCenter() {
- 210. RSArea Center = new RSArea(new RSTile(2903, 4824), new RSTile(2920,
- 211. 4840));
- 212. return (Center.contains(getMyPlayer().getLocation()));
- 213. }
- 214.
- 215. private boolean atShop() {
- 216. RSArea Shop = new RSArea(new RSTile(3251, 3403), new RSTile(3254, 3399));
- 217. return (Shop.contains(getMyPlayer().getLocation()));
- 218. }
- 219.
- 220. // /////////////////////////
- 221. // ////////VERSION//////////
- 222. // /////////////////////////
- 223.
- 224. private double getVersion() {
- 225. return (1.6);
- 226. }
- 227.
- 228. public void openURL(final String url) { // Credits to Dave who gave credits
- 229. // to
- 230. // some guy who made this.
- 231. final String osName = System.getProperty("os.name");
- 232. try {
- 233. if (osName.startsWith("Mac OS")) {
- 234. final Class<?> fileMgr = Class
- 235. .forName("com.apple.eio.FileManager");
- 236. final Method openURL = fileMgr.getDeclaredMethod("openURL",
- 237. new Class[] { String.class });
- 238. openURL.invoke(null, new Object[] { url });
- 239. } else if (osName.startsWith("Windows")) {
- 240. Runtime.getRuntime().exec(
- 241. "rundll32 url.dll,FileProtocolHandler " + url);
- 242. } else { // assume Unix or Linux
- 243. final String[] browsers = { "firefox", "opera", "konqueror",
- 244. "epiphany", "mozilla", "netscape" };
- 245. String browser = null;
- 246. for (int count = 0; count < browsers.length && browser == null; count++) {
- 247. if (Runtime.getRuntime()
- 248. .exec(new String[] { "which", browsers[count] })
- 249. .waitFor() == 0) {
- 250. browser = browsers[count];
- 251. }
- 252. }
- 253. if (browser == null) {
- 254. throw new Exception("Could not find web browser");
- 255. } else {
- 256. Runtime.getRuntime().exec(new String[] { browser, url });
- 257. }
- 258. }
- 259. } catch (final Exception e) {
- 260. }
- 261. }
- 262.
- 263. // /////////////////////////
- 264. // ////////ONSTART//////////
- 265. // /////////////////////////
- 266.
- 267. public boolean onStart() {
- 268. log("Starting up, this may take a few seconds...");
- 269.
- 270. // gets image
- 271. img1 = getImage("http://cublex.50webs.com/darkminer4.png");
- 272.
- 273. GUI GUI = new GUI();
- 274. GUI.setVisible(true);
- 275. while (GUI.isVisible()) {
- 276. sleep(50);
- 277. }
- 278.
- 279. yesUpdate = GUI.checkForUpdate.isSelected();
- 280.
- 281. if (yesUpdate == true) {
- 282. // updater
- 283. URLConnection url = null;
- 284. BufferedReader in = null;
- 285. BufferedWriter out = null;
- 286. try {
- 287. // Open the version text file
- 288. url = new URL(
- 289. "http://cublex.50webs.com/scripts/DarkMinerVERSION.txt")
- 290. .openConnection();
- 291. // Create an input stream for it
- 292. in = new BufferedReader(new InputStreamReader(
- 293. url.getInputStream()));
- 294. // Check if the current version is outdated
- 295. if (Double.parseDouble(in.readLine()) > getVersion()) {
- 296. // If it is, check if the user would like to update.
- 297. log("Update is available. Please head over to our thread to download it.");
- 298. } else
- 299. log("You have the latest version of DarkMiner.");
- 300. // User has the latest version. Tell them!
- 301. if (in != null)
- 302. in.close();
- 303. if (out != null)
- 304. out.close();
- 305. } catch (IOException e) {
- 306. log("A problem interrupted checking version.");
- 307. return false;
- 308. // Return false if there was a problem
- 309. }
- 310. // end of updater
- 311. } else {
- 312. log("You are using DarkMiner by Zhrz.");
- 313. }
- 314.
- 315. // sets up the mining mode
- 316. if (GUI.mineType.getSelectedItem().toString().equals("M2D2")) {
- 317. modeDrop = false;
- 318. modeMine2 = true;
- 319. modeHybrid = false;
- 320. modeBank = true;
- 321. } else if (GUI.mineType.getSelectedItem().toString().equals("Drop")) {
- 322. modeDrop = true;
- 323. modeMine2 = false;
- 324. modeHybrid = false;
- 325. modeBank = true;
- 326. } else if (GUI.mineType.getSelectedItem().toString().equals("Hybrid")) {
- 327. modeDrop = false;
- 328. modeMine2 = false;
- 329. modeHybrid = true;
- 330. modeBank = true;
- 331. } else if (GUI.mineType.getSelectedItem().toString().equals("Bank")) {
- 332. modeDrop = false;
- 333. modeMine2 = false;
- 334. modeHybrid = false;
- 335. modeBank = true;
- 336. }
- 337.
- 338. // ore type + location +path
- 339. if (GUI.oreType.getSelectedItem().toString().equals("Essence")) {
- 340. mineEss = true;
- 341. rockID = essence;
- 342. oreID = 1436;
- 343. if (GUI.location1.getSelectedItem().toString()
- 344. .equals("Varrock (Ess)")) {
- 345. bankTile = new RSTile(3254, 3420);
- 346.
- 347. toBank = new RSTile[] { new RSTile(3258, 3411),
- 348. new RSTile(3261, 3422), new RSTile(3254, 3420) };
- 349.
- 350. toMine = new RSTile[] { new RSTile(3254, 3420),
- 351. new RSTile(3257, 3412), new RSTile(3257, 3401),
- 352. new RSTile(3253, 3398) };
- 353.
- 354. toNW = new RSTile[] { new RSTile(2911, 4831),
- 355. new RSTile(2906, 4839), new RSTile(2900, 4842),
- 356. new RSTile(2895, 4846) };
- 357.
- 358. toNE = new RSTile[] { new RSTile(2911, 4831),
- 359. new RSTile(2919, 4840), new RSTile(2923, 4844),
- 360. new RSTile(2926, 4847) };
- 361.
- 362. toSW = new RSTile[] { new RSTile(2911, 4831),
- 363. new RSTile(2904, 4824), new RSTile(2899, 4820),
- 364. new RSTile(2897, 4817) };
- 365.
- 366. toSE = new RSTile[] { new RSTile(2911, 4831),
- 367. new RSTile(2918, 4822), new RSTile(2922, 4819),
- 368. new RSTile(2926, 4819) };
- 369. } else {
- 370. log("[Error] = Selected ore and location do not match.");
- 371. }
- 372. } else if (GUI.oreType.getSelectedItem().toString().equals("Clay")) {
- 373. rockID = clay;
- 374. oreID = 434;
- 375. if (GUI.location1.getSelectedItem().toString().equals("Rimmington")) {
- 376. mineTile = new RSTile(2986, 3240);
- 377. bankTile = new RSTile(3012, 3355);
- 378.
- 379. toBank = new RSTile[] { new RSTile(2986, 3240),
- 380. new RSTile(2978, 3242), new RSTile(2986, 3233),
- 381. new RSTile(2994, 3243), new RSTile(2993, 3256),
- 382. new RSTile(2993, 3269), new RSTile(3001, 3276),
- 383. new RSTile(3003, 3289), new RSTile(3003, 3302),
- 384. new RSTile(3005, 3315), new RSTile(3006, 3327),
- 385. new RSTile(3007, 3338), new RSTile(3012, 3355) };
- 386.
- 387. toMine = new RSTile[] { new RSTile(3012, 3355),
- 388. new RSTile(3007, 3344), new RSTile(3007, 3332),
- 389. new RSTile(3006, 3321), new RSTile(2997, 3310),
- 390. new RSTile(2986, 3304), new RSTile(2985, 3293),
- 391. new RSTile(2986, 3282), new RSTile(2979, 3274),
- 392. new RSTile(2974, 3263), new RSTile(2977, 3254),
- 393. new RSTile(2978, 3242), new RSTile(2986, 3240) };
- 394.
- 395. } else if (GUI.location1.getSelectedItem().toString()
- 396. .equals("West Varrock")) {
- 397. mineTile = new RSTile(3180, 3371);
- 398. bankTile = new RSTile(3182, 3436);
- 399.
- 400. toMine = new RSTile[] { new RSTile(3182, 3436),
- 401. new RSTile(3172, 3425), new RSTile(3171, 3410),
- 402. new RSTile(3175, 3396), new RSTile(3179, 3383),
- 403. new RSTile(3184, 3373), new RSTile(3180, 3371) };
- 404.
- 405. toBank = new RSTile[] { new RSTile(3180, 3371),
- 406. new RSTile(3184, 3373), new RSTile(3179, 3383),
- 407. new RSTile(3175, 3396), new RSTile(3171, 3410),
- 408. new RSTile(3172, 3425), new RSTile(3182, 3436) };
- 409. } else {
- 410. log("[Error] = Selected ore and location do not match.");
- 411. }
- 412.
- 413. } else if (GUI.oreType.getSelectedItem().toString().equals("Copper")) {
- 414. rockID = copper;
- 415. oreID = 436;
- 416. if (GUI.location1.getSelectedItem().toString().equals("Rimmington")) {
- 417. mineTile = new RSTile(2977, 3246);
- 418. bankTile = new RSTile(3012, 3355);
- 419.
- 420. toBank = new RSTile[] { new RSTile(2977, 3246),
- 421. new RSTile(2978, 3242), new RSTile(2986, 3233),
- 422. new RSTile(2994, 3243), new RSTile(2993, 3256),
- 423. new RSTile(2993, 3269), new RSTile(3001, 3276),
- 424. new RSTile(3003, 3289), new RSTile(3003, 3302),
- 425. new RSTile(3005, 3315), new RSTile(3006, 3327),
- 426. new RSTile(3007, 3338), new RSTile(3012, 3355) };
- 427.
- 428. toMine = new RSTile[] { new RSTile(3012, 3355),
- 429. new RSTile(3007, 3344), new RSTile(3007, 3332),
- 430. new RSTile(3006, 3321), new RSTile(2997, 3310),
- 431. new RSTile(2986, 3304), new RSTile(2985, 3293),
- 432. new RSTile(2986, 3282), new RSTile(2979, 3274),
- 433. new RSTile(2974, 3263), new RSTile(2977, 3254),
- 434. new RSTile(2977, 3246) };
- 435.
- 436. } else if (GUI.location1.getSelectedItem().toString()
- 437. .equals("Al Kharid")) {
- 438. mineTile = new RSTile(3297, 3314);
- 439. bankTile = new RSTile(3269, 3167);
- 440.
- 441. toMine = new RSTile[] { new RSTile(3269, 3167),
- 442. new RSTile(3277, 3176), new RSTile(3282, 3188),
- 443. new RSTile(3279, 3201), new RSTile(3277, 3215),
- 444. new RSTile(3280, 3227), new RSTile(3286, 3241),
- 445. new RSTile(3293, 3253), new RSTile(3295, 3266),
- 446. new RSTile(3298, 3278), new RSTile(3298, 3287),
- 447. new RSTile(3298, 3299), new RSTile(3298, 3299),
- 448. new RSTile(3299, 3311), new RSTile(3297, 3314) };
- 449.
- 450. toBank = new RSTile[] { new RSTile(3297, 3314),
- 451. new RSTile(3299, 3311), new RSTile(3298, 3299),
- 452. new RSTile(3298, 3299), new RSTile(3298, 3287),
- 453. new RSTile(3298, 3278), new RSTile(3295, 3266),
- 454. new RSTile(3293, 3253), new RSTile(3286, 3241),
- 455. new RSTile(3280, 3227), new RSTile(3277, 3215),
- 456. new RSTile(3279, 3201), new RSTile(3282, 3188),
- 457. new RSTile(3277, 3176), new RSTile(3269, 3167) };
- 458.
- 459. safeClick = true;
- 460.
- 461. } else {
- 462. log("[Error] = Selected ore and location do not match.");
- 463. }
- 464.
- 465. } else if (GUI.oreType.getSelectedItem().toString().equals("Tin")) {
- 466. rockID = tin;
- 467. oreID = 438;
- 468. if (GUI.location1.getSelectedItem().toString()
- 469. .equals("Barbarian Village")) {
- 470. mineTile = new RSTile(3080, 3419);
- 471. bankTile = new RSTile(3182, 3436);
- 472.
- 473. toBank = new RSTile[] { new RSTile(3080, 3491),
- 474. new RSTile(3089, 3420), new RSTile(3101, 3420),
- 475. new RSTile(3112, 3420), new RSTile(3124, 3420),
- 476. new RSTile(3134, 3423), new RSTile(3147, 3424),
- 477. new RSTile(3159, 3423), new RSTile(3172, 3429),
- 478. new RSTile(3182, 3436) };
- 479.
- 480. toMine = new RSTile[] { new RSTile(3182, 3436),
- 481. new RSTile(3172, 3429), new RSTile(3159, 3423),
- 482. new RSTile(3147, 3424), new RSTile(3134, 3423),
- 483. new RSTile(3124, 3420), new RSTile(3112, 3420),
- 484. new RSTile(3101, 3420), new RSTile(3089, 3420),
- 485. new RSTile(3080, 3491) };
- 486.
- 487. safeClick = true;
- 488.
- 489. } else if (GUI.location1.getSelectedItem().toString()
- 490. .equals("Rimmington")) {
- 491. mineTile = new RSTile(2984, 3236);
- 492. bankTile = new RSTile(3012, 3355);
- 493.
- 494. toBank = new RSTile[] { new RSTile(2984, 3236),
- 495. new RSTile(2978, 3242), new RSTile(2986, 3233),
- 496. new RSTile(2994, 3243), new RSTile(2993, 3256),
- 497. new RSTile(2993, 3269), new RSTile(3001, 3276),
- 498. new RSTile(3003, 3289), new RSTile(3003, 3302),
- 499. new RSTile(3005, 3315), new RSTile(3006, 3327),
- 500. new RSTile(3007, 3338), new RSTile(3012, 3355) };
- 501.
- 502. toMine = new RSTile[] { new RSTile(3012, 3355),
- 503. new RSTile(3007, 3344), new RSTile(3007, 3332),
- 504. new RSTile(3006, 3321), new RSTile(2997, 3310),
- 505. new RSTile(2986, 3304), new RSTile(2985, 3293),
- 506. new RSTile(2986, 3282), new RSTile(2979, 3274),
- 507. new RSTile(2974, 3263), new RSTile(2977, 3254),
- 508. new RSTile(2978, 3242), new RSTile(2984, 3236) };
- 509.
- 510. } else if (GUI.location1.getSelectedItem().toString()
- 511. .equals("Al Kharid")) {
- 512. mineTile = new RSTile(3301, 3316);
- 513. bankTile = new RSTile(3269, 3167);
- 514.
- 515. toMine = new RSTile[] { new RSTile(3269, 3167),
- 516. new RSTile(3277, 3176), new RSTile(3282, 3188),
- 517. new RSTile(3279, 3201), new RSTile(3277, 3215),
- 518. new RSTile(3280, 3227), new RSTile(3286, 3241),
- 519. new RSTile(3293, 3253), new RSTile(3295, 3266),
- 520. new RSTile(3298, 3278), new RSTile(3298, 3287),
- 521. new RSTile(3298, 3299), new RSTile(3298, 3299),
- 522. new RSTile(3299, 3311), new RSTile(3301, 3316) };
- 523.
- 524. toBank = new RSTile[] { new RSTile(3301, 3316),
- 525. new RSTile(3299, 3311), new RSTile(3298, 3299),
- 526. new RSTile(3298, 3299), new RSTile(3298, 3287),
- 527. new RSTile(3298, 3278), new RSTile(3295, 3266),
- 528. new RSTile(3293, 3253), new RSTile(3286, 3241),
- 529. new RSTile(3280, 3227), new RSTile(3277, 3215),
- 530. new RSTile(3279, 3201), new RSTile(3282, 3188),
- 531. new RSTile(3277, 3176), new RSTile(3269, 3167) };
- 532.
- 533. safeClick = true;
- 534.
- 535. } else if (GUI.location1.getSelectedItem().toString()
- 536. .equals("West Varrock")) {
- 537. mineTile = new RSTile(3182, 3377);
- 538. bankTile = new RSTile(3182, 3436);
- 539.
- 540. toMine = new RSTile[] { new RSTile(3182, 3436),
- 541. new RSTile(3172, 3425), new RSTile(3171, 3410),
- 542. new RSTile(3175, 3396), new RSTile(3179, 3383),
- 543. new RSTile(3182, 3376) };
- 544.
- 545. toBank = new RSTile[] { new RSTile(3182, 3376),
- 546. new RSTile(3179, 3383), new RSTile(3175, 3396),
- 547. new RSTile(3171, 3410), new RSTile(3172, 3425),
- 548. new RSTile(3182, 3436) };
- 549.
- 550. } else {
- 551. log("[Error] = Selected ore and location do not match.");
- 552. }
- 553.
- 554. } else if (GUI.oreType.getSelectedItem().toString().equals("Iron")) {
- 555. rockID = iron;
- 556. oreID = 440;
- 557. if (GUI.location1.getSelectedItem().toString().equals("Rimmington")) {
- 558. mineTile = new RSTile(2970, 3240);
- 559. bankTile = new RSTile(3012, 3355);
- 560.
- 561. toBank = new RSTile[] { new RSTile(2970, 3240),
- 562. new RSTile(2978, 3242), new RSTile(2986, 3233),
- 563. new RSTile(2994, 3243), new RSTile(2993, 3256),
- 564. new RSTile(2993, 3269), new RSTile(3001, 3276),
- 565. new RSTile(3003, 3289), new RSTile(3003, 3302),
- 566. new RSTile(3005, 3315), new RSTile(3006, 3327),
- 567. new RSTile(3007, 3338), new RSTile(3012, 3355) };
- 568.
- 569. toMine = new RSTile[] { new RSTile(3012, 3355),
- 570. new RSTile(3007, 3344), new RSTile(3007, 3332),
- 571. new RSTile(3006, 3321), new RSTile(2997, 3310),
- 572. new RSTile(2986, 3304), new RSTile(2985, 3293),
- 573. new RSTile(2986, 3282), new RSTile(2979, 3274),
- 574. new RSTile(2974, 3263), new RSTile(2977, 3254),
- 575. new RSTile(2978, 3242), new RSTile(2970, 3240) };
- 576.
- 577. } else if (GUI.location1.getSelectedItem().toString()
- 578. .equals("Al Kharid")) {
- 579. mineTile = new RSTile(3298, 3311);
- 580. bankTile = new RSTile(3269, 3167);
- 581.
- 582. toMine = new RSTile[] { new RSTile(3269, 3167),
- 583. new RSTile(3277, 3176), new RSTile(3282, 3188),
- 584. new RSTile(3279, 3201), new RSTile(3277, 3215),
- 585. new RSTile(3280, 3227), new RSTile(3286, 3241),
- 586. new RSTile(3293, 3253), new RSTile(3295, 3266),
- 587. new RSTile(3298, 3278), new RSTile(3298, 3287),
- 588. new RSTile(3298, 3299), new RSTile(3298, 3311) };
- 589.
- 590. toBank = new RSTile[] { new RSTile(3298, 3311),
- 591. new RSTile(3298, 3299), new RSTile(3298, 3287),
- 592. new RSTile(3298, 3278), new RSTile(3295, 3266),
- 593. new RSTile(3293, 3253), new RSTile(3286, 3241),
- 594. new RSTile(3280, 3227), new RSTile(3277, 3215),
- 595. new RSTile(3279, 3201), new RSTile(3282, 3188),
- 596. new RSTile(3277, 3176), new RSTile(3269, 3167) };
- 597.
- 598. safeClick = true;
- 599.
- 600. } else if (GUI.location1.getSelectedItem().toString()
- 601. .equals("West Varrock")) {
- 602. mineTile = new RSTile(3175, 3367);
- 603. bankTile = new RSTile(3182, 3436);
- 604.
- 605. toMine = new RSTile[] { new RSTile(3182, 3436),
- 606. new RSTile(3172, 3425), new RSTile(3171, 3410),
- 607. new RSTile(3175, 3396), new RSTile(3179, 3383),
- 608. new RSTile(3184, 3373), new RSTile(3175, 3367) };
- 609.
- 610. toBank = new RSTile[] { new RSTile(3175, 3367),
- 611. new RSTile(3184, 3373), new RSTile(3179, 3383),
- 612. new RSTile(3175, 3396), new RSTile(3171, 3410),
- 613. new RSTile(3172, 3425), new RSTile(3182, 3436) };
- 614. } else {
- 615. log("[Error] = Selected ore and location do not match.");
- 616. }
- 617.
- 618. } else if (GUI.oreType.getSelectedItem().toString().equals("Silver")) {
- 619. rockID = silver;
- 620. oreID = 442;
- 621. if (GUI.location1.getSelectedItem().toString().equals("Al Kharid")) {
- 622. mineTile = new RSTile(3295, 3301);
- 623. bankTile = new RSTile(3269, 3167);
- 624.
- 625. toMine = new RSTile[] { new RSTile(3269, 3167),
- 626. new RSTile(3277, 3176), new RSTile(3282, 3188),
- 627. new RSTile(3279, 3201), new RSTile(3277, 3215),
- 628. new RSTile(3280, 3227), new RSTile(3286, 3241),
- 629. new RSTile(3293, 3253), new RSTile(3295, 3266),
- 630. new RSTile(3298, 3278), new RSTile(3298, 3287),
- 631. new RSTile(3295, 3301) };
- 632.
- 633. toBank = new RSTile[] { new RSTile(3295, 3301),
- 634. new RSTile(3298, 3287), new RSTile(3298, 3278),
- 635. new RSTile(3295, 3266), new RSTile(3293, 3253),
- 636. new RSTile(3286, 3241), new RSTile(3280, 3227),
- 637. new RSTile(3277, 3215), new RSTile(3279, 3201),
- 638. new RSTile(3282, 3188), new RSTile(3277, 3176),
- 639. new RSTile(3269, 3167) };
- 640.
- 641. safeClick = true;
- 642.
- 643. } else if (GUI.location1.getSelectedItem().toString()
- 644. .equals("West Varrock")) {
- 645. mineTile = new RSTile(3176, 3368);
- 646. bankTile = new RSTile(3182, 3436);
- 647.
- 648. toMine = new RSTile[] { new RSTile(3182, 3436),
- 649. new RSTile(3172, 3425), new RSTile(3171, 3410),
- 650. new RSTile(3175, 3396), new RSTile(3179, 3383),
- 651. new RSTile(3184, 3373), new RSTile(3177, 3368) };
- 652.
- 653. toBank = new RSTile[] { new RSTile(3177, 3368),
- 654. new RSTile(3184, 3373), new RSTile(3179, 3383),
- 655. new RSTile(3175, 3396), new RSTile(3171, 3410),
- 656. new RSTile(3172, 3425), new RSTile(3182, 3436) };
- 657. } else {
- 658. log("[Error] = Selected ore and location do not match.");
- 659. }
- 660.
- 661. } else if (GUI.oreType.getSelectedItem().toString().equals("Coal")) {
- 662. rockID = coal;
- 663. oreID = 453;
- 664. if (GUI.location1.getSelectedItem().toString()
- 665. .equals("Barbarian Village")) {
- 666. mineTile = new RSTile(3083, 3422);
- 667. bankTile = new RSTile(3182, 3436);
- 668.
- 669. toBank = new RSTile[] { new RSTile(3083, 3422),
- 670. new RSTile(3089, 3420), new RSTile(3101, 3420),
- 671. new RSTile(3112, 3420), new RSTile(3124, 3420),
- 672. new RSTile(3134, 3423), new RSTile(3147, 3424),
- 673. new RSTile(3159, 3423), new RSTile(3172, 3429),
- 674. new RSTile(3182, 3436) };
- 675.
- 676. toMine = new RSTile[] { new RSTile(3182, 3436),
- 677. new RSTile(3172, 3429), new RSTile(3159, 3423),
- 678. new RSTile(3147, 3424), new RSTile(3134, 3423),
- 679. new RSTile(3124, 3420), new RSTile(3112, 3420),
- 680. new RSTile(3101, 3420), new RSTile(3089, 3420),
- 681. new RSTile(3083, 3422) };
- 682.
- 683. safeClick = true;
- 684.
- 685. } else if (GUI.location1.getSelectedItem().toString()
- 686. .equals("Al Kharid")) {
- 687. mineTile = new RSTile(3300, 3299);
- 688. bankTile = new RSTile(3269, 3167);
- 689.
- 690. toMine = new RSTile[] { new RSTile(3269, 3167),
- 691. new RSTile(3277, 3176), new RSTile(3282, 3188),
- 692. new RSTile(3279, 3201), new RSTile(3277, 3215),
- 693. new RSTile(3280, 3227), new RSTile(3286, 3241),
- 694. new RSTile(3293, 3253), new RSTile(3295, 3266),
- 695. new RSTile(3298, 3278), new RSTile(3298, 3287),
- 696. new RSTile(3300, 3300) };
- 697.
- 698. toBank = new RSTile[] { new RSTile(3300, 3300),
- 699. new RSTile(3298, 3287), new RSTile(3298, 3278),
- 700. new RSTile(3295, 3266), new RSTile(3293, 3253),
- 701. new RSTile(3286, 3241), new RSTile(3280, 3227),
- 702. new RSTile(3277, 3215), new RSTile(3279, 3201),
- 703. new RSTile(3282, 3188), new RSTile(3277, 3176),
- 704. new RSTile(3269, 3167) };
- 705.
- 706. safeClick = true;
- 707.
- 708. } else {
- 709. log("[Error] = Selected ore and location do not match.");
- 710. }
- 711.
- 712. } else if (GUI.oreType.getSelectedItem().toString().equals("Gold")) {
- 713. rockID = gold;
- 714. oreID = 444;
- 715. if (GUI.location1.getSelectedItem().toString().equals("Rimmington")) {
- 716. mineTile = new RSTile(2977, 3234);
- 717. bankTile = new RSTile(3012, 3355);
- 718.
- 719. toBank = new RSTile[] { new RSTile(2977, 3234),
- 720. new RSTile(2978, 3242), new RSTile(2986, 3233),
- 721. new RSTile(2994, 3243), new RSTile(2993, 3256),
- 722. new RSTile(2993, 3269), new RSTile(3001, 3276),
- 723. new RSTile(3003, 3289), new RSTile(3003, 3302),
- 724. new RSTile(3005, 3315), new RSTile(3006, 3327),
- 725. new RSTile(3007, 3338), new RSTile(3012, 3355) };
- 726.
- 727. toMine = new RSTile[] { new RSTile(3012, 3355),
- 728. new RSTile(3007, 3344), new RSTile(3007, 3332),
- 729. new RSTile(3006, 3321), new RSTile(2997, 3310),
- 730. new RSTile(2986, 3304), new RSTile(2985, 3293),
- 731. new RSTile(2986, 3282), new RSTile(2979, 3274),
- 732. new RSTile(2974, 3263), new RSTile(2977, 3254),
- 733. new RSTile(2978, 3242), new RSTile(2977, 3234) };
- 734.
- 735. } else if (GUI.location1.getSelectedItem().toString()
- 736. .equals("Al Kharid")) {
- 737. mineTile = new RSTile(3297, 3287);
- 738. bankTile = new RSTile(3269, 3167);
- 739.
- 740. toMine = new RSTile[] { new RSTile(3269, 3167),
- 741. new RSTile(3277, 3176), new RSTile(3282, 3188),
- 742. new RSTile(3279, 3201), new RSTile(3277, 3215),
- 743. new RSTile(3280, 3227), new RSTile(3286, 3241),
- 744. new RSTile(3293, 3253), new RSTile(3295, 3266),
- 745. new RSTile(3298, 3278), new RSTile(3297, 3287) };
- 746.
- 747. toBank = new RSTile[] { new RSTile(3297, 3287),
- 748. new RSTile(3298, 3278), new RSTile(3295, 3266),
- 749. new RSTile(3293, 3253), new RSTile(3286, 3241),
- 750. new RSTile(3280, 3227), new RSTile(3277, 3215),
- 751. new RSTile(3279, 3201), new RSTile(3282, 3188),
- 752. new RSTile(3277, 3176), new RSTile(3269, 3167) };
- 753.
- 754. safeClick = true;
- 755. } else {
- 756. log("[Error] = Selected ore and location do not match.");
- 757. }
- 758. }
- 759.
- 760. mouse.setSpeed(random(7, 8)); // Lets sort out this mouse
- 761. startTime = System.currentTimeMillis(); // start paint timer
- 762. return true;
- 763. }
- 764.
- 765. // ///////////////////////////////
- 766. // ////////SERVERMESSAGE//////////
- 767. // ///////////////////////////////
- 768.
- 769. public void messageReceived(MessageEvent e) {
- 770. String svrmsg = e.getMessage();
- 771.
- 772. if (svrmsg.contains("clay")) {
- 773. oresMined = oresMined + 1;
- 774. }
- 775. if (svrmsg.contains("copper")) {
- 776. oresMined = oresMined + 1;
- 777. }
- 778. if (svrmsg.contains("tin")) {
- 779. oresMined = oresMined + 1;
- 780. }
- 781. if (svrmsg.contains("iron")) {
- 782. oresMined = oresMined + 1;
- 783. }
- 784. if (svrmsg.contains("silver")) {
- 785. oresMined = oresMined + 1;
- 786. }
- 787. if (svrmsg.contains("coal")) {
- 788. oresMined = oresMined + 1;
- 789. }
- 790. if (svrmsg.contains("gold")) {
- 791. oresMined = oresMined + 1;
- 792. }
- 793.
- 794. if (svrmsg.contains("just found")) {
- 795. gemsMined = gemsMined + 1;
- 796. }
- 797. }
- 798.
- 799. // ///////////////////////
- 800. // /////RESTandRUN////////
- 801. // ///////////////////////
- 802.
- 803. public boolean letsRun() {
- 804. mouse.setSpeed(random(4, 9));
- 805. if (minRunSoRest == 0) {
- 806. if (mineEss) {
- 807. minRunSoRest = random(78, 88);
- 808. } else {
- 809. minRunSoRest = random(1, 23);
- 810. }
- 811. stopRest = random(89, 97);
- 812. }
- 813. if (walking.isRunEnabled() == false
- 814. || walking.getEnergy() < minRunSoRest) {
- 815. if (walking.getEnergy() < stopRest) {
- 816. status = "Resting";
- 817. walking.rest(random(92, 100));
- 818. do {
- 819. sleep(250, 350);
- 820. AntiBanPro();
- 821. sleep(250, 350);
- 822. AntiBanCamera();
- 823. } while (walking.getEnergy() < stopRest);
- 824. }
- 825. if (walking.getEnergy() > stopRest) {
- 826. if (walking.isRunEnabled() == false) {
- 827. status = "Turning run on";
- 828. walking.setRun(true);
- 829. sleep(850, 1200);
- 830. minRunSoRest = 0;
- 831. } else if (walking.isRunEnabled() == true) {
- 832. sleep(20, 30);
- 833. }
- 834. }
- 835. } else {
- 836. sleep(12, 15);
- 837. }
- 838. return true;
- 839. }
- 840.
- 841. // ///////////////////////
- 842. // ////////BANK///////////
- 843. // ///////////////////////
- 844.
- 845. public boolean bankGems() {
- 846. while (inventory.getItem(gems) != null) {
- 847. RSItem item = inventory.getItem(gems);
- 848. item.doClick(true);
- 849. sleep(500, 600);
- 850. }
- 851. return true;
- 852. }
- 853.
- 854. public boolean bank() {
- 855. mouse.setSpeed(random(5, 8));
- 856. status = "Banking";
- 857. if (bank.isOpen()) {
- 858.
- 859. if (gotPickOn == 0) { // holding a pickaxe?
- 860. if (inventory.containsOneOf(pickID)) {
- 861. pickHold = false;
- 862. } else
- 863. pickHold = true;
- 864. }
- 865.
- 866. // if yes bank fast
- 867. if (pickHold == true) {
- 868. bank.depositAll();
- 869. sleep(random(250, 500));
- 870. } else if (pickHold == false) { // if not bank slowly
- 871. bank.depositAllExcept(pickID);
- 872. bankGems();
- 873. sleep(random(250, 500));
- 874. }
- 875.
- 876. mouse.move(490, 36, 3, 3); // lets safely close the bank safely
- 877. sleep(200, 500);
- 878. mouse.click(true);
- 879. sleep(random(300, 700));
- 880. AntiBanCamera();
- 881. AntiBanPro();
- 882.
- 883. } else {
- 884. bank.open();
- 885. sleep(500);
- 886. while (players.getMyPlayer().isMoving()) {
- 887. sleep(50);
- 888. }
- 889. sleep(700);
- 890. }
- 891. return true;
- 892. }
- 893.
- 894. // //////////////////////
- 895. // //////GetImage////////
- 896. // //////////////////////
- 897.
- 898. private Image getImage(String url) {
- 899. try {
- 900. return ImageIO.read(new URL(url));
- 901. } catch (IOException e) {
- 902. return null;
- 903. }
- 904. }
- 905.
- 906. // //////////////////////
- 907. // ////////mTwo//////////
- 908. // //////////////////////
- 909.
- 910. public void mTwo() {
- 911. mouse.setSpeed(random(4, 7));
- 912. status = "Looking for rock";
- 913. RSObject rock = objects.getNearest(rockID);
- 914. if (rock != null) {
- 915. paintRock = rock; // paints rock
- 916. if (safeClick == true) {
- 917. rockSpot = rock.getLocation(); // sets the title rock is on
- 918. mouse.move(calc.tileToScreen(rockSpot), random(-10, 10),
- 919. random(-10, 10));// hovers over that tile
- 920. if (menu.contains("Mine")) {
- 921. menu.doAction("Mine");
- 922. }
- 923. } else {
- 924. rock.doAction("Mine");
- 925. }
- 926. if (calc.distanceTo(mineTile) <= 1) {
- 927. sleep(random(1700, 1800));
- 928. } else if (calc.distanceTo(mineTile) <= 2) {
- 929. sleep(random(2100, 2200));
- 930. } else if (calc.distanceTo(mineTile) <= 3) {
- 931. sleep(random(2200, 2300));
- 932. } else if (calc.distanceTo(mineTile) <= 4) {
- 933. sleep(random(2300, 2500));
- 934. }
- 935.
- 936. while (!(getMyPlayer().getAnimation() == -1 && objects
- 937. .getNearest(rockID) != rock)) {
- 938. status = "Mining ore";
- 939. AntiBanPro();
- 940. AntiBanCamera();
- 941. sleep(random(50, 150));
- 942. if (inventory.getCount(oreID) >= 1
- 943. && getMyPlayer().getAnimation() != -1) {
- 944. inventory.getItem(oreID).getComponent().doHover();
- 945. }
- 946. }
- 947. if (inventory.getCount(oreID) >= 2) {
- 948. status = "Dropping ore";
- 949. mouse.setSpeed(random(6, 7));
- 950. inventory.dropAllExcept(pickID);
- 951. }
- 952. }
- 953. }
- 954.
- 955. // //////////////////////
- 956. // ///////hybrid/////////
- 957. // //////////////////////
- 958.
- 959. private void hybrid() {
- 960. mouse.setSpeed(random(5, 7));
- 961.
- 962. if (inventory.getCountExcept(pickID) >= 1) {
- 963. RSObject rock = objects.getNearest(rockID);
- 964.
- 965. if (rock != null) {
- 966. paintRock = rock; // first set this up
- 967. rockSpot = rock.getLocation();
- 968.
- 969. // next click on rock
- 970. status = "Clicking on rock";
- 971. if (safeClick == true) {
- 972. mouse.move(calc.tileToScreen(rockSpot), random(-10, 10),
- 973. random(-10, 10));// hovers over that tile
- 974. if (menu.contains("Mine")) {
- 975. menu.doAction("Mine");
- 976. }
- 977. } else {
- 978. rock.doAction("Mine");
- 979. }
- 980. sleep(100, 150);
- 981.
- 982. // while walking towards rock drop all ore
- 983. status = "Dropping ore";
- 984. mouse.setSpeed(random(4, 7));
- 985. inventory.dropAllExcept(pickID);
- 986.
- 987. // then click to actually mine the ore
- 988. mouse.setSpeed(random(5, 8));
- 989.
- 990. if (safeClick == true) {
- 991. mouse.move(calc.tileToScreen(rockSpot), random(-10, 10),
- 992. random(-10, 10));// hovers over that tile
- 993. if (menu.contains("Mine")) {
- 994. menu.doAction("Mine");
- 995. }
- 996. } else {
- 997. rock.doAction("Mine");
- 998. }
- 999.
- 1000. sleep(random(1700, 1800));
- 1001. // only needs as one spot of hopefully
- 1002.
- 1003. while (!(getMyPlayer().getAnimation() == -1 && objects
- 1004. .getNearest(rockID) != rock)) {
- 1005. status = "Mining ore";
- 1006. AntiBanPro();
- 1007. AntiBanCamera();
- 1008. sleep(random(50, 150));
- 1009. }
- 1010. }
- 1011. } else {
- 1012. mine();
- 1013. }
- 1014. }
- 1015.
- 1016. // //////////////////////
- 1017. // ////////DROP//////////
- 1018. // //////////////////////
- 1019.
- 1020. private void dropOre() {
- 1021. mouse.setSpeed(random(7, 8));
- 1022. strangeRock();
- 1023. status = "Dropping ore";
- 1024. inventory.dropAllExcept(pickID);
- 1025. sleep(200, 500);
- 1026. }
- 1027.
- 1028. // ///////////////////////
- 1029. // ///////MOUSE///////////
- 1030. // ///////////////////////
- 1031.
- 1032. public void mouseMoved(MouseEvent e) {
- 1033. if (e.getX() >= 6 && e.getX() < 6 + 60 && e.getY() >= 250
- 1034. && e.getY() < 250 + 20) {
- 1035. showPaint1 = true;
- 1036. showPaint2 = false;
- 1037. showPaint3 = false;
- 1038. showPaint4 = false;
- 1039. }
- 1040. if (e.getX() >= 70 && e.getX() < 70 + 60 && e.getY() >= 250
- 1041. && e.getY() < 250 + 20) {
- 1042. showPaint2 = true;
- 1043. showPaint1 = false;
- 1044. showPaint3 = false;
- 1045. showPaint4 = false;
- 1046. }
- 1047. if (e.getX() >= 134 && e.getX() < 134 + 60 && e.getY() >= 250
- 1048. && e.getY() < 250 + 20) {
- 1049. showPaint3 = true;
- 1050. showPaint1 = false;
- 1051. showPaint2 = false;
- 1052. showPaint4 = false;
- 1053. }
- 1054. if (e.getX() >= 198 && e.getX() < 198 + 13 && e.getY() >= 250
- 1055. && e.getY() < 250 + 20) {
- 1056. showPaint4 = true;
- 1057. showPaint1 = false;
- 1058. showPaint2 = false;
- 1059. showPaint3 = false;
- 1060. }
- 1061. } // all for interactive paint say 'aye'
- 1062.
- 1063. public void mouseDragged(MouseEvent e) {
- 1064. // complete utter waste,
- 1065. }
- 1066.
- 1067. // ///////////////////////
- 1068. // ////////WALK///////////
- 1069. // ///////////////////////
- 1070.
- 1071. public boolean walkToBank() {
- 1072. mouse.setSpeed(random(4, 9));
- 1073. status = "Walking to Bank";
- 1074. walking.walkPathMM(toBank, 2, 2);
- 1075. AntiBanCamera();
- 1076. sleep(700);
- 1077.
- 1078. while (players.getMyPlayer().isMoving()) {
- 1079. AntiBanCamera();
- 1080. sleep(50, 80);
- 1081. }
- 1082. return true;
- 1083. }
- 1084.
- 1085. public boolean walkToMine() {
- 1086. mouse.setSpeed(random(4, 9));
- 1087. status = "Walking to Mine";
- 1088. walking.walkPathMM(toMine, 2, 2);
- 1089. sleep(700);
- 1090.
- 1091. while (players.getMyPlayer().isMoving()) {
- 1092. AntiBanCamera();
- 1093. sleep(50, 80);
- 1094. }
- 1095.
- 1096. return true;
- 1097. }
- 1098.
- 1099. public boolean walkToRock() {
- 1100. mouse.setSpeed(random(4, 9));
- 1101. status = "Walking to Essence";
- 1102. if (randomNum2 == 0) {
- 1103. randomNum2 = random(1, 4);
- 1104. }
- 1105. if (randomNum2 == 1) {
- 1106. walking.walkPathMM(toNE, 2, 2);
- 1107. } else if (randomNum2 == 2) {
- 1108. walking.walkPathMM(toNW, 2, 2);
- 1109. } else if (randomNum2 == 3) {
- 1110. walking.walkPathMM(toSE, 2, 2);
- 1111. } else if (randomNum2 == 4) {
- 1112. walking.walkPathMM(toSW, 2, 2);
- 1113. }
- 1114. sleep(600, 700);
- 1115. while (players.getMyPlayer().isMoving()) {
- 1116. AntiBanCamera();
- 1117. sleep(50, 80);
- 1118. }
- 1119.
- 1120. return true;
- 1121. }
- 1122.
- 1123. // ///////////////////////
- 1124. // /////AuburyTele////////
- 1125. // ///////////////////////
- 1126.
- 1127. public void teleport() {
- 1128. RSNPC aubury = npcs.getNearest(auburyID);
- 1129. if (aubury != null) {
- 1130.
- 1131. status = "Teleporting.";
- 1132. aubury.doAction("Teleport");
- 1133. }
- 1134. sleep(2400, 3000);
- 1135. }
- 1136.
- 1137. // ///////////////////////
- 1138. // //////OpenDoor/////////
- 1139. // ///////////////////////
- 1140.
- 1141. public void openDoor() {
- 1142. RSObject door = objects.getTopAt(doorTile);
- 1143. if (door != null) {
- 1144. status = "Opening Door.";
- 1145. camera.turnToObject(door, random(2, 3));
- 1146. door.doAction("Open");
- 1147. sleep(random(500, 650));
- 1148. }
- 1149. if (door == null) {
- 1150. teleport();
- 1151. }
- 1152. }
- 1153.
- 1154. public void openDoor2() {
- 1155. RSObject door = objects.getTopAt(doorTile);
- 1156. if (door != null) {
- 1157. status = "Opening Door.";
- 1158. camera.turnToObject(door, random(2, 3));
- 1159. door.doAction("Open");
- 1160. sleep(500, 650);
- 1161. } else if (door == null) {
- 1162. status = "Walking To Bank.";
- 1163. sleep(550, 700); // maybe needed
- 1164. walkToBank();
- 1165. }
- 1166. }
- 1167.
- 1168. // ///////////////////////
- 1169. // ////ClickPortal////////
- 1170. // ///////////////////////
- 1171.
- 1172. public void portal() {
- 1173. RSObject Portal = objects.getNearest(portalID);
- 1174. randomNum2 = 0;
- 1175. if (getMyPlayer().getAnimation() == -1 && Portal.getLocation() != null) {
- 1176. status = "Using Portal.";
- 1177. camera.setAngle(random(180, 90));
- 1178. if (calc.distanceTo(Portal) < 3) {
- 1179. Portal.doAction("Enter");
- 1180. sleep(5050, 7550);
- 1181. } else {
- 1182. walking.walkTo(Portal.getLocation());
- 1183. int i = 1;
- 1184. while ((calc.distanceTo(Portal) > 1) || i < 5) {
- 1185. sleep(550, 650);
- 1186. i++;
- 1187. }
- 1188. }
- 1189. }
- 1190. }
- 1191.
- 1192. // ///////////////////////
- 1193. // ////StrangeRock////////
- 1194. // ///////////////////////
- 1195.
- 1196. private void strangeRock() {
- 1197. mouse.setSpeed(random(4, 8));
- 1198. RSItem StrangeRock = inventory.getItem(strangeRockID);
- 1199. RSInterface inf = interfaces.get(94);
- 1200. RSComponent child;
- 1201. if (inventory.containsOneOf(strangeRockID)) {
- 1202. status = "Destroying strange rock";
- 1203. StrangeRock.doAction("Destroy");
- 1204. child = inf.getComponent(0);
- 1205. if (child != null && child.isValid()) {
- 1206. if (child.doAction("Continue")) {
- 1207. sleep(900);
- 1208. }
- 1209. }
- 1210. }
- 1211. }
- 1212.
- 1213. // ///////////////////////
- 1214. // ////////MINE///////////
- 1215. // ///////////////////////
- 1216.
- 1217. public boolean mine() {
- 1218. mouse.setSpeed(random(4, 7));
- 1219. status = "Looking for Rock";
- 1220. RSObject rock = objects.getNearest(rockID);
- 1221. if (rock != null) {
- 1222. paintRock = rock; // paints rock
- 1223.
- 1224. if (mineEss) { // so doesn't just stand there
- 1225. camera.turnToObject(rock, random(2, 13));
- 1226. }
- 1227.
- 1228. if (safeClick == true) {
- 1229. rockSpot = rock.getLocation(); // sets the title rock is on
- 1230. mouse.move(calc.tileToScreen(rockSpot), random(-10, 10),
- 1231. random(-10, 10));// hovers over that tile
- 1232. if (menu.contains("Mine")) {
- 1233. menu.doAction("Mine");
- 1234. }
- 1235. } else {
- 1236. rock.doAction("Mine");
- 1237. }
- 1238. if (calc.distanceTo(mineTile) <= 1) {
- 1239. sleep(random(1700, 1800));
- 1240. } else if (calc.distanceTo(mineTile) <= 2) {
- 1241. sleep(random(2100, 2200));
- 1242. } else if (calc.distanceTo(mineTile) <= 3) {
- 1243. sleep(random(2200, 2300));
- 1244. } else if (calc.distanceTo(mineTile) <= 4) {
- 1245. sleep(random(2300, 2500));
- 1246. }
- 1247.
- 1248. while (!(getMyPlayer().getAnimation() == -1 && objects
- 1249. .getNearest(rockID) != rock)) {
- 1250. status = "Mining Ore";
- 1251. AntiBanPro();
- 1252. AntiBanCamera();
- 1253. sleep(random(50, 150));
- 1254. }
- 1255. }
- 1256. return true;
- 1257. }
- 1258.
- 1259. // ///////////////////////
- 1260. // /////DrawRocks/////////
- 1261. // ///////////////////////
- 1262.
- 1263. private void drawTile(Graphics render, RSTile tile, Color color,
- 1264. boolean drawCardinalDirections) {
- 1265. Point southwest = calc.tileToScreen(tile, 0, 0, 0);
- 1266. Point southeast = calc.tileToScreen(
- 1267. new RSTile(tile.getX() + 1, tile.getY()), 0, 0, 0);
- 1268. Point northwest = calc.tileToScreen(new RSTile(tile.getX(),
- 1269. tile.getY() + 1), 0, 0, 0);
- 1270. Point northeast = calc.tileToScreen(
- 1271. new RSTile(tile.getX() + 1, tile.getY() + 1), 0, 0, 0);
- 1272.
- 1273. if (calc.pointOnScreen(southwest) && calc.pointOnScreen(southeast)
- 1274. && calc.pointOnScreen(northwest)
- 1275. && calc.pointOnScreen(northeast)) {
- 1276. render.setColor(Color.BLACK);
- 1277. render.drawPolygon(new int[] { (int) northwest.getX(),
- 1278. (int) northeast.getX(), (int) southeast.getX(),
- 1279. (int) southwest.getX() },
- 1280. new int[] { (int) northwest.getY(), (int) northeast.getY(),
- 1281. (int) southeast.getY(), (int) southwest.getY() }, 4);
- 1282. render.setColor(color);
- 1283. render.fillPolygon(new int[] { (int) northwest.getX(),
- 1284. (int) northeast.getX(), (int) southeast.getX(),
- 1285. (int) southwest.getX() },
- 1286. new int[] { (int) northwest.getY(), (int) northeast.getY(),
- 1287. (int) southeast.getY(), (int) southwest.getY() }, 4);
- 1288.
- 1289. if (drawCardinalDirections) {
- 1290. render.setColor(Color.WHITE);
- 1291.
- 1292. }
- 1293. }
- 1294. }
- 1295.
- 1296. private void paintRockModel(final Graphics g, final RSObject o,
- 1297. final Color c, String s) {
- 1298. for (Polygon p : o.getModel().getTriangles()) {
- 1299. g.setColor(c);
- 1300. g.drawPolygon(p);
- 1301. if (c == Color.green) {
- 1302. g.setColor(new Color(0, 200, 0, 130));
- 1303. } else if (c == Color.red) {
- 1304. g.setColor(new Color(200, 0, 0, 130));
- 1305. } else if (c == Color.blue) {
- 1306. g.setColor(new Color(0, 0, 200, 70));
- 1307. }
- 1308. g.fillPolygon(p);
- 1309. }
- 1310. final Point p = calc.tileToScreen(o.getLocation());
- 1311. g.setColor(c);
- 1312. g.drawString(s, p.x - 30, p.y - 25);
- 1313. }
- 1314.
- 1315. // ///////////////////////
- 1316. // ////////PAINT//////////
- 1317. // ///////////////////////
- 1318.
- 1319. public void onRepaint(Graphics g) {
- 1320. if (game.isLoggedIn() == true) {
- 1321.
- 1322. drawTile(g, players.getMyPlayer().getLocation(), new Color(0, 0,
- 1323. 200, 70), true);
- 1324. if (paintRock != null) {
- 1325. paintRockModel(g, paintRock, Color.blue, "Rock");
- 1326. }
- 1327.
- 1328. g.setColor(transDarkBlue);
- 1329. g.fillRect(6, 250, 60, 20); // interactive square 1
- 1330. g.fillRect(70, 250, 60, 20); // interactive square 2
- 1331. g.fillRect(134, 250, 60, 20); // interactive square 3
- 1332. g.fillRect(198, 250, 13, 20); // interactive square 4
- 1333.
- 1334. g.setColor(Color.white); // words for interactive squares
- 1335. g.drawString("STATUS", 11, 267);
- 1336. g.drawString("PROFIT", 75, 267);
- 1337. g.drawString("EXTRA", 139, 267);
- 1338. g.drawString("X", 201, 267);
- 1339.
- 1340. runTime = System.currentTimeMillis() - startTime;
- 1341. seconds = runTime / 1000; // seconds
- 1342. if (seconds >= 60) { // minutes
- 1343. minutes = seconds / 60;
- 1344. seconds -= (minutes * 60);
- 1345. }
- 1346. if (minutes >= 60) { // hours
- 1347. hours = minutes / 60;
- 1348. minutes -= (hours * 60);
- 1349. }
- 1350. if (startexp == 0) {
- 1351. startexp = skills.getCurrentExp(14);
- 1352. }
- 1353. if (startLvl == 0) {
- 1354. startLvl = skills.getCurrentLevel(Skills.MINING);
- 1355. }
- 1356. if (pricePerOre == 0) {
- 1357. pricePerOre = grandExchange.getMarketPrice(oreID);
- 1358. }
- 1359.
- 1360. // adds zero before minutes
- 1361. if (minutes >= 10) {
- 1362. addZero = "";
- 1363. } else if (minutes < 10) {
- 1364. addZero = "0";
- 1365. }
- 1366.
- 1367. // adds zero before seconds
- 1368. if (seconds >= 10) {
- 1369. addZero2 = "";
- 1370. } else if (seconds < 10) {
- 1371. addZero2 = "0";
- 1372. }
- 1373.
- 1374. kMade = (oresMined * pricePerOre) / 1000;
- 1375. gainedXP = skills.getCurrentExp(14) - startexp;
- 1376. if (mineEss) {
- 1377. oresMined = gainedXP / xpPerEssence;
- 1378. }
- 1379. currentLVL = skills.getCurrentLevel(Skills.MINING);
- 1380. gainedLVL = currentLVL - startLvl;
- 1381. oresPerHour = (int) ((3600000.0 / (double) runTime) * oresMined);
- 1382. expPerHour = (int) (3600000.0 / (double) runTime * gainedXP);
- 1383. kPerHour = (int) (3600000.0 / (double) runTime * kMade);
- 1384.
- 1385. if (showPaint1 == true) {
- 1386.
- 1387. final int percent = (skills.getPercentToNextLevel(14) * 2);
- 1388. g.setColor(transDarkRed);
- 1389. g.fillRoundRect(8, 282, 200, 18, 16, 16);
- 1390. g.setColor(transDarkGreen);
- 1391. g.fillRoundRect(8, 282, percent, 18, 16, 16);
- 1392. g.setColor(edgeColor);
- 1393. g.drawRoundRect(8, 282, 200, 18, 16, 16);
- 1394. g.drawRoundRect(8, 282, percent, 18, 16, 16);
- 1395. // Percentage bar till level
- 1396.
- 1397. g.setColor(transDarkBlue);
- 1398. g.fillRoundRect(4, 273, 208, 63, 16, 16);
- 1399. g.setColor(edgeColor);
- 1400. ((Graphics2D) g).setStroke(stroke1);
- 1401. g.drawRoundRect(4, 273, 208, 63, 16, 16);
- 1402. g.setColor(Color.white);
- 1403. g.drawString("Status: " + status, 23, 295);
- 1404. g.drawString("Runtime: " + hours + ":" + addZero + minutes
- 1405. + ":" + addZero2 + seconds, 12, 315);
- 1406. g.drawString("XP Gained: " + gainedXP + " (" + expPerHour
- 1407. + "/hour)", 12, 329);
- 1408. }
- 1409.
- 1410. if (showPaint2 == true) {
- 1411. g.setColor(transDarkBlue);
- 1412. g.fillRoundRect(4, 273, 208, 63, 16, 16);
- 1413. g.setColor(edgeColor);
- 1414. ((Graphics2D) g).setStroke(stroke1);
- 1415. g.drawRoundRect(4, 273, 208, 63, 16, 16);
- 1416. g.setColor(Color.white);
- 1417. g.drawString("Total Profit Made: " + kMade + "k", 12, 295);
- 1418. g.drawString("Profit Per Hour: " + kPerHour + "k", 12, 312);
- 1419. g.drawString("Total Ores Mined: " + oresMined + " ("
- 1420. + oresPerHour + "/hour)", 12, 329);
- 1421. }
- 1422.
- 1423. if (showPaint3 == true) {
- 1424. g.setColor(transDarkBlue);
- 1425. g.fillRoundRect(4, 273, 208, 63, 16, 16);
- 1426. g.setColor(edgeColor);
- 1427. ((Graphics2D) g).setStroke(stroke1);
- 1428. g.drawRoundRect(4, 273, 208, 63, 16, 16);
- 1429. g.setColor(Color.white);
- 1430. g.drawString("Total Gems Mined: " + gemsMined, 12, 295);
- 1431. g.drawString("[Anti-Ban]: " + "Total " + antiBanCount, 12, 312);
- 1432. g.drawString(antiBanStatus, 12, 329);
- 1433. }
- 1434. if (showPaint4 == true) {
- 1435. // nothing
- 1436. }
- 1437.
- 1438. // Draws the mouse
- 1439. g.setColor(transDarkBlue);
- 1440. g.drawLine(0, (int) (mouse.getLocation().getY()), 800,
- 1441. (int) (mouse.getLocation().getY()));
- 1442. g.drawLine((int) (mouse.getLocation().getX()), 0,
- 1443. (int) (mouse.getLocation().getX()), 800);
- 1444.
- 1445. // draws banner
- 1446. g.drawImage(img1, 1, 170, null);
- 1447.
- 1448. }
- 1449. }
- 1450.
- 1451. // /////////////////////////
- 1452. // ////////ANTIBAN//////////
- 1453. // /////////////////////////
- 1454.
- 1455. private void AntiBanPro() {
- 1456. int randomProd = random(1, 60);
- 1457. if (randomProd == 1) {
- 1458. int randomMore = random(1, 5);
- 1459. if (randomMore == 1) {
- 1460. antiBanStatus = "Checking mining level..";
- 1461. antiBanCount = antiBanCount + 1;
- 1462. if (game.getCurrentTab() != 1) {
- 1463. game.openTab(1);
- 1464. sleep(350, 500);
- 1465. mouse.move(random(678, 728), random(213, 232));
- 1466. sleep(2000, 3500);
- 1467. }
- 1468.
- 1469. else {
- 1470. mouse.move(random(678, 728), random(213, 232));
- 1471. sleep(2000, 3500);
- 1472. }
- 1473. } else {
- 1474. antiBanStatus = "Lets wait for a while..";
- 1475. antiBanCount = antiBanCount + 1;
- 1476. sleep(1200, 2500);
- 1477. }
- 1478. }
- 1479. if (randomProd == 2 || randomProd == 3 || randomProd == 4) {
- 1480. antiBanStatus = "Pause for a few seconds..";
- 1481. antiBanCount = antiBanCount + 1;
- 1482. sleep(1000, 2500);
- 1483. }
- 1484. if (randomProd >= 52) {
- 1485. antiBanStatus = "Moving mouse randomly..";
- 1486. antiBanCount = antiBanCount + 1;
- 1487. mouse.moveRandomly(65, 350);
- 1488. } else
- 1489. sleep(10, 30);
- 1490. }
- 1491.
- 1492. private void AntiBanCamera() {
- 1493. int randomNum = random(1, 50);
- 1494. if (randomNum == 1 || randomNum == 2 || randomNum == 3) {
- 1495. antiBanStatus = "Random camera movement..";
- 1496. antiBanCount = antiBanCount + 1;
- 1497. camera.moveRandomly(random(2000, 5500));
- 1498. }
- 1499. if (randomNum == 4 || randomNum == 5) {
- 1500. antiBanStatus = "Random camera angle change..";
- 1501. antiBanCount = antiBanCount + 1;
- 1502. camera.setAngle(random(10, 40));
- 1503. }
- 1504. if (randomNum == 6) {
- 1505. camera.setPitch(random(40, 68));
- 1506. antiBanStatus = "Random camera pitch change..";
- 1507. antiBanCount = antiBanCount + 1;
- 1508. }
- 1509. if (randomNum == 7) {
- 1510. camera.setPitch(random(20, 45));
- 1511. antiBanStatus = "Random camera pitch change..";
- 1512. antiBanCount = antiBanCount + 1;
- 1513. }
- 1514. if (randomNum == 8) {
- 1515. camera.setPitch(random(68, 90));
- 1516. antiBanStatus = "Random camera pitch change..";
- 1517. antiBanCount = antiBanCount + 1;
- 1518. } else
- 1519. sleep(50, 100);
- 1520. }
- 1521.
- 1522. // ///////////////////////
- 1523. // ////////EXTRAS/////////
- 1524. // ///////////////////////
- 1525.
- 1526. // Will logout if all else fails
- 1527. private void failLogOff() {
- 1528. log("[!Error occured!] To prevent futher errors the script will now stop.");
- 1529. sleep(random(1400, 1600));
- 1530. if (game.isOnLogoutTab() == true) {
- 1531. sleep(random(300, 1200));
- 1532. mouse.move(631 + random(-40, 40), 417 + random(-5, 5));
- 1533. sleep(random(250, 2500));
- 1534. mouse.click(true);
- 1535. sleep(random(5000, 10000));
- 1536. } else {
- 1537. mouse.move(754 + random(-3, 3), 9 + random(-3, 3));
- 1538. sleep(random(100, 150));
- 1539. mouse.click(true);
- 1540. sleep(random(300, 1200));
- 1541. mouse.move(631 + random(-40, 40), 417 + random(-5, 5));
- 1542. sleep(random(250, 2500));
- 1543. mouse.click(true);
- 1544. sleep(random(5000, 10000));
- 1545. }
- 1546.
- 1547. stopScript();
- 1548. }
- 1549.
- 1550. // //////////////////////////
- 1551. // ////////ONFINISH//////////
- 1552. // //////////////////////////
- 1553.
- 1554. public void onFinish() {
- 1555. log("Thank you for using DarkMiner,");
- 1556. log("Please report any bugs and make suggestions on our thread.");
- 1557. }
- 1558.
- 1559. // //////////////////////
- 1560. // ////////LOOP//////////
- 1561. // //////////////////////
- 1562.
- 1563. @Override
- 1564. public int loop() {
- 1565.
- 1566. if (mineEss) {
- 1567.
- 1568. // if invent full ---> bank
- 1569. if (inventory.isFull() && atBank()) { // bank
- 1570. letsRun();
- 1571. bank();
- 1572. } else if (inventory.isFull()
- 1573. && (atNW() || atNE() || atSE() || atSW())) {
- 1574. portal();
- 1575. } else if (inventory.isFull() && !atNE() && !atNW() && !atSE()
- 1576. && !atSW() && !atBank() && !atShop() && !atVarrock()) {
- 1577. walkToRock();
- 1578. } else if (inventory.isFull() && atShop()) {
- 1579. openDoor2();
- 1580. } else if (inventory.isFull()) {
- 1581. walkToBank();
- 1582. }
- 1583.
- 1584. // if invent not full ---> mine
- 1585. if ((!inventory.isFull()) && (atNW() || atNE() || atSW() || atSE())) {
- 1586. mine();
- 1587. } else if (!inventory.isFull() && !atNE() && !atNW() && !atSE()
- 1588. && !atSW() && !atBank() && !atShop() && !atVarrock()) {
- 1589. walkToRock();
- 1590.
- 1591. } else if (!inventory.isFull() && !atNE() && !atNW() && !atSE()
- 1592. && !atSW() && !atCenter() && !atShop() && !atDoor()) {
- 1593. walkToMine();
- 1594.
- 1595. } else if (!inventory.isFull() && atDoor()) {
- 1596. openDoor();
- 1597.
- 1598. } else {
- 1599. sleep(200, 300);
- 1600. }
- 1601. } else {
- 1602. // If inventory full --> bank or drop
- 1603. if (inventory.isFull()) {
- 1604. if (modeDrop || modeMine2 || modeHybrid == true) {
- 1605. dropOre();
- 1606. }
- 1607. // otherwise bank
- 1608. else if (modeBank == true) {
- 1609. if (calc.distanceTo(bankTile) < 5) {
- 1610. bank();
- 1611. return 10;
- 1612. } else {
- 1613. letsRun();
- 1614. walkToBank();
- 1615. return 10;
- 1616. }
- 1617. }
- 1618. }
- 1619.
- 1620. // If inventory not full --> mine
- 1621. if (!inventory.isFull()) {
- 1622. if (calc.distanceTo(mineTile) < 5) {
- 1623.
- 1624. if (modeHybrid == true) {
- 1625. hybrid();
- 1626. } else if (modeMine2 == true) {
- 1627. mTwo();
- 1628. } else {
- 1629. mine();
- 1630. }
- 1631. return 10;
- 1632. }
- 1633.
- 1634. else {
- 1635. letsRun();
- 1636. walkToMine();
- 1637. return 10;
- 1638. }
- 1639. } else
- 1640. failLogOff(); // how the hell you need this?
- 1641. }
- 1642.
- 1643. return 0;
- 1644. }
- 1645.
- 1646. // //////////////////////////