Guest User

Untitled

a guest
Jul 21st, 2018
90
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 6.07 KB | None | 0 0
  1. import org.rsbot.bot.Bot;
  2. import org.rsbot.bot.input.CanvasWrapper;
  3. import org.rsbot.event.events.ServerMessageEvent;
  4. import org.rsbot.event.listeners.PaintListener;
  5. import org.rsbot.event.listeners.ServerMessageListener;
  6. import org.rsbot.script.Script;
  7. import org.rsbot.script.ScriptManifest;
  8. import org.rsbot.script.wrappers.RSNPC;
  9. import org.rsbot.script.wrappers.RSObject;
  10. import org.rsbot.script.wrappers.RSTile;
  11.  
  12. import java.awt.*;
  13. import java.util.Map;
  14.  
  15. @ScriptManifest(authors = { "CuredLamb" }, category = "Money", name = "CuredPotatoes", version = 1.00, description = "" +
  16. "<html>" +
  17. "<head>" +
  18. "</head>" +
  19. "<body>" +
  20. "This script automatically picks and (if chosen) bakes potatoes. " +
  21. "Start the script at Draynor Village's bank. Have fun!" +
  22. "</body>" +
  23. "</html\n")
  24. public class CuredPotatoes extends Script implements PaintListener, ServerMessageListener {
  25. // Variables //
  26. private final ScriptManifest properties = getClass().getAnnotation(ScriptManifest.class);
  27. private final int[] gateid = {45206, 45208};
  28. private final int potatoid = 312;
  29. private boolean hasroom = true;
  30. private boolean resting = false;
  31. private int picked = 0;
  32. private String status = "Initialising...";
  33. public final RSTile[] bankdestination = {new RSTile(3092, 3247), new RSTile(3093, 3247)};
  34. public final RSTile[] fielddestination = {new RSTile(3145, 3292), new RSTile(3146, 3292)};
  35.  
  36. public boolean onStart(Map<String, String> args) {
  37. return true;
  38. }
  39.  
  40. // Loop //
  41. public int loop() {
  42. if (!isLoggedIn()) {
  43. return random(400,800);
  44. }
  45. if (!isRunning() && getEnergy() > random(50, 75)) {
  46. setRun(true);
  47. wait(random(400, 800));
  48. }
  49. if (!isRunning() && getEnergy() < 50) {
  50. status = "Resting...";
  51. rest();
  52. }
  53. if (isInventoryFull() && !status.equals("Banking...")) {
  54. walkTobank();
  55. return antiban();
  56. } else if (status.equals("Banking...")) {
  57. bank();
  58. return antiban();
  59. }
  60. return random(200,400);
  61. }
  62.  
  63. // Detect Message //
  64. public void serverMessageRecieved(final ServerMessageEvent e) {
  65. final String message = e.getMessage();
  66. if (message.contains("You pick a potato.")) {
  67. picked = picked + 1;
  68. }
  69. if (message.contains("You don't have enough room for this potato.")) {
  70. hasroom = false;
  71. }
  72. }
  73.  
  74. // Paint //
  75. public void onRepaint(Graphics g) {
  76. if(!isLoggedIn()) {
  77. }
  78. }
  79.  
  80. // Anti-ban (credits to Foulwerp) //
  81. public int antiban() {
  82. int i = random(0, 20);
  83. if (i == 2) {
  84. moveMouse(random(0, CanvasWrapper.getGameWidth()), random(0,
  85. CanvasWrapper.getGameHeight()));
  86. return random(0, 400);
  87. } else if (i == 3 || i == 12) {
  88. char dir = 37;
  89. if (random(0, 3) == 2)
  90. dir = 39;
  91. Bot.getInputManager().pressKey(dir);
  92. wait(random(500, 2000));
  93. Bot.getInputManager().releaseKey(dir);
  94. return random(0, 500);
  95. } else if (i == 7 || i == 4) {
  96. setCameraAltitude(random(35, 150));
  97. return random(0, 500);
  98. } else if (i == 5 || i == 10 || i == 11 || i == 13 || i == 18) {
  99. moveMouseRandomly(random(-4, 4));
  100. } else if (i == 1 || i == 8 || i == 15 || i == 20) {
  101. Thread camera = new Thread() {
  102. @Override
  103. public void run() {
  104. char dir = 37;
  105. if (random(0, 3) == 2)
  106. dir = 39;
  107. Bot.getInputManager().pressKey(dir);
  108. try {
  109. Thread.sleep(random(500, 2000));
  110. } catch (InterruptedException e) {
  111. e.printStackTrace();
  112. }
  113. Bot.getInputManager().releaseKey(dir);
  114. }
  115. };
  116. Thread mouse = new Thread() {
  117. @Override
  118. public void run() {
  119. moveMouse(random(0, CanvasWrapper.getGameWidth()), random(0,
  120. CanvasWrapper.getGameHeight()));
  121. }
  122. };
  123. if (i == 7 || i == 20) {
  124. camera.start();
  125. }
  126. if (i == 1) {
  127. mouse.start();
  128. }
  129. while (camera.isAlive() || mouse.isAlive())
  130. wait(random(100, 300));
  131. return random(300, 700);
  132. }
  133. return random(1000, 2000);
  134. }
  135.  
  136. // Functions //
  137. public void pickpotato() {
  138. status = "Picking potatoes...";
  139. if (hasroom) {
  140. final RSObject potato = getNearestObjectByID(potatoid);
  141. if (potato != null)
  142. atObject(potato, "Pick Potato");
  143. }
  144. }
  145.  
  146. public void bank() {
  147. bank.open();
  148. while (isInventoryFull()) {
  149. bank.depositAll();
  150. wait(random(200,400));
  151. }
  152. status = "Walking to field...";
  153. }
  154.  
  155. public void opengate() {
  156. RSObject gate = getNearestObjectByID(gateid[random(1,2)]);
  157. if (gate != null) {
  158. while (gate != null) {
  159. atObject(gate, "Open Gate");
  160. gate = getNearestObjectByID(gateid[random(1,2)]);
  161. }
  162. }
  163. }
  164.  
  165. public void walkTofield() {
  166. status = "Walking to field...";
  167. int i = random(1,2);
  168. walkTo(fielddestination[i]);
  169. if (distanceTo(fielddestination[i]) <= random(2,7))
  170. status = "Picking potatoes...";
  171. }
  172.  
  173. public void walkTobank() {
  174. status = "Walking to bank...";
  175. int i = random(1,2);
  176. walkTo(bankdestination[i]);
  177. if (distanceTo(fielddestination[i]) <= random(2,7))
  178. status = "Banking...";
  179. }
  180.  
  181. public void onFinish() {
  182.  
  183. }
  184. }
Add Comment
Please, Sign In to add comment