Guest User

Untitled

a guest
Jul 21st, 2018
93
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 2.76 KB | None | 0 0
  1. import org.rsbot.script.Script;
  2. import org.rsbot.script.ScriptManifest;
  3. import org.rsbot.script.wrappers.RSObject;
  4. import org.rsbot.script.wrappers.RSTile;
  5.  
  6.  
  7. @ScriptManifest(authors = { "aaimister" }, category = "Money", name = "Potato Picker", version = 1.0, description = "<html><head></head><body><center><font size=\"6\" color=\"orange\">Potato Picker by aaimister</font></center>"
  8. + "<br></br>"
  9. + "<center><font size=\"4\" color=\"orange\">v0.1</font></center>"
  10. + "<br></br>"
  11. + "<br></br>"
  12. + "<center><font size=\"3\" color=\"orange\">Start script in the Draynor Village Bank. Sell at Mid to Max Price.</font></center></body></html>")
  13. public class Potato extends Script {
  14.  
  15. private int potatoPlant = 312, potatoInv = 1942, pickAnimation = 827, closedGate = 45206, openGate = 45207;
  16.  
  17. private RSTile[] toPotatos = new RSTile[] { new RSTile(3095, 3249),
  18. new RSTile(3108, 3254), new RSTile(3114, 3261),
  19. new RSTile(3124, 3263), new RSTile(3134, 3269),
  20. new RSTile(3134, 3282), new RSTile(3137, 3291),
  21. new RSTile(3145, 3292) };
  22. private RSTile[] toBank = new RSTile[] { new RSTile(3145, 3290),
  23. new RSTile(3136, 3291), new RSTile(3134, 3280),
  24. new RSTile(3133, 3266), new RSTile(3122, 3262),
  25. new RSTile(3109, 3255), new RSTile(3097, 3250),
  26. new RSTile(3092, 3244) };
  27.  
  28. private enum State {
  29. BANK, PICK, WALK_TO_POTATO_AREA, WALK_TO_BANK, OPEN_BANK, WAIT
  30. }
  31.  
  32. private State getState() {
  33. if (isInventoryFull()) {
  34. if (bank.isOpen()) {
  35. return State.BANK;
  36. } else if (distanceTo(toBank[toBank.length - 1]) <= 8) {
  37. return State.OPEN_BANK;
  38. } else {
  39. return State.WALK_TO_BANK;
  40. }
  41. } else {
  42. if (getMyPlayer().getAnimation() == pickAnimation) {
  43. return State.WAIT;
  44. } else if (distanceTo(toPotatos[toPotatos.length - 1]) <= 8) {
  45. return State.PICK;
  46. } else {
  47. return State.WALK_TO_POTATO_AREA;
  48. }
  49. }
  50. }
  51.  
  52. public int loop() {
  53. setCameraAltitude(true);
  54. switch (getState()) {
  55.  
  56. case BANK:
  57. bank.depositAll();
  58. wait(random(200,500));
  59. bank.close();
  60. break;
  61.  
  62. case OPEN_BANK:
  63. bank.open();
  64. break;
  65.  
  66. case WALK_TO_BANK:
  67. if (distanceTo(getDestination()) < random(5, 12)
  68. || distanceTo(getDestination()) > 40) {
  69. if (!walkPathMM(toBank)) {
  70. walkToClosestTile(toBank);
  71. }
  72. }
  73. break;
  74.  
  75. case PICK:
  76. RSObject potato = getNearestObjectByID(potatoPlant);
  77. if(potato != null) {
  78. atObject(potato, "Pick");
  79. return (random(200, 300));
  80. }
  81.  
  82. case WALK_TO_POTATO_AREA:
  83. if (distanceTo(getDestination()) < random(5, 12)
  84. || distanceTo(getDestination()) > 40) {
  85. if (!walkPathMM(toPotatos)) {
  86. walkToClosestTile(toBank);
  87. }
  88. }
  89. break;
  90.  
  91. case WAIT:
  92. break;
  93. }
  94. return random(350, 650);
  95. }
  96. }
Add Comment
Please, Sign In to add comment