Advertisement
Guest User

Untitled

a guest
Apr 26th, 2018
65
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 4.12 KB | None | 0 0
  1. req("bot");
  2. req("helper");
  3. req("basic_needs");
  4. req("wrapper");
  5. req("color");
  6. req("timer");
  7. req("toolmanager");
  8. req("item_dumper");
  9. req("forge");
  10. req("spells");
  11. function Miner() {
  12. this.running = false;
  13. this.tickTimer = new Timer(1);
  14. this.tool = new ToolManager("^pickaxe.*");
  15. this.forgeManager = new ForgeManager();
  16. this.altarMask = "^altar of .*$";
  17. this.prayTimer = new Timer(60*10+15);
  18.  
  19. game.addListener(this, true);
  20. }
  21.  
  22. wrapClass(Miner);
  23.  
  24. Miner.prototype.gameTick = function () {
  25. var isBusy = bot.isActing();
  26. if (!this.running) return;
  27.  
  28. if (this.tickTimer.tick()) return;
  29.  
  30. if (basicNeeds.check(isBusy)) {
  31. isBusy = true;
  32. }
  33.  
  34. if (this.tool.check(isBusy)) {
  35. isBusy = true;
  36. }
  37.  
  38. if (this.forgeManager != null && this.forgeManager.gameTick()) {
  39. isBusy = true;
  40. }
  41.  
  42. if (!isBusy && bot.getFavor() > 10 && spells.cast(450)) {//dispell
  43. isBusy = true;
  44. }
  45.  
  46. var altarId = bot.getWindowId(this.altarMask);
  47. if (altarId != null) {
  48.  
  49. if (this.prayTimer != null && this.prayTimer.tick()) {
  50. this.pray = true;
  51. }
  52.  
  53. if (this.pray && !isBusy) {
  54. this.pray = false;
  55. bot.sendAction(141, -1, [altarId]);
  56.  
  57. isBusy = true;
  58. }
  59. }
  60.  
  61. var ore = bot.getWindowItems("(?i)pile.*", "ore.*");
  62. var forge = bot.getWindowId(".*smelter.*");
  63. var forgeOre = bot.getWindowItems(".*forge.*", "ore.*");
  64. if (ore != null && forge != null && ore.length > 3) {
  65.  
  66. bot.moveItems(forge, ore);
  67.  
  68. }
  69.  
  70. if (ore != null && ore.length > 30){
  71. var topOre = bot.filterItems(ore, helper.greaterThanQualityCallback(90));
  72. ore = helper.arraySubtract(ore, topOre);
  73. bot.moveItems(st.dump, topOre);
  74. bot.moveItems(st.dump, ore);
  75. isBusy = true;
  76. }
  77. /*
  78. var pileWindowId = bot.getWindowId('Pile.*');
  79. var forge = bot.getWindowId("forge");
  80. var groundItems = bot.getWorldItems();//GroundItemCellRenderable
  81. var ore = [];
  82.  
  83. if (this.windowName == null) {
  84. var forMove = [];
  85. for (var i = 0; i < groundItems.length; i++) {
  86. var item = groundItems[i];
  87. if (bot.getWorldItemDistance(item) <= 5) {
  88.  
  89. if (item.getHoverName().matches("^ore.*")) {
  90. //forMove.push(item.getId());
  91. bot.moveItems(forge, item.getId());
  92. }
  93. }
  94. }
  95. }
  96. */
  97. var items = bot.getWindowItems(".*smelter.*", "lump.*");
  98. if (items != null && items.length > 0) {
  99. var topLumps = bot.filterItems(items, helper.greaterThanQualityCallback(90));
  100. items = helper.arraySubtract(items, topLumps);
  101. bot.moveItems(st.top, topLumps);
  102. bot.moveItems(st.low, items);
  103. }
  104.  
  105.  
  106. if (!isBusy && bot.getFavor() > 10 && spells.cast(450)) {//dispell
  107. isBusy = true;
  108. }
  109. var vein = bot.getSelectedId();
  110. if (vein != null && !isBusy && bot.getStamina() >= 0.95) {
  111.  
  112. var pickaxe = bot.getInventoryItem("pickaxe.*");
  113. bot.sendAction(145, pickaxe.getId(), vein);//mine
  114. isBusy = true;
  115. }
  116. };
  117.  
  118. Miner.prototype.stop = function (reason) {
  119. this.warn(reason);
  120. this.toggle();
  121. };
  122.  
  123.  
  124. var miner = new Miner();
  125.  
  126. print("--Requariments-----------------------------------------------------------------------------------------");
  127. print("select vein, pickaxe, open smelter, altar window, open one pile with ore and smelter fuel");
  128. print(" do in console st = {}, st.low = bulk_id (for shit lumps), st.top = bulk_id (for > 90q lumps), st.dump = bulk_id(works if ore in pile>30)");
  129. print("--How it works-----------------------------------------------------------------------------------------");
  130. print("Mining ore from vein and put ore in smelter and lumps from smelter in bulk");
  131. print("Also included prayer and spellcaster");
  132. print("miner.toggle() for launch and stop");
  133. print("-------------------------------------------------------------------------------------------------------");
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement