Advertisement
Guest User

Untitled

a guest
Jun 24th, 2019
70
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 5.82 KB | None | 0 0
  1.  
  2. import main.hooks.zenyte.Category;
  3. import main.hooks.zenyte.ChatMessage;
  4. import main.robot.script.Script;
  5. import net.runelite.api.*;
  6. import net.runelite.api.widgets.WidgetItem;
  7.  
  8. import java.awt.*;
  9.  
  10. import java.util.Arrays;
  11. import java.util.List;
  12. import java.util.Optional;
  13.  
  14. public class Launch extends Script {
  15.  
  16. private final int GENERAL_ID = 2215;
  17. private final int STRONG_STACK = 2216;
  18.  
  19. private final int GENERAL_RANGE_ATTACK_ANIM = 7021;
  20. private final int GENERAL_MELEE_ATTACK_ANIM = 7018;
  21. private final int STRONG_STACK_ATTACK_ANIM = 5; //TODO: Placeholder...
  22.  
  23. private Optional<NPC> generalNpc = Optional.empty();
  24. private Optional<NPC> strongStackNpc = Optional.empty();
  25.  
  26.  
  27. @Override
  28. public Category scriptDefinitions() {
  29. Category cat = new Category();
  30. cat.setAuthor("OSF");
  31. cat.setTitle("Bandos Tanker");
  32. cat.setVersion(1.0);
  33. return cat;
  34. }
  35.  
  36. @Override
  37. public void onExecute() {
  38. }
  39.  
  40. @Override
  41. public void onProcess() {
  42. Player player = auto.getClient().getLocalPlayer();
  43.  
  44. int prayerPoints = Integer.parseInt(auto.getClient().getWidget(160, 15).getText());
  45. if (prayerPoints < 5) {
  46. List<Integer> consumablesList = Arrays.asList(2434, 139, 141, 143, 3024, 3026, 3028, 3030);
  47. Optional<WidgetItem> optional = Arrays.stream(auto.getInventory().getInventory()).filter(id -> consumablesList.contains(id.getId())).findFirst();
  48. if (optional.isPresent()) {
  49. WidgetItem item = optional.get();
  50. auto.getInventory().clickOption(item, "Drink");
  51. auto.sleep(500);
  52. }
  53. }
  54.  
  55. if (auto.getContext().getHitpoints() < auto.getContext().getSkillLevel(Skill.HITPOINTS) / 2) {
  56. List<Integer> consumablesList = Arrays.asList(6883, 385, 13441);
  57. Optional<WidgetItem> optional = Arrays.stream(auto.getInventory().getInventory()).filter(id -> consumablesList.contains(id.getId())).findFirst();
  58. if (optional.isPresent()) {
  59. WidgetItem item = optional.get();
  60. auto.getInventory().clickOption(item, "Eat");
  61. auto.sleep(500);
  62. } else {
  63. Optional<WidgetItem> tablet = Arrays.stream(auto.getInventory().getInventory()).filter(id -> id.getId() == 22721).findFirst();
  64. if (tablet.isPresent()) {
  65. WidgetItem tab = tablet.get();
  66. auto.getInventory().clickOption(tab, "Break");
  67. onTerminate();
  68. } else {
  69. auto.updateStatus("Couldn't complete request to teleport home... Script has been terminated..");
  70. onTerminate();
  71. }
  72. }
  73. }
  74.  
  75. generalNpc = auto.getClient().getNpcs().stream().filter(s -> s.getId() == GENERAL_ID).findAny();
  76. strongStackNpc = auto.getClient().getNpcs().stream().filter(s -> s.getId() == STRONG_STACK).findFirst();
  77.  
  78. if (player.getInteracting().getName().equalsIgnoreCase("general graardor") && generalNpc.isPresent()) {
  79. NPC general = generalNpc.get();
  80. if (general.getAnimation() == GENERAL_RANGE_ATTACK_ANIM) {
  81. auto.getPrayer().togglePrayer("Protect from Missiles", true);
  82. auto.sleep(250);
  83. } else if (general.getAnimation() == GENERAL_MELEE_ATTACK_ANIM) {
  84. auto.getPrayer().togglePrayer("Protect from Melee", true);
  85. auto.sleep(250);
  86. } else {
  87. auto.getPrayer().togglePrayer("Protect from Melee", true);
  88. auto.sleep(250);
  89. }
  90. }
  91. if (player.getInteracting().getName().equalsIgnoreCase("Sergeant Strongstack") && strongStackNpc.isPresent()) {
  92. NPC strong = strongStackNpc.get();
  93. if (strong.getAnimation() == STRONG_STACK_ATTACK_ANIM) {
  94. auto.getPrayer().togglePrayer("Protect from Melee", true);
  95. auto.sleep(250);
  96.  
  97. } else {
  98. auto.getPrayer().togglePrayer("Protect from Melee", false);
  99. auto.sleep(250);
  100.  
  101. }
  102. }
  103.  
  104. if (!generalNpc.isPresent() && !strongStackNpc.isPresent()) {
  105. if (!auto.getInventory().inventoryFull()) {
  106. List<Item> drops = auto.getGroundItems().getLocalItems();
  107. Optional<Item> boneOption = drops.stream().filter(item -> item.getId() == 526).findAny();
  108. if (boneOption.isPresent()) {
  109. Item bone = boneOption.get();
  110. Tile tile = auto.getGroundItems().tileForItem(bone);
  111. auto.getGroundItems().clickOnMinimap(tile);
  112. auto.getGroundItems().pickup(bone);
  113. auto.sleep(750);
  114. }
  115. }
  116. }
  117. }
  118.  
  119. private void pluginDebug() {
  120. Optional<NPC> crabTest;
  121. final int crab_id = 7799;
  122.  
  123. Player player = auto.getClient().getLocalPlayer();
  124.  
  125. crabTest = auto.getClient().getNpcs().stream().filter(s -> s.getId() == crab_id).findAny();
  126. if (crabTest.isPresent() && player.getInteracting().getName().contains("Crab")) {
  127. NPC found = crabTest.get();
  128. if (found.getAnimation() == 1312) {
  129. auto.getPrayer().togglePrayer("Protect from Melee", true);
  130. auto.sleep(250);
  131. } else {
  132. auto.getPrayer().togglePrayer("Protect from Melee", false);
  133. auto.sleep(250);
  134. }
  135. }
  136. }
  137.  
  138. @Override
  139. public void onTerminate() {
  140. onTerminate();
  141. }
  142. @Override
  143. public void onChatMessage(ChatMessage chatMessage) {
  144. }
  145.  
  146. @Override
  147. public Graphics paint(Graphics graphics) {
  148. return graphics;
  149. }
  150. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement