Advertisement
Guest User

Luigi_Rune_Miner

a guest
Jan 25th, 2015
189
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
  1. // Edited by Arsboy for Luigimp3, credit to Abyte0 for original script.
  2.  
  3. public class Luigi_Rune_Miner extends Script
  4. {
  5. int oreRunite = 409; // Rune ore
  6.  
  7. int RockRunite = 210; // Rune rock
  8.  
  9.     long time = -1L;
  10.     int[] initial_xp;
  11.     int getRunTime = 0;
  12.     int startxp = 0;
  13.     int totalxp = 0;
  14.     int xpstats = 0;
  15.     private boolean init;
  16.     private int banked_rune;
  17.     private long rune_mined;
  18.     private long levels_gained;
  19.     private long getXpH;
  20.     private long click_time;
  21.     private static final int item_rune = 409;
  22.  
  23. int gem1 = 160; // sapph
  24. int gem2 = 159; // emerald
  25. int gem3 = 158; // ruby
  26. int gem4 = 157; // diamond
  27.  
  28. int fmode = 0;
  29. int foodId = 373;
  30. int nbFood = 6;
  31.  
  32. int cptRuneBanked;
  33. int cptInventaireToBank = 6;
  34.  
  35. boolean died = false;
  36. boolean readyToSleep = false;
  37.  
  38. public void print(String s)
  39. {
  40. System.out.println(s);
  41. }
  42.  
  43. public Luigi_Rune_Miner(Extension e)
  44. {
  45. super(e);
  46. }
  47.  
  48. public void init(String params)
  49. {
  50.         click_time = -1L;
  51. cptRuneBanked = 0;
  52. String str[]=params.split(",");
  53. {
  54.     fmode = Integer.parseInt(str[0]);
  55.     foodId = Integer.parseInt(str[1]);
  56.     nbFood = Integer.parseInt(str[2]);
  57.     if(str.length == 5)
  58.  
  59. print("You should use: AArs_Rune_Miner Fmode,FoodId,nbFood");
  60. print("You are Using Default: Controlled Fight Mode, 6 Lobs, Banks After 6 Ores.");
  61. print(".");
  62. }
  63.  
  64. print("Fmode = " + fmode);
  65. print("foodId = " + foodId);
  66. print("nbFood = " + nbFood);
  67.         this.initial_xp = new int[SKILL.length];
  68. }
  69.  
  70. public int main()
  71. {
  72.          if (!init) {
  73.          time = System.currentTimeMillis();
  74.          init = true;
  75.          }
  76.                 if (initial_xp[0] == 0) {
  77.             for (int i = 0; i < SKILL.length; i++) {
  78.                 initial_xp[i] = getXpForLevel(i);
  79.             }
  80.             time = System.currentTimeMillis();
  81.             return 500;
  82.         }
  83.        
  84.                 if (click_time != -1L) {
  85.             if (System.currentTimeMillis() >= click_time) {
  86.                 click_time = -1L;
  87.             }
  88.             return 0;
  89.         }
  90. return Mine();
  91. }
  92.  
  93. public int Mine()
  94. {
  95. if(getFightMode() != fmode)
  96. {
  97. setFightMode(fmode);
  98. }
  99. if(inCombat())
  100. {
  101. RunFromCombat();
  102. return random(100,600);
  103. }
  104. if(getHpPercent() < 60)
  105. {
  106. if(EatTuna()==1)
  107. return random(500,1500);
  108. }
  109. if(readyToSleep)
  110. {
  111. if(getInventoryCount(1263) > 0)
  112. {
  113. useSleepingBag();
  114. }
  115. readyToSleep = false;
  116. return 1000;
  117. }
  118. if(isBanking())
  119. {
  120. if(getFatigue() > 5)
  121. {
  122. withdraw(1263,1);
  123. closeBank();
  124. readyToSleep = true;
  125. return 1000 + 60000;
  126. }
  127. if(getInventoryCount(1263) > 0)
  128. {
  129. deposit(1263,getInventoryCount(1263));
  130. return 1000 + 60000;
  131. }
  132. // Deposit gems and ores
  133. if(getInventoryCount(gem4) > 0)
  134. {
  135. deposit(gem4,1);
  136. return 1000;
  137. }
  138. if(getInventoryCount(gem3) > 0)
  139. {
  140. deposit(gem3,1);
  141. return 1000;
  142. }
  143. if(getInventoryCount(gem2) > 0)
  144. {
  145. deposit(gem2,1);
  146. return 1000;
  147. }
  148. if(getInventoryCount(gem1) > 0)
  149. {
  150. deposit(gem1,1);
  151. return 1000;
  152. }
  153. if(getInventoryCount(oreRunite) > 0)
  154. {
  155. cptRuneBanked += getInventoryCount(oreRunite);
  156. deposit(oreRunite,getInventoryCount(oreRunite));
  157. //print("Banked "+cptRuneBanked+" rune ore so far");
  158. return 1000 + 60000;
  159. }
  160. if(getInventoryCount(foodId) < nbFood)
  161. {
  162. withdraw(foodId,1);
  163. return 1000;
  164. }
  165. closeBank();
  166. return 1000;
  167. }
  168. if(isQuestMenu())
  169. {
  170. answer(0);
  171. return random(900, 1600);
  172. }
  173. if(getX() >= 280 && getX() <= 286 && getY() >= 564 && getY() <= 573 && (getInventoryCount(oreRunite) > 0 || getInventoryCount(foodId) <
  174.  
  175. 1))
  176. {
  177. //Si dans la banque
  178. if (!isBanking())
  179. {
  180. int banker[] = getNpcByIdNotTalk(new int[]{95});
  181. if (banker[0] != -1 && !isBanking())
  182. {
  183. talkToNpc(banker[0]);
  184. return random(2000,3000);
  185. }
  186. }
  187. return random(231, 1500);
  188. }
  189. if(getX() == 287 && getY() == 571 && (getInventoryCount(oreRunite) > 0 || getInventoryCount(foodId) < 1))
  190. {
  191. //Si a coter de la porte a exterieur
  192. atObject(287,571);
  193. walkTo(286,571);
  194. return random(100, 1500);
  195. }
  196. // Open door
  197. //if(distanceTo(getX(),getY(),287,571) < 5)
  198. // if(getObjectById(64).length > 0)
  199. // atObject(getObjectById(64)[1],getObjectById(64)[2]);
  200. // Talk to banker
  201. //if(distanceTo(286,571) < 6 && getInventoryCount() > 2)
  202. //{
  203. // talkToNpc(getNpcById(banker)[0]);
  204. // return 2002 + random(100, 100);
  205. //}
  206. if(distanceTo(120,648) < 12)
  207. {
  208. died = true;
  209. print("Just Died...");
  210. }
  211. if(died)
  212. {
  213. //print("Dead Action Method");
  214. if(getX() < 120)
  215. {
  216. //Walk Spawn
  217. walkTo(120,648);
  218. return random(789, 1800);
  219. }
  220. if(getX() < 128)
  221. {
  222. //Walk shop lumb
  223. walkTo(128,636);
  224. return random(789, 1800);
  225. }
  226. if(getX() < 136)
  227. {
  228. //Walk route apres sheep a voir
  229. walkTo(136,616);
  230. return random(789, 1800);
  231. }
  232. if(getX() < 158)
  233. {
  234. //Walk Chickens Lumb
  235. walkTo(158,613);
  236. return random(789, 1800);
  237. }
  238. if(getX() < 176)
  239. {
  240. //Walk Foin 1
  241. walkTo(176,607);
  242. return random(789, 1800);
  243. }
  244. if(getX() < 196)
  245. {
  246. //Walk Foin 2
  247. walkTo(196,605);
  248. return random(789, 1800);
  249. }
  250. if(getX() < 216)
  251. {
  252. //Walk
  253. walkTo(216,605);
  254. return random(789, 1800);
  255. }
  256. if(getX() < 236)
  257. {
  258. //Walk
  259. walkTo(236,608);
  260. return random(789, 1800);
  261. }
  262. if(getX() < 258)
  263. {
  264. //Walk
  265. walkTo(258,609);
  266. return random(789, 1800);
  267. }
  268. if(getX() < 275)
  269. {
  270. //Walk Chiekens
  271. walkTo(275,609);
  272. return random(789, 1800);
  273. }
  274. if(getX() < 282)
  275. {
  276. //Walk Road
  277. walkTo(282,592);
  278. return random(789, 1800);
  279. }
  280. if(getX() < 290)
  281. {
  282. //Walk Guards
  283. walkTo(290,571);
  284. return random(789, 1800);
  285. }
  286. if(getX() == 290 && getY() == 571)
  287. {
  288. //Walk Guards
  289. died = false;
  290. return random(789, 1800);
  291. }
  292. walkTo(290,571);
  293. }
  294. if(getInventoryCount(oreRunite) >= cptInventaireToBank || getInventoryCount(foodId) < 1)
  295. {
  296. //if(getX() >= 288 && getX() <= 291 && getY() >= 525 && getY() <= 528 && getFatigue() > 20)
  297. //{
  298. // //Si dans la house et fatiguer de plsu de 20 on dors
  299. // atObject(288,525);//rendu ici
  300. // return random(231, 1500);
  301. //}
  302. //if(getX() >= 288 && getX() <= 291 && getY() >= 525 && getY() <= 528 && getFatigue() <= 20)
  303. //{
  304. // //Si dans la house et pu fatiguer on sort esti
  305. // atObject(287,571);
  306. // walkTo(286,571);
  307. // return random(100, 1500);
  308. //}
  309.  
  310. if(getY() < 166)
  311. {
  312. //Walk sud rocks
  313. walkTo(269,166);
  314. return random(789, 1800);
  315. }
  316. if(getY() < 177)
  317. {
  318. //Walk nort lesser
  319. walkTo(280,177);
  320. return random(789, 1800);
  321. }
  322. if(getY() < 187)
  323. {
  324. //Walk west lesser
  325. walkTo(292,187);
  326. return random(789, 1800);
  327. }
  328. if(getY() < 199)
  329. {
  330. //Walk ne altar
  331. walkTo(300,199);
  332. return random(789, 1800);
  333. }
  334. if(getY() < 211)
  335. {
  336. //Walk east altar
  337. walkTo(307,211);
  338. return random(789, 1800);
  339. }
  340. if(getY() < 222)
  341. {
  342. //Walk sud altar
  343. walkTo(321,222);
  344. return random(789, 1800);
  345. }
  346. if(getY() < 239)
  347. {
  348. //Walk sud alta(32)
  349. walkTo(333,239);
  350. return random(789, 1800);
  351. }
  352. if(getY() < 256)
  353. {
  354. //Walk 29
  355. walkTo(334,256);
  356. return random(789, 1800);
  357. }
  358. if(getY() < 275)
  359. {
  360. //Walk ghost 26
  361. walkTo(335,275);
  362. return random(789, 1800);
  363. }
  364. if(getY() < 297)
  365. {
  366. //Walk 22
  367. walkTo(335,297);
  368. return random(789, 1800);
  369. }
  370. if(getY() < 319)
  371. {
  372. //Walk 19
  373. walkTo(334,319);
  374. return random(789, 1800);
  375. }
  376. if(getY() < 333)
  377. {
  378. //Walk mush 16
  379. walkTo(333,333);
  380. return random(789, 1800);
  381. }
  382. if(getY() < 352)
  383. {
  384. //Walk 13
  385. walkTo(335,352);
  386. return random(789, 1800);
  387. }
  388. if(getY() < 371)
  389. {
  390. //Walk 10
  391. walkTo(335,371);
  392. return random(789, 1800);
  393. }
  394. if(getY() < 389)
  395. {
  396. //Walk 7
  397. walkTo(335,389);
  398. return random(789, 1800);
  399. }
  400. if(getY() < 408)
  401. {
  402. //Walk 4
  403. walkTo(334,408);
  404. return random(789, 1800);
  405. }
  406. if(getY() < 419)
  407. {
  408. //Walk 2
  409. walkTo(320,419);
  410. return random(789, 1800);
  411. }
  412. if(getY() < 436)
  413. {
  414. //Walk out wildy
  415. walkTo(306,436);
  416. return random(789, 1800);
  417. }
  418. if(getY() < 460)
  419. {
  420. //Walk east goblin
  421. walkTo(305,460);
  422. return random(789, 1800) + 60000;
  423. }
  424. if(getY() < 479)
  425. {
  426. //Walk
  427. walkTo(311,479);
  428. return random(789, 1800);
  429. }
  430. if(getY() < 496)
  431. {
  432. //Walk FIXED
  433. walkTo(305,496);
  434. return random(789, 1800);
  435. }
  436. if(getY() < 511)
  437. {
  438. //Walk cross road
  439. walkTo(312,511);
  440. return random(789, 1800);
  441. }
  442. if(getY() < 526)
  443. {
  444. //Walk Devant maison OUT
  445. walkTo(292,526);
  446. return random(789, 1800);
  447. }
  448. if(getY() < 541)
  449. {
  450. //Walk jardin
  451. walkTo(296,541);
  452. return random(789, 1800);
  453. }
  454. if(getY() < 561)
  455. {
  456. //Walk sud jardin
  457. walkTo(291,561);
  458. return random(789, 1800);
  459. }
  460. if(getY() < 571)
  461. {
  462. //Walk devant bank
  463. walkTo(287,571);
  464. return random(789, 1800);
  465. }
  466. walkTo(287,571);
  467.  
  468. return random(1100, 1733);
  469. }
  470. else
  471. {
  472. if(getX() == 286 && getY() == 571)
  473. {
  474. //Si a coter de la porte a linterieur
  475. atObject(287,571);
  476. walkTo(287,571);
  477. return random(121, 3500);
  478. }
  479. if(getX() >= 280 && getX() <= 286 && getY() >= 564 && getY() <= 573)
  480. {
  481. //Si dans la banque
  482. walkTo(286,571);
  483. return random(240, 2500);
  484. }
  485. if(getY() > 561)
  486. {
  487. //Walk sud jardin
  488. walkTo(291,561);
  489. return random(789, 1800);
  490. }
  491. if(getY() > 541)
  492. {
  493. //Walk jardin
  494. walkTo(296,541);
  495. return random(789, 1800);
  496. }
  497. if(getY() > 526)
  498. {
  499. //Walk Devant maison OUT
  500. walkTo(296,526);
  501. return random(789, 1800);
  502. }
  503. if(getY() > 511)
  504. {
  505. //Walk cross road
  506. walkTo(312,511);
  507. return random(789, 1800);
  508. }
  509. if(getY() > 497)
  510. {
  511. //Walk
  512. walkTo(310,497);
  513. return random(789, 1800);
  514. }
  515. if(getY() > 479)
  516. {
  517. //Walk
  518. walkTo(311,479);
  519. return random(789, 1800);
  520. }
  521. if(getY() > 460)
  522. {
  523. //Walk east goblin
  524. walkTo(305,460);
  525. return random(789, 1800);
  526. }
  527. if(getY() > 436)
  528. {
  529. //Walk out wildy
  530. walkTo(306,436);
  531. return random(789, 1800);
  532. }
  533. if(getY() > 419)
  534. {
  535. //Walk 2
  536. walkTo(320,419);
  537. return random(789, 1800);
  538. }
  539. if(getY() > 408)
  540. {
  541. //Walk 4
  542. walkTo(334,408);
  543. return random(789, 1800);
  544. }
  545. if(getY() > 389)
  546. {
  547. //Walk 7
  548. walkTo(335,389);
  549. return random(789, 1800);
  550. }
  551. if(getY() > 371)
  552. {
  553. //Walk 10
  554. walkTo(335,371);
  555. return random(789, 1800);
  556. }
  557. if(getY() > 352)
  558. {
  559. //Walk 13
  560. walkTo(335,352);
  561. return random(789, 1800);
  562. }
  563. if(getY() > 333)
  564. {
  565. //Walk mush 16
  566. walkTo(333,333);
  567. return random(789, 1800);
  568. }
  569. if(getY() > 319)
  570. {
  571. //Walk 19
  572. walkTo(334,319);
  573. return random(789, 1800);
  574. }
  575. if(getY() > 297)
  576. {
  577. //Walk 22
  578. walkTo(335,297);
  579. return random(789, 1800);
  580. }
  581. if(getY() > 275)
  582. {
  583. //Walk ghost 26
  584. walkTo(335,275);
  585. return random(789, 1800);
  586. }
  587. if(getY() > 256)
  588. {
  589. //Walk 29
  590. walkTo(334,256);
  591. return random(789, 1800);
  592. }
  593. if(getY() > 239)
  594. {
  595. //Walk sud alta(32)
  596. walkTo(333,239);
  597. return random(789, 1800);
  598. }
  599. if(getY() > 222)
  600. {
  601. //Walk sud altar
  602. walkTo(321,222);
  603. return random(789, 1800);
  604. }
  605. if(getY() > 211)
  606. {
  607. //Walk east altar
  608. walkTo(307,211);
  609. return random(789, 1800);
  610. }
  611. if(getY() > 199)
  612. {
  613. //Walk ne altar
  614. walkTo(300,199);
  615. return random(789, 1800);
  616. }
  617. if(getY() > 187)
  618. {
  619. //Walk west lesser
  620. walkTo(292,187);
  621. return random(789, 1800);
  622. }
  623. if(getY() > 177)
  624. {
  625. //Walk nort lesser
  626. walkTo(280,177);
  627. return random(789, 1800);
  628. }
  629. if(getY() > 166)
  630. {
  631. //Walk sud rocks
  632. walkTo(269,166);
  633. return random(789, 1800);
  634. }
  635. if(distanceTo(257,157) < 30)
  636. {
  637. int nombreRunite = mineOre(RockRunite);
  638.                  
  639. if(nombreRunite > 0)
  640. return random(1500,3601);
  641.  
  642. walkTo(268,random(157,159));
  643. return random(1000,10000);
  644. }
  645. walkTo(257,157);
  646. return random(400,1103);
  647. }
  648. }
  649.  
  650. public void RunFromCombat()
  651. {
  652. int x = getX();
  653. int y = getY();
  654. walkTo(x,y);
  655. }
  656.  
  657. public final int mineOre(int id)
  658. {
  659. int[] rock = getObjectById(id);
  660. if( rock[0] != -1 )
  661. {
  662. //Si on est a la swamp mine
  663. atObject(rock[1], rock[2]);
  664. return 1;
  665.    
  666. }
  667. return 0;
  668. }
  669.  
  670. public final int EatTuna()
  671. {
  672. int foodIndex = getInventoryIndex(foodId);
  673. if(foodIndex != -1)
  674. {
  675. useItem(foodIndex);
  676. return 1;
  677. }
  678. return 0;
  679. }
  680.     public void paint() {
  681.         int x = 180;
  682.         int y = 12;
  683.         drawString("@whi@Goose's Rune Miner! =)", x, y, 1, 0xFFA600);
  684.         y += 12;
  685.         drawString("@gre@Rune Ores Mined: @mag@" + (cptRuneBanked + getInventoryCount(409)), x, y, 1, 0xFFA600);
  686.         y += 12;
  687.         drawString("@gre@Mining XP: @mag@" + ((cptRuneBanked * 125) + (getInventoryCount(409) * 125)), x, y, 1, 0xDE62CF);
  688.         y += 12;
  689. //        drawString("@gre@Xp/Hour: @mag@" + (((cptRuneBanked * 125) + (getInventoryCount(409) * 125)) / getRunTime), x, y, 1, 0xE01E1B);
  690. //        y += 12;
  691.         drawString("@gre@Running for: @mag@" + getRunTime(), x, y, 1, 0xE01E1B);
  692.      }
  693.  
  694.  
  695.     private String getRunTime() {
  696.         long time = ((System.currentTimeMillis() - this.time) / 1000);
  697.         if (time >= 7200) {
  698.             return new String((time / 3600) + " @gre@hrs, @mag@" + ((time % 3600) / 60) + " @gre@mins, @mag@" + (time % 60) + " @gre@secs.");
  699.         }
  700.         if (time >= 3600 && time < 7200) {
  701.             return new String((time / 3600) + " @gre@hrs, @mag@" + ((time % 3600) / 60) + " @gre@mins, @mag@" + (time % 60) + "@gre@ secs.");
  702.         }
  703.         if (time >= 60) {
  704.             return new String(time / 60 + " @gre@mins, @mag@" + (time % 60) + " @gre@secs.");
  705.         }
  706.             return new String(time + " @gre@secs.");
  707.     }
  708.    
  709.      private long getXpH() {
  710.          try {
  711.      long xph = (((totalxp) * 60) * 60) / (((System.currentTimeMillis() - time) / 1000));
  712.      return xph;
  713.          } catch(ArithmeticException e) {}
  714.          return 0;
  715.      }
  716.    
  717.         private int perHour(int total) {
  718.         long time = ((System.currentTimeMillis() - this.time) / 1000L);
  719.         if (time < 1L) {
  720.             time = 1L;
  721.         }
  722.         return ((int) ((total * 60L * 60L) / time));
  723.     }
  724.         private int[] getXpStatistics(int skill) {
  725.         long time = ((System.currentTimeMillis() - this.time) / 1000L);
  726.         if (time < 1L) {
  727.             time = 1L;
  728.         }
  729.         int start_xp = initial_xp[skill];
  730.         int current_xp = getXpForLevel(skill);
  731.         int[] intArray = new int[4];
  732.         intArray[0] = current_xp;
  733.         intArray[1] = start_xp;
  734.         intArray[2] = intArray[0] - intArray[1];
  735.         intArray[3] = (int) ((((current_xp - start_xp) * 60L) * 60L) / time);
  736.         return intArray;
  737.     }
  738. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement