Advertisement
Guest User

Untitled

a guest
Aug 19th, 2019
109
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 4.58 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("smelter");
  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. var bulkId = bot.getWindowId(".*bulk storage.*");
  61. var lowst = 74850025389826;
  62. var topst = 74851870883586;
  63. var ore = bot.getWindowItems("(?i)pile.*", "ore.*");
  64. var forge = bot.getWindowId(".*smelter.*");
  65. var forgeOre = bot.getWindowItems(".*smelter.*", "ore.*");
  66. if (ore != null && forge != null && ore.length > 3) {
  67.  
  68. bot.moveItems(forge, ore);
  69.  
  70. }
  71.  
  72. if (ore != null && ore.length > 30){
  73. this.tickTimer.add(1);
  74. /* var topOre = bot.filterItems(ore, helper.greaterThanQualityCallback(90));
  75. ore = helper.arraySubtract(ore, topOre);
  76. bot.moveItems(st.dump, topOre);
  77. bot.moveItems(st.dump, ore); */
  78. isBusy = true;
  79. }
  80. /*
  81. var pileWindowId = bot.getWindowId('Pile.*');
  82. var forge = bot.getWindowId("forge");
  83. var groundItems = bot.getWorldItems();//GroundItemCellRenderable
  84. var ore = [];
  85.  
  86. if (this.windowName == null) {
  87. var forMove = [];
  88. for (var i = 0; i < groundItems.length; i++) {
  89. var item = groundItems[i];
  90. if (bot.getWorldItemDistance(item) <= 5) {
  91.  
  92. if (item.getHoverName().matches("^ore.*")) {
  93. //forMove.push(item.getId());
  94. bot.moveItems(forge, item.getId());
  95. }
  96. }
  97. }
  98. }
  99. */
  100. var items = bot.getWindowItems(".*smelter.*", "lump.*");
  101. if (items != null && items.length > 80) {
  102. var topLumps = bot.filterItems(items, helper.greaterThanQualityCallback(80));
  103. items = helper.arraySubtract(items, topLumps);
  104. bot.moveItems(74851870883586, topLumps);
  105. bot.moveItems(74851870883586, items);
  106. }
  107. if (items != null && items.length < 80) {
  108. var lowLumps = bot.filterItems(items, helper.greaterThanQualityCallback(80));
  109. items = helper.arraySubtract(items, lowLumps);
  110. bot.moveItems(74850025389826, lowLumps);
  111. bot.moveItems(74850025389826, items);
  112. }
  113.  
  114.  
  115.  
  116. if (!isBusy && bot.getFavor() > 10 && spells.cast(450)) {//dispell
  117. isBusy = true;
  118. }
  119. var vein = bot.getSelectedId();
  120. if (vein != null && !isBusy && bot.getStamina() >= 0.95) {
  121.  
  122. var pickaxe = bot.getInventoryItem("pickaxe.*");
  123. bot.sendAction(145, pickaxe.getId(), vein);//mine
  124. this.tickTimer.add(1);
  125. isBusy = true;
  126. }
  127. };
  128.  
  129. Miner.prototype.stop = function (reason) {
  130. this.warn(reason);
  131. this.toggle();
  132. };
  133.  
  134.  
  135. var miner = new Miner();
  136.  
  137. print("--Requariments-----------------------------------------------------------------------------------------");
  138. print("select vein, pickaxe, open smelter, altar window, open one pile with ore and smelter fuel");
  139. 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)");
  140. print("--How it works-----------------------------------------------------------------------------------------");
  141. print("Mining ore from vein and put ore in smelter and lumps from smelter in bulk");
  142. print("Also included prayer and spellcaster");
  143. print("miner.toggle() for launch and stop");
  144. print("-------------------------------------------------------------------------------------------------------");
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement