Guest User

Untitled

a guest
Jun 25th, 2018
82
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 7.79 KB | None | 0 0
  1. import com.rarebot.script.Script;
  2. import com.rarebot.script.ScriptManifest;
  3. import com.rarebot.script.wrappers.RSGroundItem;
  4. import com.rarebot.script.wrappers.RSTile;
  5. import com.rarebot.script.wrappers.RSNPC;
  6. import com.rarebot.script.wrappers.RSArea;
  7. import com.rarebot.script.wrappers.RSWeb;
  8. import com.rarebot.event.listeners.*;
  9.  
  10. import java.awt.*;
  11.  
  12. @ScriptManifest(name = "AshPicker", version = 1.0, description = "Looting ash at West Varrock bank", authors = "Plankmaker600")
  13. public class Looter extends Script implements PaintListener {
  14.  
  15.  
  16. public int gpMade;
  17. public int oakPrice;
  18. public int gpHour;
  19. public int pickHour;
  20.  
  21.  
  22.  
  23. private static final int[] ash = { 592, 593 };
  24. private static final int BANKER_ID = 553;
  25. private int ASHES_LOOTED;
  26. private long startTime = System.currentTimeMillis();
  27.  
  28. RSArea atBank = new RSArea(new RSTile(3177,3430), new RSTile(3196,3448));
  29. RSArea atSpot = new RSArea(new RSTile(3166,3426), new RSTile(3210,3432));
  30.  
  31. RSTile bankTile = new RSTile(3185,3435);
  32. RSTile spotTile = new RSTile(3201,3429);
  33.  
  34. RSWeb bankPath;
  35. RSWeb spotPath;
  36.  
  37. public boolean onStart() {
  38. return true;
  39.  
  40.  
  41.  
  42. }
  43.  
  44.  
  45.  
  46. private void walkBank() {
  47. bankPath = web.getWeb(getMyPlayer().getLocation(), bankTile);
  48. bankPath.step();
  49. }
  50.  
  51. private void walkSpot() {
  52. spotPath = web.getWeb(getMyPlayer().getLocation(), spotTile);
  53. spotPath.step();
  54. }
  55.  
  56. private void loot() {
  57. RSGroundItem fish = groundItems.getNearest(ash);
  58. if(getMyPlayer().getAnimation() == -1) {
  59. if(fish != null) {
  60. Point p = fish.getPoint();
  61. if(fish.isOnScreen()) {
  62. mouse.move(p);
  63. mouse.click(true);
  64. sleep(1000);
  65. } else {
  66. walking.walkTileMM(fish.getLocation());
  67. }
  68. } else {
  69. sleep(1000);
  70. }
  71. }
  72. }
  73.  
  74. private void bank() {
  75. RSNPC banker = npcs.getNearest(BANKER_ID);
  76. if(bank.isOpen()) {
  77. if(inventory.containsOneOf(ash)) {
  78. bank.depositAll();
  79. ASHES_LOOTED = ASHES_LOOTED +28;
  80. }
  81. sleep(2000);
  82. if(!inventory.containsOneOf(ash)) {
  83. bank.close();
  84. }
  85. } else {
  86. if(banker != null) {
  87. if(banker.isOnScreen()) {
  88. banker.interact("bank bank");
  89. sleep(1000, 2000);
  90. } else {
  91. walking.walkTileMM(banker.getLocation());
  92. sleep(500, 700);
  93. }
  94. }
  95. }
  96.  
  97. }
  98.  
  99.  
  100.  
  101.  
  102.  
  103.  
  104. private void antiban() {
  105. switch(random(1,5)) {
  106.  
  107. case 1:
  108. mouse.move(random(100, 700), random(100, 500));
  109. break;
  110.  
  111. case 2:
  112. camera.setPitch(true);
  113. int angle = camera.getAngle() + random(-100, 100);
  114. if(angle < 0) {
  115. angle += 359;
  116. }
  117. if(angle > 359) {
  118. angle -= 359;
  119. }
  120. camera.setAngle(angle);
  121. break;
  122.  
  123. case 5:
  124. int angle2 = camera.getAngle() + random(-40, 40);
  125. if(angle2 < 0) {
  126. angle2 += 359;
  127. }
  128. if(angle2 > 359) {
  129. angle2 -= 359;
  130. }
  131. camera.setAngle(angle2);
  132. break;
  133. }
  134. }
  135.  
  136. @Override
  137. public int loop() {
  138. if(random(1,5) == 3) {
  139. antiban();
  140. }
  141. if(!walking.isRunEnabled() && walking.getEnergy() > 20) {
  142. walking.setRun(true);
  143. }
  144. if(!inventory.isFull()) {
  145. if(!atSpot.contains(getMyPlayer().getLocation())) {
  146. walkSpot();
  147. } else {
  148. loot();
  149. }
  150. } else {
  151. if(!atBank.contains(getMyPlayer().getLocation())) {
  152. walkBank();
  153. } else {
  154. bank();
  155. }
  156. }
  157. return(random(500,1000));
  158. }
  159.  
  160. private final Color color1 = new Color(51, 102, 255, 154);
  161. private final Color color2 = new Color(0, 0, 0);
  162.  
  163. private final BasicStroke stroke1 = new BasicStroke(1);
  164.  
  165. private final Font font1 = new Font("Tahoma", 1, 16);
  166. private final Font font2 = new Font("Tahoma", 0, 12);
  167.  
  168.  
  169.  
  170. public void onRepaint(Graphics g1) {
  171. Graphics2D g = (Graphics2D)g1;
  172.  
  173. gpHour = (int) ((gpMade) * 3600000D/ (System.currentTimeMillis() - startTime));
  174. gpMade = 89 * ASHES_LOOTED;
  175. pickHour = (int) ((ASHES_LOOTED) * 3600000D/ (System.currentTimeMillis() - startTime));
  176.  
  177.  
  178.  
  179.  
  180. g.setFont(font1);
  181. g.drawString("AshLooter", 300, 25);
  182. g.setFont(font2);
  183. g.drawString("Run Time: " + getRuntime(), 300, 65);
  184. g.drawString("Ashes Banked: " + ASHES_LOOTED, 300, 80);
  185. g.drawString("Profit Per Hour:" + gpHour, 300, 95);
  186. g.drawString("Profit Gained:" + gpMade, 300, 110);
  187. g.drawString("Ashes Per Hour:" + pickHour, 300, 125);
  188. g.drawString("By Plankmaker600", 300, 145);
  189.  
  190.  
  191. }
  192.  
  193.  
  194.  
  195.  
  196.  
  197.  
  198.  
  199. private String getRuntime() {
  200. try {
  201. long millis = System.currentTimeMillis() - startTime;
  202. long hours = millis / (1000 * 60 * 60);
  203. millis -= hours * (1000 * 60 * 60);
  204. long minutes = millis / (1000 * 60);
  205. millis -= minutes * (1000 * 60);
  206. long seconds = millis / 1000;
  207. return ("" + (hours < 10 ? "0" : "") + hours + ":"
  208. + (minutes < 10 ? "0" : "") + minutes + ":"
  209. + (seconds < 10 ? "0" : "") + seconds + "");
  210. } catch (Exception e) {
  211. return "";
  212. }
  213. }
  214.  
  215. }
Add Comment
Please, Sign In to add comment