Advertisement
Guest User

Untitled

a guest
May 6th, 2015
318
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 3.39 KB | None | 0 0
  1. import org.osbot.rs07.api.map.Position;
  2. import org.osbot.rs07.api.model.RS2Object;
  3. import org.osbot.rs07.input.mouse.MiniMapTileDestination;
  4. import org.osbot.rs07.script.Script;
  5. import org.osbot.rs07.script.ScriptManifest;
  6. import org.osbot.rs07.utility.Area;
  7.  
  8. import java.awt.*;
  9.  
  10. @ScriptManifest(author = "INFERN0!", info = "I made this script!", name = "INFERNO Chopper", version = 1.0, logo = "")
  11. public class OnyxChopper extends Script {
  12.  
  13. private static final int[] WILLOW_ID = {11763, 11759, 11755, 11761};
  14.  
  15.  
  16. private Position[] path = {
  17. new Position(3090, 3226, 0),
  18. new Position(3089, 3232, 0),
  19. new Position(3087, 3243, 0),
  20. new Position(3092, 3243, 0)
  21. };
  22.  
  23. private static final Area CHOP_AREA = new Area(3089, 3226, 3084, 3239);
  24. private static final Area BANK_AREA = new Area(3092, 3240, 3092, 3245);
  25.  
  26. private enum State {
  27. CHOP, WALK_TO_BANK, BANK, WALK_TO_CHOP
  28.  
  29. };
  30.  
  31.  
  32.  
  33. private State getState() {
  34. if (inventory.isFull() && CHOP_AREA.contains(myPlayer()))
  35. return State.WALK_TO_BANK;
  36. if (!inventory.isFull() && BANK_AREA.contains(myPlayer()))
  37. return State.WALK_TO_CHOP;
  38. if (inventory.isFull() && BANK_AREA.contains(myPlayer()))
  39. return State.BANK;
  40. return State.CHOP;
  41.  
  42. }
  43.  
  44.  
  45. private void traversePath(Position[] path, boolean reversed) throws InterruptedException {
  46. if (!reversed) {
  47. for (int i = 1; i < path.length; i++)
  48. if (!walkTile(path[i]))
  49. i--;
  50. } else {
  51. for (int i = path.length - 2; i > 0; i--)
  52. if (!walkTile(path[i]))
  53. i--;
  54.  
  55. }
  56. }
  57.  
  58. private boolean walkTile(Position p) throws InterruptedException {
  59. mouse.move(new MiniMapTileDestination(bot, p), false);
  60. sleep(random(150, 250));
  61. mouse.click(false);
  62. int failsafe = 0;
  63. while (failsafe < 10 && myPlayer().getPosition().distance(p) > 2) {
  64. sleep(200);
  65. failsafe++;
  66. if (myPlayer().isMoving())
  67. failsafe = 0;
  68.  
  69. }
  70. if (failsafe == 10)
  71. return false;
  72. return true;
  73. }
  74.  
  75.  
  76. @Override
  77. public void onStart() {
  78. log("INFERN0 IS A BAWZ.");
  79.  
  80. }
  81.  
  82. @Override
  83. public int onLoop() throws InterruptedException {
  84. switch (getState()) {
  85. case CHOP:
  86. if (!myPlayer().isAnimating()) {
  87. RS2Object vein = objects.closest(WILLOW_ID);
  88. if (vein.interact("CHOP DOWN"))
  89. sleep(random(1000, 1500));
  90.  
  91.  
  92.  
  93. }
  94. break;
  95. case WALK_TO_BANK:
  96. traversePath(path, false);
  97. sleep(random(1500, 2500));
  98. break;
  99. case WALK_TO_CHOP:
  100. traversePath(path, true);
  101. sleep(random(1500, 2500));
  102. break;
  103. case BANK:
  104. RS2Object bankBooth = objects.closest("Bank booth");
  105. if (bankBooth != null) {
  106. if (bankBooth.interact("Bank")) {
  107. while (!bank.isOpen())
  108. sleep(250);
  109. bank.depositAll();
  110. }
  111. }
  112. break;
  113.  
  114. }
  115. return random(200, 300);
  116.  
  117.  
  118. }
  119.  
  120. @Override
  121. public void onExit() {
  122. log("Thanks for trying INFERN0 Scripts :D");
  123. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement