Guest User

Untitled

a guest
Jan 20th, 2019
86
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 5.96 KB | None | 0 0
  1.  
  2. import org.rsbot.script.Script;
  3. import org.rsbot.script.ScriptManifest;
  4. import org.rsbot.script.wrappers.RSArea;
  5. import org.rsbot.script.wrappers.RSNPC;
  6. import org.rsbot.script.wrappers.RSObject;
  7. import org.rsbot.script.wrappers.RSTile;
  8.  
  9. @ScriptManifest(authors = "NEXBot", name = "NEX Sorceress Garden", version = 1.82, description = "Travels through the maze and picks stoof")
  10. public class NEXSorceressGarden extends Script {
  11.  
  12. int WinterDoor = 21709;
  13. boolean solvingPuzzle = false;
  14. boolean solvingWinter = false;
  15.  
  16. private boolean inGarden() {
  17. RSArea GardenArea = new RSArea(new RSTile(2903, 5463), new RSTile(2920, 5480));
  18. if (GardenArea.contains(players.getMyPlayer().getLocation())) {
  19. return true;
  20. } else {
  21. return false;
  22. }
  23. }
  24.  
  25. private boolean firstStageWinter() {
  26. RSArea firstStageWinter = new RSArea(new RSTile(2903, 5469), new RSTile(2898, 5472));
  27. if (firstStageWinter.contains(players.getMyPlayer().getLocation())) {
  28. return true;
  29. } else {
  30. return false;
  31. }
  32. }
  33.  
  34. private boolean finishingFirstStageWinter() {
  35. RSArea finishingFirstStageWinter = new RSArea(new RSTile(2902, 5474), new RSTile(2898, 5478));
  36. if (finishingFirstStageWinter.contains(players.getMyPlayer().getLocation())) {
  37. return true;
  38. } else {
  39. return false;
  40. }
  41. }
  42.  
  43. private boolean finishedWinter() {
  44. RSArea finishedWinter = new RSArea(new RSTile(2888, 5483), new RSTile(2891, 5466));
  45. if (finishedWinter.contains(players.getMyPlayer().getLocation())) {
  46. return true;
  47. } else {
  48. return false;
  49. }
  50. }
  51.  
  52. private void solveWinterPuzzle() {
  53. mouse.setSpeed(random(7, 10));
  54. RSNPC secondNpc = npcs.getNearest(5556);
  55. RSNPC firstNpc = npcs.getNearest(5555);
  56. if (firstStageWinter() && firstNpc.getOrientation() == 180 && firstNpc.getLocation().getY() >= 5475 && secondNpc.getOrientation() != 180) {
  57. walking.walkTileMM(new RSTile(2899, 5481));
  58. }
  59. if (firstStageWinter() && firstNpc.getOrientation() == 0 && calc.distanceTo(firstNpc) <= 4) {
  60. //Safe spot hiding
  61. web.getWeb(new RSTile(2901, 5475)).step();
  62. }
  63. secondNpc = npcs.getNearest(5556);
  64.  
  65. if (finishingFirstStageWinter() && firstNpc.getOrientation() == 180 && secondNpc.getOrientation() != 180 && !finishedWinter()) {
  66. log(players.getMyPlayer().getLocation());
  67. if (players.getMyPlayer().getLocation() != new RSTile(2898, 5481)) {
  68. walking.walkTileMM(new RSTile(2899, 5481));
  69. sleep(2000);
  70. }
  71. }
  72.  
  73. RSNPC thirdNpc = npcs.getNearest(5557);
  74. secondNpc = npcs.getNearest(5556);
  75. if (!finishingFirstStageWinter() && !firstStageWinter() && !finishedWinter()) {
  76. log(secondNpc.getOrientation() + " " + thirdNpc.getOrientation());
  77. //Path 1
  78. if ((secondNpc.getOrientation() == 90 || secondNpc.getOrientation() == 180 || secondNpc.getOrientation() == 270) && thirdNpc.getOrientation() != 0 && thirdNpc.getOrientation() != 90 && thirdNpc.getLocation().getX() <= 2891) {
  79. walking.walkTileMM(new RSTile(2893, 5484));
  80. sleep(4000);
  81. }
  82.  
  83. }
  84. RSNPC fourthNpc = npcs.getNearest(5558);
  85.  
  86. if (players.getMyPlayer().getLocation() == new RSTile(2892, 5484) && (fourthNpc.getLocation().getX() > 2893 && fourthNpc.getOrientation() == 90) && !finishedWinter()) {
  87. walking.walkTileMM(new RSTile(2892, 5478));
  88. sleep(4000);
  89. }
  90. if (finishedWinter()) {
  91. if (!objects.getNearest(21671).isOnScreen()) {
  92. web.getWeb(new RSTile(2891, 5467)).step();
  93. sleep(4000);
  94. }
  95. if (objects.getNearest(21671).isOnScreen()) {
  96. objects.getNearest(21671).interact("Pick");
  97. }
  98. }
  99. }
  100.  
  101. @Override
  102. public int loop() {
  103. RSObject WinterEnterance = objects.getNearest(WinterDoor);
  104. if (inGarden()) {
  105. solvingPuzzle = false;
  106. }
  107. if (WinterEnterance != null && !solvingPuzzle) {
  108. if (WinterEnterance.isOnScreen()) {
  109. //Opens enterance
  110. WinterEnterance.interact("Open");
  111. solvingPuzzle = true;
  112. solvingWinter = true;
  113. sleep(5000);
  114. } else {
  115. //Walks to the enterance
  116. try {
  117. web.getWeb(WinterEnterance.getLocation()).step();
  118. } catch (Exception i) {
  119. if (inventory.contains(14057)) {
  120. inventory.getItem(14057).interact("Teleport");
  121. sleep(7000);
  122. } else {
  123. //No broomstick.
  124. log.warning("You do not have a broomstick with you.");
  125. stopScript();
  126. }
  127. }
  128. }
  129. }
  130. if (WinterEnterance == null && inGarden()) {
  131. //Walks to Winter door.
  132. RSTile Enterance = new RSTile(2903, 5470);
  133. try {
  134. web.getWeb(Enterance).step();
  135. } catch (Exception ignored) {
  136. }
  137. }
  138. if (!inGarden() && !solvingPuzzle) {
  139. //If not in the place, then teleport to the place.
  140. if (inventory.contains(14057)) {
  141. inventory.getItem(14057).interact("Teleport");
  142. sleep(7000);
  143. } else {
  144. //No broomstick.
  145. log.warning("You do not have a broomstick with you.");
  146. stopScript();
  147. }
  148. }
  149. if (solvingWinter && !inGarden()) {
  150. solveWinterPuzzle();
  151. }
  152.  
  153. return random(100, 500);
  154. }
  155. }
Add Comment
Please, Sign In to add comment