Advertisement
Guest User

Untitled

a guest
Sep 25th, 2017
55
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 5.79 KB | None | 0 0
  1. import org.rsbot.event.listeners.PaintListener;
  2. import org.rsbot.script.ScriptManifest;
  3. import org.rsbot.script.Script;
  4. import org.rsbot.script.wrappers.*;
  5. import org.rsbot.event.events.MessageEvent;
  6. import org.rsbot.event.listeners.MessageListener;
  7. import org.rsbot.script.wrappers.RSGroundItem;
  8. import org.rsbot.script.wrappers.RSInterface;
  9. import org.rsbot.script.methods.Mouse;
  10. import org.rsbot.script.methods.Interfaces;
  11. import org.rsbot.script.wrappers.RSObject;
  12. import java.awt.*;
  13.  
  14.  
  15. @ScriptManifest(authors = { "Nickers" }, keywords = { "Wise Old Man tinder collector" }, name = "WiseTinderCollector", version = 1.00, description = "Start at Draynor bank.")
  16.  
  17. public class WiseTinder extends Script implements PaintListener, MessageListener {
  18.  
  19. private final int DEPOSIT_BOX_ID = 2045;
  20. private final int BOOK_SHELF_ID = 2702;
  21. private final int TINDER_BOX_ID = 590;
  22. private final int DOOR_CLOSED_ID = 1239;
  23. private final int VOID_VARIABLE = 1;
  24.  
  25. private int amountDropped;
  26.  
  27. private long START_TIME;
  28. private int totalProfit;
  29. public int tindersCollected;
  30.  
  31. private RSObject depositBox;
  32. private RSObject bookShelf;
  33. private RSObject tinderBox;
  34. private RSObject closedDoor;
  35. private RSObject groundTinder;
  36.  
  37. private final BasicStroke stroke1 = new BasicStroke(1);
  38.  
  39. private final Font font1 = new Font("Microsoft Sans Serif", 1, 22);
  40. private final Font font2 = new Font("Microsoft Sans Serif", 1, 16);
  41.  
  42. private final RSTile BANK_TILE = new RSTile(3092, 3245);
  43. private final RSTile SHELF_TILE = new RSTile(3087, 3253);
  44. private final RSTile COLLECTING_TILE = new RSTile(3088,3253);
  45. private final RSTile DOOR_TILE = new RSTile(3088, 3250);
  46.  
  47. public enum State {
  48. TO_BANK,
  49. TO_SHELF,
  50. COLLECTING_TINDER,
  51. PICKUP_TINDER,
  52. BANKING_TINDER,
  53. WAITING,
  54. NO_STATUS,
  55. OPEN_DOOR,
  56. DROP_TINDER
  57. }
  58.  
  59.  
  60. @Override
  61. public boolean onStart() {
  62. System.out.println("Thank you for using WiseTinder!");
  63. System.out.println("Please start at Draynor bank.");
  64. mouse.setSpeed(4);
  65. return true;
  66. }
  67. public void collectTinder(){
  68.  
  69. if(!inventory.contains(TINDER_BOX_ID) && bookShelf != null && bookShelf.isOnScreen()){
  70. bookShelf.interact("Search Bookcase");
  71. }
  72. }
  73.  
  74. public void dropTinder(){
  75. if(inventory.contains(TINDER_BOX_ID) && inventory.getCount() == 1){
  76. inventory.dropAllExcept(VOID_VARIABLE);
  77. amountDropped++;
  78. }
  79. }
  80.  
  81. public void pickupTinder(){
  82.  
  83. if(groundTinder != null && groundTinder.isOnScreen()){
  84. groundTinder.interact("Take Tinderbox");
  85. }
  86. }
  87. public void bankingTinders(){
  88. if(depositBox != null){
  89. depositBox.doClick();
  90. bank.depositAll();
  91. bank.close();
  92. }
  93. }
  94.  
  95. public void toBank(){
  96. walking.walkTileMM(BANK_TILE);
  97. if(closedDoor != null && closedDoor.getLocation() == DOOR_TILE){
  98. closedDoor.interact("Open Door");
  99. }
  100. }
  101.  
  102. public void toShelf(){
  103. walking.walkTileMM(COLLECTING_TILE);
  104. if(closedDoor != null && closedDoor.getLocation() == DOOR_TILE){
  105. closedDoor.interact("Open Door");
  106. }
  107. }
  108.  
  109.  
  110.  
  111. public State currentStatus(){
  112. if(amountDropped < 28){
  113. return State.COLLECTING_TINDER;
  114. } if(amountDropped == 28){
  115. return State.PICKUP_TINDER;
  116. }
  117. if(inventory.isFull() && !depositBox.isOnScreen()){
  118. return State.TO_BANK;
  119. }
  120. if(inventory.isFull() && depositBox != null && depositBox.isOnScreen()){
  121. return State.BANKING_TINDER;
  122. }
  123. if(!inventory.contains(TINDER_BOX_ID) && depositBox != null && depositBox.isOnScreen()){
  124. return State.TO_SHELF;
  125. }
  126. return null;
  127. }
  128.  
  129. public void onRepaint(Graphics g1) {
  130. long runningTime = System.currentTimeMillis() - START_TIME;
  131.  
  132. int seconds = (int)(runningTime / 1000) % 60; //I think this works...
  133. int minutes = (int)(runningTime / (1000 * 60)) % 60; //Same...
  134. int hours = (int)(runningTime / (1000 * 60 * 60)); //Hours doesn't get capped.
  135.  
  136. float hoursWorked = ((float)runningTime / (1000 * 60 * 60)) + 1.0f;
  137.  
  138. int profitPerHour = (int) ((float)totalProfit / hoursWorked);
  139.  
  140. StringBuilder bldr = new StringBuilder();
  141. bldr.append(hours < 10 ? ("0" + hours) : hours);
  142. bldr.append(":");
  143. bldr.append(minutes < 10 ? ("0" + minutes) : minutes);
  144. bldr.append(":");
  145. bldr.append(seconds < 10 ? ("0" + seconds) : seconds);
  146.  
  147. Graphics2D g = (Graphics2D)g1;
  148. g.setColor(new Color(51, 0, 255));
  149. g.fillRect(6, 341, 504, 133);
  150. g.setColor(Color.BLACK);
  151. g.setStroke(stroke1);
  152. g.drawRect(6, 341, 504, 133);
  153. g.setFont(font1);
  154. g.setColor(new Color(255, 255, 51));
  155. g.drawString("Nicker's WiseTinder! V. 1.00", 12, 375);
  156. g.setFont(font2);
  157. g.setColor(Color.YELLOW);
  158. g.drawString("Running for:" + bldr.toString(), 17, 407);
  159. g.drawString("Profit gained:" + totalProfit, 17, 430);
  160. g.drawString("Tinder's collected: " + tindersCollected, 270, 410);
  161. }
  162.  
  163. @Override
  164. public int loop() {
  165. bookShelf = objects.getNearest(BOOK_SHELF_ID);
  166. depositBox = objects.getNearest(DEPOSIT_BOX_ID);
  167. tinderBox = objects.getNearest(TINDER_BOX_ID);
  168. closedDoor = objects.getNearest(DOOR_CLOSED_ID);
  169. State state = currentStatus();
  170.  
  171. log.info("State:" + state.name());
  172.  
  173.  
  174. switch (currentStatus()){
  175.  
  176. case TO_BANK:
  177. toBank();
  178. break;
  179.  
  180. case TO_SHELF:
  181. toShelf();
  182. break;
  183.  
  184. case COLLECTING_TINDER:
  185. collectTinder();
  186. dropTinder();
  187. break;
  188.  
  189. case PICKUP_TINDER:
  190. pickupTinder();
  191. break;
  192.  
  193. case DROP_TINDER:
  194. dropTinder();
  195. break;
  196.  
  197. case BANKING_TINDER:
  198. bankingTinders();
  199. amountDropped = 0;
  200. break;
  201.  
  202. }
  203.  
  204. return (random(500, 1000));
  205.  
  206. }
  207.  
  208. @Override
  209. public void messageReceived(MessageEvent arg0) {
  210. // TODO Auto-generated method stub
  211.  
  212. }
  213. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement