Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- import org.osbot.iF;
- import org.osbot.script.Script;
- import org.osbot.script.ScriptManifest;
- import org.osbot.script.rs2.skill.Skill;
- import org.osbot.script.rs2.ui.*;
- import org.osbot.script.rs2.utility.Area;
- import org.osbot.script.rs2.map.*;
- import org.osbot.script.rs2.model.*;
- import org.osbot.script.mouse.MouseDestination;
- import org.osbot.script.mouse.RectangleDestination;
- import java.awt.*;
- import java.io.IOException;
- import java.io.Serializable;
- import java.net.URL;
- import java.util.Iterator;
- import java.util.LinkedList;
- import java.util.List;
- import javax.imageio.ImageIO;
- import java.awt.Image;
- import java.awt.event.ActionEvent;
- import java.awt.event.ActionListener;
- import javax.swing.*;
- import java.awt.event.*;
- @ScriptManifest(
- name = "Murdeds HillGiant Killer",
- author = "Murded",
- version = 1D,
- info = "SCRIPT INFO"
- )
- public class MurdedsHillGiants extends Script {
- final Area BANK_AREA = new Area(3180,3446,3186,3433);
- final Area S1 = new Area(3169,3433,3173,3425);
- final Area S2 = new Area(3152,3426,3158,3421);
- final Area S3 = new Area(3138,3432,3146,3427);
- final Area S4 = new Area(3122,3444,3130,3436);
- final Area S5 = new Area(3112,3449,3119,3446);
- final Area S6 = new Area(3113,3453,3117,3450);
- final Area HILL_GIANTS = new Area(3130,9856,3095,9820);
- final Position start = new Position(3171, 3429, 0);
- final Position Step1 = new Position(3155, 3424, 0);
- final Position Step2 = new Position(3141, 3431, 0);
- final Position Step3 = new Position(3127, 3440, 0);
- final Position Step4 = new Position(3115, 3449, 0);
- final Position TOBANk = new Position(3183, 3438, 0);
- final int BRASS_KEY = 983;
- public int AMMOUNT = 5;
- public int CURRENT_HEALTH = 99;
- public int MAX_HEALTH = 99;
- public int EAT_HEALTH = 12;
- final int BIGBONES = 532;
- final int LIMPROOT = 225;
- public boolean walkingToGiants = true;
- public boolean walkingToBank = false;
- public boolean bonesBanked = false;
- public boolean hasKey = false;
- public boolean hasBones = false;
- public boolean hasFood = false;
- public boolean hasRoot = false;
- public boolean shouldWalk = false;
- public boolean groovySucks = true;
- public boolean firstRun = true;
- public String FOOD = "Lobster";
- public int FOODID = 379;
- public boolean guiWait = true;
- enum State {
- INIT, FIRSTWALK, S1, S2, S3, S4, S5, S6, LOOTBONES, FULLINVO, Waiting
- }
- def state = State.INIT
- private final Font font1 = new Font("Calibri", 1, 12)
- private final Color color1 = new Color(255, 255, 255);
- private boolean doorClosed(){
- RS2Object DungeonDoor = closestObjectForName("Door");
- if(DungeonDoor != null){
- for (String s:DungeonDoor.getDefinition().getActions()){
- if(s != null){
- if(s.equals("Open")){
- return true;
- }
- }
- }
- return false;
- }else{
- return false;
- }
- }
- void getKey() {
- RS2Object bank = closestObjectForName("Bank booth");
- if (bank != null && bank.getPosition().distance(client.getMyPlayer().getPosition()) <= 8) {
- client.moveCameraToEntity(bank);
- selectEntityOption(bank, true, "Bank");
- sleep(random(1000, 1500));
- if(client.getBank().isOpen()) {
- if(!client.getInventory().contains(BRASS_KEY)) {
- client.getBank().withdraw(BRASS_KEY, 1);
- }
- client.getBank().close();
- }
- } else {
- log("Cannot find bank or is not close enough.");
- }
- }
- void bankBones() {
- RS2Object bank = closestObjectForName("Bank booth");
- if (bank != null && bank.getPosition().distance(client.getMyPlayer().getPosition()) <= 8) {
- client.moveCameraToEntity(bank);
- selectEntityOption(bank, true, "Bank");
- sleep(random(1000, 1500));
- if(client.getBank().isOpen()) {
- client.getBank().depositAllExcept(BRASS_KEY)
- client.getBank().close();
- }
- } else {
- log("Cannot find bank or is not close enough.");
- }
- }
- void getFood() {
- RS2Object bank = closestObjectForName("Bank booth");
- if (bank != null && bank.getPosition().distance(client.getMyPlayer().getPosition()) <= 8) {
- client.moveCameraToEntity(bank);
- selectEntityOption(bank, true, "Bank");
- sleep(random(1000, 1500));
- if(client.getBank().isOpen()) {
- if(CURRENT_HEALTH < EAT_HEALTH) {
- client.getBank().withdrawX(FOODID, AMMOUNT + 1);
- sleep(1000 + random(400));
- client.getBank().close();
- } else {
- client.getBank().withdrawX(FOODID, AMMOUNT);
- sleep(1000 + random(400));
- client.getBank().close();
- }
- }
- } else {
- log("Cannot find bank or is not close enough.");
- }
- }
- void eatFood() {
- if(client.isMenuOpen() == false) {
- if(client.getInventory().contains(FOODID)) {
- client.getInventory().interactWithId(FOODID, "Eat");
- } else if (!client.getInventory().contains(FOODID)) {
- if(CURRENT_HEALTH < EAT_HEALTH) {
- walkingToGiants = false;
- walkingToBank = true;
- }
- }
- }
- }
- void lootBones() {
- GroundItem bones = closestGroundItemForName("Big Bones");
- if(bones != null) {
- if(!client.getInventory().isFull()) {
- if (client.getMyPlayer().getPosition().distance(bones.getPosition()) < 3)
- {
- bones.interact("Take");
- sleep(1000 + random(400))
- }
- }
- }
- }
- void lootRoot() {
- GroundItem root = closestGroundItemForName("Limpwurt root");
- if(root != null) {
- if(!client.getInventory().isFull()) {
- if (client.getMyPlayer().getPosition().distance(root.getPosition()) < 9)
- {
- root.interact("Take");
- sleep(1000 + random(400))
- }
- }
- }
- }
- void attackGiant() {
- //if(!client.getInventory().contains(BIGBONES, 27)) {
- if(!client.getMyPlayer().isUnderAttack()) {
- if(CURRENT_HEALTH > EAT_HEALTH) {
- NPC npc = closestNPCForName("Hill Giant");
- if (npc != null) {
- if(npc.isVisible()) {
- if(!npc.isUnderAttack()) {
- npc.interact("Attack");
- sleep(1000 + random(400));
- }
- } else {
- client.moveCameraToEntity(npc);
- }
- }
- }
- }
- }
- //}
- private boolean canClimbDown(){
- RS2Object ladder = closestObjectForName("Ladder");
- if(ladder != null){
- for (String s:ladder.getDefinition().getActions()){
- if(s != null){
- if(s.equals("Climb-down")){
- return true;
- }
- }
- }
- return false;
- }else{
- return false;
- }
- }
- private boolean canClimbUp(){
- RS2Object ladder = closestObjectForName("Ladder");
- if(ladder != null){
- for (String s:ladder.getDefinition().getActions()){
- if(s != null){
- if(s.equals("Climb-up")){
- return true;
- }
- }
- }
- return false;
- }else{
- return false;
- }
- }
- @Override
- public void onStart() {
- MurdedsSpidersGUI g = new MurdedsSpidersGUI();
- g.setVisible(true);
- state = State.INIT;
- }
- @Override
- public int onLoop() {
- while(guiWait == true)
- {
- sleep(1000);
- }
- CURRENT_HEALTH = client.getSkills().getCurrentLevel(Skill.HITPOINTS);
- MAX_HEALTH = client.getSkills().getLevel(Skill.HITPOINTS);
- if(client.getInventory().contains(BRASS_KEY))
- {
- hasKey = true;
- } else {
- hasKey = false;
- }
- if(client.getInventory().contains(FOODID))
- {
- hasFood = true;
- } else {
- hasFood = false;
- }
- if(client.getInventory().contains(BIGBONES))
- {
- hasBones = true;
- } else {
- hasBones = false;
- }
- if(client.getInventory().contains(LIMPROOT))
- {
- hasRoot = true;
- } else {
- hasRoot = false;
- }
- if(CURRENT_HEALTH <= (EAT_HEALTH)) {
- eatFood();
- }
- if(BANK_AREA.contains(client.getMyPlayer()))
- {
- if(hasKey == false)
- {
- getKey();
- sleep(1000 + random(400));
- }
- if(hasBones) {
- bankBones();
- sleep(1000 + random(400));
- }
- if(hasFood == false) {
- if(client.getInventory().isFull() == false) {
- getFood();
- sleep(1000 + random(400));
- }
- }
- if(hasKey && hasFood && hasBones == false && hasRoot == false) {
- shouldWalk = true;
- } else {
- shouldWalk = false;
- }
- if(shouldWalk) {
- walkingToGiants = true;
- walkingToBank = false;
- state = State.FIRSTWALK;
- }
- }
- if(S1.contains(client.getMyPlayer())){
- state = State.S1;
- }
- if(S2.contains(client.getMyPlayer())){
- state = State.S2;
- }
- if(S3.contains(client.getMyPlayer())){
- state = State.S3;
- }
- if(S4.contains(client.getMyPlayer())){
- state = State.S4;
- }
- if(S5.contains(client.getMyPlayer())){
- state = State.S5;
- }
- if(S6.contains(client.getMyPlayer())){
- state = State.S6;
- }
- if(client.getInventory().isFull()) {
- walkingToBank = true;
- walkingToGiants = false;
- }
- if(HILL_GIANTS.contains(client.getMyPlayer())){
- if(walkingToGiants)
- {
- lootBones();
- lootRoot();
- attackGiant();
- } else {
- RS2Object ladder = closestObjectForName("Ladder");
- if ((ladder != null) && canClimbUp()) {
- selectEntityOption(ladder,"Climb-up");
- sleep(1000 + random(400));
- }
- }
- }
- try {
- switch(state) {
- case State.FIRSTWALK:
- return FIRSTWALK();
- case State.S1:
- return STEP1();
- case State.S2:
- return STEP2();
- case State.S3:
- return STEP3();
- case State.S4:
- return STEP4();
- case State.S5:
- return STEP5();
- case State.S6:
- return STEP6();
- case State.FULLINVO:
- return FULLINVENTORY();
- case State.Waiting:
- return Waiting();
- }
- return 20 + gRandom(100, 100);
- } catch (InterruptedException e) {
- throw e;
- } catch (Exception e) {
- e.printStackTrace();
- return 100 + gRandom(200, 100);
- }
- }
- @Override
- public void onPaint(Graphics g){
- g.setFont(font1)
- g.setColor(color1)
- g.drawString(":: Current State: " + state, 325, 12)
- g.drawString(":: Current Health: " + CURRENT_HEALTH + " / " + MAX_HEALTH, 325, 32)
- g.drawString(":: walkingToBank: " + walkingToBank, 325, 52)
- g.drawString(":: walkingToGiants: " + walkingToGiants, 325, 72)
- g.drawString(":: Should Walk?: " + shouldWalk, 325, 92)
- g.drawString(":: Has Food?: " + hasFood, 325, 112)
- g.drawString(":: Has Root?: " + hasRoot, 325, 132)
- g.drawString(":: Has Key?: " + hasKey, 325, 152)
- g.drawString(":: Has Bones?: " + hasBones, 325, 172)
- }
- int FIRSTWALK() {
- walkMiniMap(start);
- sleep(1000 + random(400))
- }
- int STEP1() {
- if(walkingToGiants) {
- walkMiniMap(Step1);
- sleep(1000 + random(400))
- } else if(walkingToBank) {
- walkMiniMap(TOBANk);
- sleep(1000 + random(400))
- state = State.Waiting
- }
- }
- int Waiting() {
- if(shouldWalk) {
- state = State.FIRSTWALK;
- sleep(1000 + random(400))
- }
- }
- int STEP2() {
- if(walkingToGiants) {
- walkMiniMap(Step2);
- sleep(1000 + random(400))
- }else if(walkingToBank) {
- walkMiniMap(start);
- sleep(1000 + random(400));
- }
- //walkMiniMap(atladder);
- //sleep(1000 + random(400))
- //state = State.ATMANHOLE;
- }
- int STEP3() {
- if(walkingToGiants) {
- walkMiniMap(Step3);
- sleep(1000 + random(400))
- } else if(walkingToBank) {
- walkMiniMap(Step1);
- sleep(1000 + random(400));
- }
- //walkMiniMap(atladder);
- //sleep(1000 + random(400))
- //state = State.ATMANHOLE;
- }
- int STEP4() {
- if(walkingToGiants) {
- walkMiniMap(Step4);
- sleep(1000 + random(400))
- } else if(walkingToBank) {
- walkMiniMap(Step2);
- sleep(1000 + random(400));
- }
- //walkMiniMap(atladder);
- //sleep(1000 + random(400))
- //state = State.ATMANHOLE;
- }
- int STEP5() {
- if(walkingToGiants) {
- RS2Object DungeonDoor = closestObjectForName("Door");
- if ((DungeonDoor != null) && doorClosed()) {
- selectEntityOption(DungeonDoor,"Open");
- sleep(1000 + random(400));
- }
- } else if(walkingToBank) {
- walkMiniMap(Step3);
- sleep(1000 + random(400));
- }
- }
- int STEP6() {
- if(walkingToGiants) {
- RS2Object ladder = closestObjectForName("Ladder");
- if ((ladder != null) && canClimbDown()) {
- selectEntityOption(ladder,"Climb-down");
- sleep(1000 + random(400));
- }
- } else if(walkingToBank) {
- RS2Object DungeonDoor = closestObjectForName("Door");
- if ((DungeonDoor != null) && doorClosed()) {
- selectEntityOption(DungeonDoor,"Open");
- sleep(1000 + random(400));
- }
- }
- }
- int D4() {
- walkMiniMap(Dungeon4);
- sleep(1000 + random(400))
- }
- int D5() {
- walkMiniMap(Dungeon5);
- sleep(1000 + random(400))
- }
- int D6() {
- walkMiniMap(Dungeon6);
- sleep(1000 + random(400))
- }
- int D7() {
- walkMiniMap(Dungeon7);
- sleep(1000 + random(400))
- }
- int D8() {
- RS2Object DungeonDoor = closestObjectForName("Door");
- if ((DungeonDoor != null) && doorClosed()) {
- selectEntityOption(DungeonDoor,"Open");
- sleep(1000 + random(400));
- } else {
- walkMiniMap(Dungeon9);
- sleep(1000 + random(400));
- }
- }
- int D9() {
- RS2Object DungeonDoor = closestObjectForName("Door");
- if ((DungeonDoor != null) && doorClosed()) {
- selectEntityOption(DungeonDoor,"Open");
- sleep(1000 + random(400));
- } else {
- walkMiniMap(Dungeon10);
- sleep(1000 + random(400));
- }
- }
- int D10() {
- walkMiniMap(Dungeon11);
- sleep(1000 + random(400))
- }
- int D11() {
- RS2Object web = closestObjectForName("Web");
- if ((web != null) && webSlashed()) {
- selectEntityOption(web,"Slash");
- sleep(1000 + random(400));
- } else {
- walkMiniMap(Dungeon12);
- sleep(1000 + random(400));
- }
- }
- int D12() {
- walkMiniMap(Spiders);
- sleep(1000 + random(400))
- }
- int Spiders2() {
- NPC npc = closestNPCForName("Deadly red spider");
- if (npc != null) {
- if(npc.isVisible()) {
- if(!npc.isUnderAttack()) {
- npc.interact("Attack");
- sleep(1000 + random(400));
- }
- } else {
- client.moveCameraToEntity(npc);
- }
- }
- }
- class MurdedsSpidersGUI extends JFrame {
- public MurdedsSpidersGUI() {
- initComponents();
- }
- private void button1ActionPerformed(ActionEvent e) {
- FOODID = Integer.parseInt(foodID.getText());
- AMMOUNT = Integer.parseInt(foodAmmount.getText());
- EAT_HEALTH = Integer.parseInt(foodEat.getText());
- guiWait = false;
- }
- private void initComponents() {
- // JFormDesigner - Component initialization - DO NOT MODIFY //GEN-BEGIN:initComponents
- // Generated using JFormDesigner Evaluation license - josh jones
- l = new JLabel();
- label4 = new JLabel();
- label5 = new JLabel();
- l2 = new JLabel();
- foodID = new JTextField();
- button1 = new JButton();
- foodAmmount = new JTextField();
- foodEat = new JTextField();
- label2 = new JLabel();
- label1 = new JLabel();
- //======== this ========
- setBackground(Color.white);
- setIconImage(null);
- setResizable(false);
- Container contentPane = getContentPane();
- contentPane.setLayout(null);
- //---- l ----
- l.setText("Food ID Here");
- l.setForeground(Color.white);
- l.setFont(new Font("Tahoma", Font.PLAIN, 18));
- contentPane.add(l);
- l.setBounds(250, 75, 145, 25);
- //---- label4 ----
- label4.setText("Food Per Trip");
- label4.setForeground(Color.white);
- label4.setFont(new Font("Tahoma", Font.PLAIN, 18));
- contentPane.add(label4);
- label4.setBounds(260, 135, 110, 25);
- //---- label5 ----
- label5.setText("Eat when HP is Below");
- label5.setForeground(Color.white);
- label5.setFont(new Font("Tahoma", Font.PLAIN, 18));
- contentPane.add(label5);
- label5.setBounds(225, 200, 180, 25);
- //---- l2 ----
- l2.setIcon(new ImageIcon("C:\\Users\\Andrew\\Desktop\\icons.png"));
- contentPane.add(l2);
- l2.setBounds(-10, -30, 640, 442);
- contentPane.add(foodID);
- foodID.setBounds(210, 110, 200, 25);
- //---- button1 ----
- button1.setText("Start");
- button1.addActionListener(new ActionListener() {
- @Override
- public void actionPerformed(ActionEvent e) {
- button1ActionPerformed(e);
- }
- });
- contentPane.add(button1);
- button1.setBounds(230, 310, 160, 65);
- //---- foodAmmount ----
- foodAmmount.setText("5");
- contentPane.add(foodAmmount);
- foodAmmount.setBounds(215, 170, 200, 25);
- //---- foodEat ----
- foodEat.setText("12");
- contentPane.add(foodEat);
- foodEat.setBounds(215, 235, 200, 25);
- //---- label2 ----
- label2.setText("Murdeds Hill Giants");
- label2.setFont(new Font("Tahoma", Font.PLAIN, 24));
- label2.setHorizontalAlignment(SwingConstants.CENTER);
- label2.setAlignmentY(-0.5F);
- label2.setForeground(Color.white);
- contentPane.add(label2);
- label2.setBounds(135, -10, 350, 40);
- //---- label1 ----
- label1.setIcon(new ImageIcon("C:\\Users\\Andrew\\Desktop\\basicGUI.png"));
- contentPane.add(label1);
- label1.setBounds(-5, 0, 630, 400);
- if(groovySucks)
- { // compute preferred size
- Dimension preferredSize = new Dimension();
- for(int i = 0; i < contentPane.getComponentCount(); i++) {
- Rectangle bounds = contentPane.getComponent(i).getBounds();
- preferredSize.width = Math.max(bounds.x + bounds.width, preferredSize.width);
- preferredSize.height = Math.max(bounds.y + bounds.height, preferredSize.height);
- }
- Insets insets = contentPane.getInsets();
- preferredSize.width += insets.right;
- preferredSize.height += insets.bottom;
- contentPane.setMinimumSize(preferredSize);
- contentPane.setPreferredSize(preferredSize);
- }
- setSize(635, 435);
- setLocationRelativeTo(getOwner());
- // JFormDesigner - End of component initialization //GEN-END:initComponents
- }
- // JFormDesigner - Variables declaration - DO NOT MODIFY //GEN-BEGIN:variables
- // Generated using JFormDesigner Evaluation license - josh jones
- private JLabel l;
- private JLabel label4;
- private JLabel label5;
- private JLabel l2;
- private JTextField foodID;
- private JButton button1;
- private JTextField foodAmmount;
- private JTextField foodEat;
- private JLabel label2;
- private JLabel label1;
- // JFormDesigner - End of variables declaration //GEN-END:variables
- }
- }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement