Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- import main.hooks.zenyte.Category;
- import main.hooks.zenyte.ChatMessage;
- import main.robot.script.Script;
- import net.runelite.api.*;
- import net.runelite.api.widgets.WidgetItem;
- import java.awt.*;
- import java.util.Arrays;
- import java.util.List;
- import java.util.Optional;
- public class Launch extends Script {
- private final int GENERAL_ID = 2215;
- private final int STRONG_STACK = 2216;
- private final int GENERAL_RANGE_ATTACK_ANIM = 7021;
- private final int GENERAL_MELEE_ATTACK_ANIM = 7018;
- private final int STRONG_STACK_ATTACK_ANIM = 5; //TODO: Placeholder...
- private Optional<NPC> generalNpc = Optional.empty();
- private Optional<NPC> strongStackNpc = Optional.empty();
- @Override
- public Category scriptDefinitions() {
- Category cat = new Category();
- cat.setAuthor("OSF");
- cat.setTitle("Bandos Tanker");
- cat.setVersion(1.0);
- return cat;
- }
- @Override
- public void onExecute() {
- }
- @Override
- public void onProcess() {
- Player player = auto.getClient().getLocalPlayer();
- int prayerPoints = Integer.parseInt(auto.getClient().getWidget(160, 15).getText());
- if (prayerPoints < 5) {
- List<Integer> consumablesList = Arrays.asList(2434, 139, 141, 143, 3024, 3026, 3028, 3030);
- Optional<WidgetItem> optional = Arrays.stream(auto.getInventory().getInventory()).filter(id -> consumablesList.contains(id.getId())).findFirst();
- if (optional.isPresent()) {
- WidgetItem item = optional.get();
- auto.getInventory().clickOption(item, "Drink");
- auto.sleep(500);
- }
- }
- if (auto.getContext().getHitpoints() < auto.getContext().getSkillLevel(Skill.HITPOINTS) / 2) {
- List<Integer> consumablesList = Arrays.asList(6883, 385, 13441);
- Optional<WidgetItem> optional = Arrays.stream(auto.getInventory().getInventory()).filter(id -> consumablesList.contains(id.getId())).findFirst();
- if (optional.isPresent()) {
- WidgetItem item = optional.get();
- auto.getInventory().clickOption(item, "Eat");
- auto.sleep(500);
- } else {
- Optional<WidgetItem> tablet = Arrays.stream(auto.getInventory().getInventory()).filter(id -> id.getId() == 22721).findFirst();
- if (tablet.isPresent()) {
- WidgetItem tab = tablet.get();
- auto.getInventory().clickOption(tab, "Break");
- onTerminate();
- } else {
- auto.updateStatus("Couldn't complete request to teleport home... Script has been terminated..");
- onTerminate();
- }
- }
- }
- generalNpc = auto.getClient().getNpcs().stream().filter(s -> s.getId() == GENERAL_ID).findAny();
- strongStackNpc = auto.getClient().getNpcs().stream().filter(s -> s.getId() == STRONG_STACK).findFirst();
- if (player.getInteracting().getName().equalsIgnoreCase("general graardor") && generalNpc.isPresent()) {
- NPC general = generalNpc.get();
- if (general.getAnimation() == GENERAL_RANGE_ATTACK_ANIM) {
- auto.getPrayer().togglePrayer("Protect from Missiles", true);
- auto.sleep(250);
- } else if (general.getAnimation() == GENERAL_MELEE_ATTACK_ANIM) {
- auto.getPrayer().togglePrayer("Protect from Melee", true);
- auto.sleep(250);
- } else {
- auto.getPrayer().togglePrayer("Protect from Melee", true);
- auto.sleep(250);
- }
- }
- if (player.getInteracting().getName().equalsIgnoreCase("Sergeant Strongstack") && strongStackNpc.isPresent()) {
- NPC strong = strongStackNpc.get();
- if (strong.getAnimation() == STRONG_STACK_ATTACK_ANIM) {
- auto.getPrayer().togglePrayer("Protect from Melee", true);
- auto.sleep(250);
- } else {
- auto.getPrayer().togglePrayer("Protect from Melee", false);
- auto.sleep(250);
- }
- }
- if (!generalNpc.isPresent() && !strongStackNpc.isPresent()) {
- if (!auto.getInventory().inventoryFull()) {
- List<Item> drops = auto.getGroundItems().getLocalItems();
- Optional<Item> boneOption = drops.stream().filter(item -> item.getId() == 526).findAny();
- if (boneOption.isPresent()) {
- Item bone = boneOption.get();
- Tile tile = auto.getGroundItems().tileForItem(bone);
- auto.getGroundItems().clickOnMinimap(tile);
- auto.getGroundItems().pickup(bone);
- auto.sleep(750);
- }
- }
- }
- }
- private void pluginDebug() {
- Optional<NPC> crabTest;
- final int crab_id = 7799;
- Player player = auto.getClient().getLocalPlayer();
- crabTest = auto.getClient().getNpcs().stream().filter(s -> s.getId() == crab_id).findAny();
- if (crabTest.isPresent() && player.getInteracting().getName().contains("Crab")) {
- NPC found = crabTest.get();
- if (found.getAnimation() == 1312) {
- auto.getPrayer().togglePrayer("Protect from Melee", true);
- auto.sleep(250);
- } else {
- auto.getPrayer().togglePrayer("Protect from Melee", false);
- auto.sleep(250);
- }
- }
- }
- @Override
- public void onTerminate() {
- onTerminate();
- }
- @Override
- public void onChatMessage(ChatMessage chatMessage) {
- }
- @Override
- public Graphics paint(Graphics graphics) {
- return graphics;
- }
- }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement