All pastes #2072848 Raw Edit

Anonymous

public text v1 · immutable
#2072848 ·published 2011-05-31 16:39 UTC
rendered paste body
import java.awt.*;
import java.awt.event.*;
import javax.swing.*;

import org.rsbot.event.events.MessageEvent;
import org.rsbot.event.listeners.MessageListener;
import org.rsbot.event.listeners.PaintListener;
import org.rsbot.script.Script;
import org.rsbot.script.ScriptManifest;
import org.rsbot.script.methods.Skills;
import org.rsbot.script.wrappers.RSItem;



@ScriptManifest(name = "Soviet's Bone Burier", authors = {"Soviet"}, keywords = "Flip Merchant", version = 1.1,
        description = "Flip Merchanter")
public class SovietsBoneBurier extends Script implements PaintListener,
        MessageListener{
  
 // Bone IDs
 public int normalBonesID = 526;
 public int monkeyBonesID = 528;
 public int bigBonesID = 532;
 public int babyDragonBonesID = 534;
 public int dragonBonesID = 536;
 public int dagannothBonesID = 6729;
 public int frostDragonBonesID = 18832;
 public int boneID;
 public int bones[] = {526, 528, 532, 534, 536, 6729, 18832};

 // Paint Variables
 public int startLevel =0;
 public int startExp = 0;
 public int bonesBuried = 0;
 public int bonesPH = 0;
 public int expGained = 0;
 public int expPH = 0;
 public long startTime = 0;
 public String stats;
 
 // GUI Variables
 private boolean guiWait = true;
 Gui g = new Gui();
 
 // Method Helpers
 boolean all = false;
 int count;

 // Burial Path
 private final static int[] path = { 0, 1, 2, 3, 7, 6, 5, 4, 8, 9, 10, 11,
            15, 14, 13, 12, 16, 17, 18, 19, 23, 22, 21, 20, 24, 25, 26, 27 };
 public int slot; 
 
 
 public boolean onStart(){
     startTime = System.currentTimeMillis();
     startLevel = skills.getRealLevel(Skills.PRAYER);
     startExp = skills.getCurrentExp(Skills.PRAYER);   
     
        g.setVisible(true);
        while(guiWait) sleep (500);
        
  return true;
 }

 
  public int loop(){
	  boneID = bones[count];
	  
	  if(all == true){
		  bury();
	  }
	  else {
    if (inventory.contains(boneID)) {
                bury();
                return 0;
            } else if (!inventory.contains(boneID)) {
                bank();
                return 0;
            }
	  }
    
        return 100;
    }
  
   private int bury() {
	   boneID = bones[count];
        int sleep = random(100, 400);
        if(inventory.containsOneOf(boneID)) {
            RSItem bone = inventory.getItems()[path[slot]];
            if (bone != null && bone.getID() == boneID) {
                bone.doAction("Bury");
            } else
                sleep = random(10, 20);
            slot++;
            if(slot >= path.length)
                slot = 0;
            return sleep;
        }
        return sleep;
    }
    
    
  private int bank() {
    slot = 0;
        mouse.setSpeed(random(3,5));
        if (!bank.isOpen()) {
            bank.open();
            return 0;
        } else if (bank.isOpen()) {
            for (int i = 0; i < 100 && bank.getItem(boneID) == null; i++) {
                sleep(20);
            }
            bank.depositAll();
            if (bank.getItem(boneID) != null) {
                if (withdraw(boneID, 0)) {
                    if (bank.close()) {
                        for (int i = 0; i < 200 && bank.isOpen() || i < 200
                                && !inventory.contains(boneID); i++) {
                            sleep(10);
                        }
                    }
                }
            }
            else if (bank.getItem(boneID) == null && all == true){
            	count++;
            	boneID = bones[count];
            	if (count == 7){
                log("Out of bones to bury, stopping script!");
                env.saveScreenshot(true);
                stopScript();
            	}
            	
            	else if(bank.getItem(boneID) == null && all == false){
            		log("Out of bones to bury, stopping script!");
                    env.saveScreenshot(true);
                    stopScript();
            	}
              return 0;
            }
        }
        return 0;
    }
  
  // Credit to Apex for custom bank methods
  
  private boolean withdraw(int itemId, int amount) {
        if (bank.isOpen()) {
            if (bank.getItem(itemId) == null) {
                for (int i = 0; i < 100 && bank.getItem(itemId) == null; i++) {
                    sleep(10);
                }
            }
            if (bank.getItem(itemId) != null) {
                if (amount == 0) {
                    if (bank.getItem(itemId).doAction("Withdraw-All")) {
                        for (int i = 0; i < 100
                                && inventory.getItem(itemId) == null; i++) {
                            sleep(25);
                        }
                        if (inventory.getItem(itemId) != null) {
                            return true;
                        }
                    }
                } else if (amount != 0) {
                    if (bank.getItem(itemId).doAction("Withdraw-" + amount)) {
                        for (int i = 0; i < 100
                                && inventory.getItem(itemId) == null; i++) {
                            sleep(25);
                        }
                        if (inventory.getItem(itemId) != null) {
                            return true;
                        }
                    } else if (!bank.getItem(itemId).doAction(
                            "Withdraw-" + amount)) {
                        if (bank.getItem(itemId).doAction("Withdraw-X")) {
                            sleep(random(1000, 1300));
                            keyboard.sendText("" + amount, true);
                            for (int i = 0; i < 100
                                    && inventory.getItem(itemId) == null; i++) {
                                sleep(25);
                            }
                            if (inventory.getItem(itemId) != null) {
                                return true;
                            }
                        }
                    }
                }
            }
        }
        return false;
    }
  
  public void onRepaint(Graphics g) {
    long millis = System.currentTimeMillis() - startTime;
    long hours = millis / (1000 * 60 * 60);
    millis -= hours * (1000 * 60 * 60);
    long minutes = millis / (1000 * 60);
    millis -= minutes * (1000 * 60);
    long seconds = millis / 1000;
    stats = "TR: " + hours + ":" + minutes + ":" + seconds + " | BB: " + bonesBuried +
                         " | B/H: " + bonesPH + " | XP " + expGained + " | XP/H: " + expPH + " | Soviet's Bone Burier v1.1 ";

            /* Cast object for rendering extended graphics and turn on antialiasing for text. */
            final Graphics2D graphics2d = (Graphics2D)g;
            final Composite originalComposite = graphics2d.getComposite();
            graphics2d.setRenderingHint(RenderingHints.KEY_TEXT_ANTIALIASING, RenderingHints.VALUE_TEXT_ANTIALIAS_ON);

            /* Declare the starting position (x, y) and height for the black background. */
            final int height = 15, startX = 4, startY = game.getHeight() - 165 - height;

            /* Draw the black transparent bar, used as background in the progress-report. */
            graphics2d.setPaint(Color.BLACK);
            graphics2d.setComposite(AlphaComposite.getInstance(AlphaComposite.SRC_OVER, 0.65F));
            graphics2d.fill(new Rectangle(startX, startY, game.getWidth() - 253, height));
            graphics2d.setComposite(originalComposite);

            /* Draw the content of the experience progress-bar. */
           
            graphics2d.setComposite(AlphaComposite.getInstance(AlphaComposite.SRC_OVER, 0.50F));
            graphics2d.setComposite(originalComposite);

            /* The statistics to be printed right of the experience progress-bar. */
            int adjustmentX = 0;

            /* Calculate information for display on the black bar. */
                bonesPH = (int) (3600000.0 / (System.currentTimeMillis() - startTime) * bonesBuried);
                expGained = (skills.getCurrentExp(Skills.PRAYER) - startExp);
                expPH = (int) (3600000.0 / (System.currentTimeMillis() - startTime) * expGained);

            /* Show the previously calculated statistics on the black bar. */
            graphics2d.setColor(Color.WHITE);
            graphics2d.setFont(new Font("Consolas", Font.PLAIN, 10));
            graphics2d.drawString(stats, startX + 7, startY + height);
        }
  
  @Override
  public void messageReceived(MessageEvent e) {
      String x = e.getMessage().toLowerCase();
      if (x.contains("dig a hole in")){
       bonesBuried++;
      }
    } class Gui extends JFrame {
    public Gui() {
     initComponents();
    }

    private void button1ActionPerformed(ActionEvent e) {
     String chosen = BoneSelected.getSelectedItem().toString();
     if(chosen.equals("Big Bones")){      
      count = 2;
      log ("Burying Big Bones");
     }else if(chosen.equals("Normal Bones")){
     count = 0;
      log ("Burying Normal Bones");
     }else if(chosen.equals("Monkey Bones")){
      count = 1;
      log ("Burying Monkey Bones");
     }else if(chosen.equals("Dragon Bones")){
      count = 4;
      log ("Burying Dragon Bones");
     }else if(chosen.equals("Baby Dragon Bones")){
      boneID = count = 3;
      log ("Burying Baby Dragon Bones");
     }else if(chosen.equals("Dagannoth Bones")){
      boneID = count = 5;
      log ("Burying Dagannoth Bones");
     }else if(chosen.equals("Frost Dragon Bones")){
      boneID = count = 6;
      log ("Burying Frost Dragon Bones");
     }else if(chosen.equals("All")){
    	 all = true;
    	 count = 0;
      
     
     }
     guiWait = false;
     g.dispose();
    }

  private void initComponents() {
     // JFormDesigner - Component initialization - DO NOT MODIFY  //GEN-BEGIN:initComponents
     label1 = new JLabel();
     label2 = new JLabel();
     BoneSelected = new JComboBox();
     button1 = new JButton();

     //======== this ========
     Container contentPane = getContentPane();

     //---- label1 ----
     label1.setText("Soviet's Bone Burier");
     label1.setFont(label1.getFont().deriveFont(label1.getFont().getSize() + 8f));

     //---- label2 ----
     label2.setText("Bones to Bury:");
     label2.setFont(label2.getFont().deriveFont(label2.getFont().getSize() + 4f));

     //---- BoneSelected ----
     BoneSelected.setModel(new DefaultComboBoxModel(new String[] {
      "Big Bones",
      "Monkey Bones",
      "Normal Bones",
      "Baby Dragon Bones",
      "Dragon Bones",
      "Dagannoth Bones",
      "Frost Dragon Bones",
      "All"
     }));

     //---- button1 ----
     button1.setText("START");
     button1.addActionListener(new ActionListener() {
      @Override
      public void actionPerformed(ActionEvent e) {
       button1ActionPerformed(e);
      }
     });

     GroupLayout contentPaneLayout = new GroupLayout(contentPane);
     contentPane.setLayout(contentPaneLayout);
     contentPaneLayout.setHorizontalGroup(
      contentPaneLayout.createParallelGroup()
       .addGroup(contentPaneLayout.createSequentialGroup()
        .addGroup(contentPaneLayout.createParallelGroup()
         .addGroup(contentPaneLayout.createSequentialGroup()
          .addGap(45, 45, 45)
          .addComponent(label1, GroupLayout.PREFERRED_SIZE, 179, GroupLayout.PREFERRED_SIZE))
         .addGroup(contentPaneLayout.createSequentialGroup()
          .addContainerGap()
          .addComponent(label2, GroupLayout.PREFERRED_SIZE, 108, GroupLayout.PREFERRED_SIZE)
          .addPreferredGap(LayoutStyle.ComponentPlacement.RELATED)
          .addComponent(BoneSelected, GroupLayout.PREFERRED_SIZE, 120, GroupLayout.PREFERRED_SIZE)))
        .addContainerGap(30, Short.MAX_VALUE))
       .addGroup(GroupLayout.Alignment.TRAILING, contentPaneLayout.createSequentialGroup()
        .addContainerGap(65, Short.MAX_VALUE)
        .addComponent(button1, GroupLayout.PREFERRED_SIZE, 151, GroupLayout.PREFERRED_SIZE)
        .addGap(56, 56, 56))
     );
     contentPaneLayout.setVerticalGroup(
      contentPaneLayout.createParallelGroup()
       .addGroup(contentPaneLayout.createSequentialGroup()
        .addComponent(label1)
        .addGap(18, 18, 18)
        .addGroup(contentPaneLayout.createParallelGroup(GroupLayout.Alignment.BASELINE)
         .addComponent(label2)
         .addComponent(BoneSelected, GroupLayout.PREFERRED_SIZE, GroupLayout.DEFAULT_SIZE, GroupLayout.PREFERRED_SIZE))
        .addPreferredGap(LayoutStyle.ComponentPlacement.RELATED, 60, Short.MAX_VALUE)
        .addComponent(button1, GroupLayout.PREFERRED_SIZE, 35, GroupLayout.PREFERRED_SIZE)
        .addContainerGap())
     );
     pack();
     setLocationRelativeTo(getOwner());
     // JFormDesigner - End of component initialization  //GEN-END:initComponents
    }

    // JFormDesigner - Variables declaration - DO NOT MODIFY  //GEN-BEGIN:variables
    // Generated using JFormDesigner Evaluation license - Dom Das
    private JLabel label1;
    private JLabel label2;
    private JComboBox BoneSelected;
    private JButton button1;
    // JFormDesigner - End of variables declaration  //GEN-END:variables
   }

}