Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- package scripts;
- import java.awt.Color;
- import java.awt.Dimension;
- import java.awt.Font;
- import java.awt.Graphics;
- import java.awt.Graphics2D;
- import java.awt.Image;
- import java.awt.Polygon;
- import java.awt.Toolkit;
- import java.io.IOException;
- import java.net.URL;
- import javax.imageio.ImageIO;
- import org.tribot.api.General;
- import org.tribot.api.Timing;
- import org.tribot.api.input.Keyboard;
- import org.tribot.api.input.Mouse;
- import org.tribot.api2007.Camera;
- import org.tribot.api2007.ChooseOption;
- import org.tribot.api2007.Game;
- import org.tribot.api2007.Interfaces;
- import org.tribot.api2007.Inventory;
- import org.tribot.api2007.NPCs;
- import org.tribot.api2007.Objects;
- import org.tribot.api2007.Options;
- import org.tribot.api2007.Player;
- import org.tribot.api2007.Skills;
- import org.tribot.api2007.Walking;
- import org.tribot.api2007.WebWalking;
- import org.tribot.api2007.types.RSInterfaceChild;
- import org.tribot.api2007.types.RSItem;
- import org.tribot.api2007.types.RSNPC;
- import org.tribot.api2007.types.RSObject;
- import org.tribot.api2007.types.RSTile;
- import org.tribot.script.Script;
- import org.tribot.script.ScriptManifest;
- import org.tribot.script.interfaces.Painting;
- @ScriptManifest(authors = { "Coca Cola" }, category = "Woodcutting/Fletching", name = "Coca-Cola's Log chopper + Shaft fletcher")
- public class ShaftMaker extends Script implements Painting {
- private Image getImage(String url) {
- try {
- return ImageIO.read(new URL(url));
- } catch (IOException e) {
- return null;
- }
- }
- private final Image img = getImage("http://s9.postimg.org/59efcj6r3/Supershafter_paint.png");
- public boolean GUI_COMPLETE = false;
- Timer time = new Timer(5000);
- final long startTime = System.currentTimeMillis();
- public String CONFIRMED_LOCATION;
- int startFletchLvl = Skills.getActualLevel("Fletching");
- int startWCLvl = Skills.getActualLevel("Woodcutting");
- int startFletchXP = Skills.getXP("Fletching");
- int startWCXP = Skills.getXP("Woodcutting");
- int shaftsMade = 0;
- private final Polygon vEast = new Polygon(new int[] { 3271, 3282, 3282, 3271 },
- new int[] { 3440, 3440, 3456, 3456 }, 4);
- private final Polygon vWest = new Polygon(new int[] { 3158, 3173, 3173, 3158 },
- new int[] { 3392, 3392, 3419, 3419 }, 4);
- private final Polygon vEastBar = new Polygon(new int[] { 3271, 3287, 3287, 3271 },
- new int[] { 3474, 3474, 3485, 3485 }, 4);
- private final Polygon lumbyDraynor = new Polygon(new int[] { 3123, 3143, 3143, 3123 },
- new int[] { 3207, 3207, 3227, 3227 }, 4);
- private final int[] TREE_ID = { 1276, 1278 };
- private final int[] AXE_IDS = { 1349, 1351, 1353, 1355, 1357, 1359, 1361 };
- private final int[] GEM_IDS = { 1607, 1608, 1623, 1624, 1625, 1606, 1621, 1622,
- 1603, 1604, 1619, 1620, 1601, 1602, 1617, 1618 };
- private final int[] junk ={ 50, 48, 1521, 1971, 1917, 6961, 2327, 9003, 6180, 6181, 6182, 6654,
- 6655, 6656, 6657, 6658, 6659, 6183, 3057, 3058, 3059, 3060,
- 3061, 117, 1607, 1608, 1623, 1624, 1625, 1606, 1621, 1622,
- 1603, 1604, 1619, 1620, 1601, 1602, 1617, 1618, 1973, 995 };
- private final int[] DO_NOT_DROP = { 1349, 1351, 1353, 1355, 1357, 1359, 1361, 985, 987, 1511, 52, 946, 494, 496, 498, 500, 502, 504, 506 };
- @SuppressWarnings("unused")
- public void run() {
- Mouse.setSpeed(200);
- myForm GUI = new myForm();
- Dimension screenSize = Toolkit.getDefaultToolkit().getScreenSize();
- int screenW = screenSize.width;
- int screenH = screenSize.height;
- Dimension dim = GUI.getSize();
- GUI.setVisible(true);
- println("GUI is open. Please select desired settings.");
- GUI.setLocation((screenW / 2) - (dim.width / 2), (screenH / 2) - (dim.height / 2));
- while(!GUI_COMPLETE) {
- sleep(200);
- }
- GUI.setVisible(false);
- println("GUI Closed. Script initialized with chosen settings.");
- println("Selected location:" + CONFIRMED_LOCATION);
- if (onStart()) {
- while (true) {
- sleep(loop());
- }
- }
- }
- /**
- *
- * @author Trying Again
- */
- @SuppressWarnings("serial")
- class myForm extends javax.swing.JFrame {
- /**
- * Creates new form myForm
- */
- public myForm() {
- initComponents();
- }
- /**
- * This method is called from within the constructor to initialize the form.
- * WARNING: Do NOT modify this code. The content of this method is always
- * regenerated by the Form Editor.
- */
- @SuppressWarnings("unchecked")
- // <editor-fold defaultstate="collapsed" desc="Generated Code">
- private void initComponents() {
- TITLE_LABEL = new javax.swing.JLabel();
- LOCATION_DROPDOWN = new javax.swing.JComboBox();
- START_BUTTON = new javax.swing.JButton();
- LOCATION_LABEL = new javax.swing.JLabel();
- setDefaultCloseOperation(javax.swing.WindowConstants.DISPOSE_ON_CLOSE);
- setAutoRequestFocus(false);
- setBackground(new java.awt.Color(51, 51, 51));
- TITLE_LABEL.setFont(new java.awt.Font("Tahoma", 1, 14)); // NOI18N
- TITLE_LABEL.setText("Coca Cola's Log Chopper + Shaft Fletcher");
- LOCATION_DROPDOWN.setModel(new javax.swing.DefaultComboBoxModel(new String[] { "","Lumbridge/Draynor Path", "Varrock West", "Varrock East", "Varrock East/Near Sawmill & Bar" }));
- LOCATION_DROPDOWN.setToolTipText("");
- LOCATION_DROPDOWN.addActionListener(new java.awt.event.ActionListener() {
- public void actionPerformed(java.awt.event.ActionEvent evt) {
- LOCATION_DROPDOWNActionPerformed(evt);
- }
- });
- START_BUTTON.setText("Initialize");
- START_BUTTON.addActionListener(new java.awt.event.ActionListener() {
- public void actionPerformed(java.awt.event.ActionEvent evt) {
- START_BUTTONActionPerformed(evt);
- }
- });
- LOCATION_LABEL.setFont(new java.awt.Font("Tahoma", 1, 12)); // NOI18N
- LOCATION_LABEL.setText("Location:");
- javax.swing.GroupLayout layout = new javax.swing.GroupLayout(getContentPane());
- getContentPane().setLayout(layout);
- layout.setHorizontalGroup(
- layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
- .addGroup(javax.swing.GroupLayout.Alignment.TRAILING, layout.createSequentialGroup()
- .addGroup(layout.createParallelGroup(javax.swing.GroupLayout.Alignment.TRAILING)
- .addGroup(layout.createSequentialGroup()
- .addContainerGap(javax.swing.GroupLayout.DEFAULT_SIZE, Short.MAX_VALUE)
- .addComponent(LOCATION_LABEL, javax.swing.GroupLayout.PREFERRED_SIZE, 69, javax.swing.GroupLayout.PREFERRED_SIZE)
- .addGap(18, 18, 18)
- .addComponent(LOCATION_DROPDOWN, javax.swing.GroupLayout.PREFERRED_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.PREFERRED_SIZE))
- .addGroup(layout.createSequentialGroup()
- .addGap(0, 84, Short.MAX_VALUE)
- .addComponent(TITLE_LABEL, javax.swing.GroupLayout.PREFERRED_SIZE, 296, javax.swing.GroupLayout.PREFERRED_SIZE)))
- .addGap(77, 77, 77))
- .addGroup(layout.createSequentialGroup()
- .addGap(186, 186, 186)
- .addComponent(START_BUTTON)
- .addContainerGap(javax.swing.GroupLayout.DEFAULT_SIZE, Short.MAX_VALUE))
- );
- layout.setVerticalGroup(
- layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
- .addGroup(layout.createSequentialGroup()
- .addComponent(TITLE_LABEL, javax.swing.GroupLayout.PREFERRED_SIZE, 37, javax.swing.GroupLayout.PREFERRED_SIZE)
- .addGap(18, 18, 18)
- .addGroup(layout.createParallelGroup(javax.swing.GroupLayout.Alignment.BASELINE)
- .addComponent(LOCATION_LABEL)
- .addComponent(LOCATION_DROPDOWN, javax.swing.GroupLayout.PREFERRED_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.PREFERRED_SIZE))
- .addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED, 31, Short.MAX_VALUE)
- .addComponent(START_BUTTON)
- .addContainerGap())
- );
- pack();
- }// </editor-fold>
- private void LOCATION_DROPDOWNActionPerformed(java.awt.event.ActionEvent evt) {
- CONFIRMED_LOCATION = LOCATION_DROPDOWN.getSelectedItem().toString();
- }
- private void START_BUTTONActionPerformed(java.awt.event.ActionEvent evt) {
- if(CONFIRMED_LOCATION == null) {
- println("Please select a location..");
- return;
- } else {
- GUI_COMPLETE = true;
- }
- }
- /**
- * @param args the command line arguments
- */
- // Variables declaration - do not modify
- private javax.swing.JComboBox LOCATION_DROPDOWN;
- private javax.swing.JLabel LOCATION_LABEL;
- private javax.swing.JButton START_BUTTON;
- private javax.swing.JLabel TITLE_LABEL;
- // End of variables declaration
- }
- private boolean onStart() {
- println("Coca Cola's Log chopper + Shaft fletcher has started!");
- return true;
- }
- public RSObject findNearest(int distance, int... ids) {
- RSObject[] objects = Objects.findNearest(distance, ids);
- for (RSObject object : objects) {
- if (object != null) {
- return object;
- }
- }
- return null;
- }
- @SuppressWarnings("unused")
- private int loop() {
- RSObject tree = findNearest(15, TREE_ID);
- if(!Game.isRunOn() && Game.getRunEnergy() >= 30) {
- Options.setRunOn(true);
- }
- switch(CONFIRMED_LOCATION) {
- case "Varrock West":
- if(Inventory.isFull()) {
- if(Player.getRSPlayer().getAnimation() == -1) {
- makeShafts();
- } else {
- sleep(10);
- }
- }
- if(Inventory.getCount(junk) >= 1 || Inventory.getCount(GEM_IDS) >= 1) {
- //Inventory.drop(junk);
- Inventory.dropAllExcept(DO_NOT_DROP);
- }
- if (!vWest.contains(Player.getPosition().getX(), Player.getPosition().getY())) {
- WebWalking.walkTo(new RSTile(3169, 3418));
- }
- if (vWest.contains(Player.getPosition().getX(), Player.getPosition().getY()) && Player.getRSPlayer().getAnimation() == -1) {
- ent();
- if (tree != null) {
- if (tree.isOnScreen()) {
- tree.click("Chop down Tree");
- time.reset();
- while (Player.getRSPlayer().getAnimation() == -1 && time.isRunning()) {
- sleep(10);
- }
- } else {
- Walking.walkTo(tree);
- Camera.turnToTile(tree.getPosition());
- }
- } else {
- if(Player.getRSPlayer().getAnimation() == -1) {
- makeShafts();
- } else {
- sleep(10);
- }
- }
- }
- break;
- case "Lumbridge/Draynor Path":
- if(Inventory.isFull()) {
- if(Player.getRSPlayer().getAnimation() == -1) {
- makeShafts();
- } else {
- sleep(10);
- }
- }
- if(Inventory.getCount(junk) >= 1 || Inventory.getCount(GEM_IDS) >= 1) {
- Inventory.dropAllExcept(DO_NOT_DROP);
- }
- if (!lumbyDraynor.contains(Player.getPosition().getX(), Player.getPosition().getY())) {
- WebWalking.walkTo(new RSTile(3131, 3213));
- }
- if (lumbyDraynor.contains(Player.getPosition().getX(), Player.getPosition().getY()) && Player.getRSPlayer().getAnimation() == -1) {
- ent();
- if (tree != null) {
- if (tree.isOnScreen()) {
- tree.click("Chop down Tree");
- time.reset();
- while (Player.getRSPlayer().getAnimation() == -1 && time.isRunning()) {
- sleep(10);
- }
- } else {
- Walking.walkTo(tree);
- Camera.turnToTile(tree.getPosition());
- }
- } else {
- if(Player.getRSPlayer().getAnimation() == -1) {
- makeShafts();
- } else {
- sleep(10);
- }
- }
- }
- break;
- case "Varrock East":
- if(Inventory.isFull()) {
- if(Player.getRSPlayer().getAnimation() == -1) {
- makeShafts();
- } else {
- sleep(10);
- }
- }
- if(Inventory.getCount(junk) >= 1 || Inventory.getCount(GEM_IDS) >= 1) {
- Inventory.dropAllExcept(DO_NOT_DROP);
- }
- if (!vEast.contains(Player.getPosition().getX(), Player.getPosition().getY())) {
- WebWalking.walkTo(new RSTile(3276, 3442));
- }
- if (vEast.contains(Player.getPosition().getX(), Player.getPosition().getY()) && Player.getRSPlayer().getAnimation() == -1) {
- ent();
- if (tree != null) {
- if (tree.isOnScreen()) {
- tree.click("Chop down Tree");
- time.reset();
- while (Player.getRSPlayer().getAnimation() == -1 && time.isRunning()) {
- sleep(10);
- }
- } else {
- Walking.walkTo(tree);
- Camera.turnToTile(tree.getPosition());
- }
- } else {
- if(Player.getRSPlayer().getAnimation() == -1) {
- makeShafts();
- } else {
- sleep(10);
- }
- }
- }
- break;
- case "Varrock East/Near Sawmill & Bar":
- if(Inventory.isFull()) {
- if(Player.getRSPlayer().getAnimation() == -1) {
- makeShafts();
- } else {
- sleep(10);
- }
- }
- if(Inventory.getCount(junk) >= 1 || Inventory.getCount(GEM_IDS) >= 1) {
- Inventory.dropAllExcept(DO_NOT_DROP);
- }
- if (!vEastBar.contains(Player.getPosition().getX(), Player.getPosition().getY())) {
- WebWalking.walkTo(new RSTile(3274, 3475));
- }
- if (vEastBar.contains(Player.getPosition().getX(), Player.getPosition().getY()) && Player.getRSPlayer().getAnimation() == -1) {
- ent();
- if (tree != null) {
- if (tree.isOnScreen()) {
- tree.click("Chop down Tree");
- time.reset();
- while (Player.getRSPlayer().getAnimation() == -1 && time.isRunning()) {
- sleep(10);
- }
- } else {
- Walking.walkTo(tree);
- Camera.turnToTile(tree.getPosition());
- }
- } else {
- if(Player.getRSPlayer().getAnimation() == -1) {
- makeShafts();
- } else {
- sleep(10);
- }
- }
- }
- break;
- }
- return 100;
- }
- private boolean makex() {
- RSInterfaceChild amount = Interfaces.get(548, 94);
- if ((amount != null) && (!amount.isHidden())) {
- String txt = amount.getText();
- if (txt != null) txt.equals("*");
- }
- return false;
- }
- public void makeShafts() {
- RSItem[] log = Inventory.find(new int[] { 1511 });
- RSItem[] knife = Inventory.find(new int[] { 946 });
- RSInterfaceChild shaft = Interfaces.get(548, 88);
- if (knife[0].click(new String[] { "Use" })) {
- sleep(450, 655);
- if (log[0].click(new String[] { "Use" })) {
- sleep(1455, 1644);
- if (shaft != null) {
- Mouse.clickBox(63, 396, 94, 422, 3);
- ChooseOption.select(new String[] { "x" });
- makex();
- sleep(500, 650);
- Keyboard.typeSend("" + General.random(28, 99));
- sleep(2300, 4000);
- }
- }
- }
- }
- public void ent() {
- RSNPC[] ent = NPCs.findNearest("Tree");
- RSObject[] tree = Objects.findNearest(10, "Tree");
- if (ent.length > 0) {
- println("Ent detected! Moving away.");
- Walking.walkPath(tree);
- sleep(500, 1700);
- }
- }
- public void onPaint(Graphics g) {
- long timeRan = System.currentTimeMillis() - startTime;
- int currentFletchLvl = Skills.getActualLevel("Fletching");
- int currentWCLvl = Skills.getActualLevel("Woodcutting");
- int gainedFletchLvl = currentFletchLvl - startFletchLvl;
- int gainedWCLvl = currentWCLvl - startWCLvl;
- int gainedFletchXP = Skills.getXP("Fletching") - startFletchXP;
- int gainedWCXP = Skills.getXP("Woodcutting") - startWCXP;
- int shaftsFletched = (gainedFletchXP / 5 * 15);
- int logsCut = (gainedWCXP / 25);
- long fletchXPPerHour = (long)(gainedFletchXP * 3600000d / timeRan);
- long WCXPPerHour = (long)(gainedWCXP * 3600000d / timeRan);
- long shaftsFletchedPerHour = (long)(shaftsFletched * 3600000d / timeRan);
- Graphics2D yolo = (Graphics2D)g;
- yolo.drawImage(img, -9, 281, null);
- Font font = new Font("Trajan Pro", Font.BOLD, 12);
- g.setColor(new Color(16, 89, 0));
- g.setFont(font);
- g.drawString(" " + Timing.msToString(timeRan), 263, 360);
- g.drawString(" " + currentFletchLvl + " (Gained " + gainedFletchLvl + " levels)", 220, 381);
- g.drawString(" " + gainedFletchXP + " (" + fletchXPPerHour + " Per hour" + ")", 220, 403);
- g.drawString(" " + currentWCLvl + " (Gained " + gainedWCLvl + " Levels)", 220, 423);
- g.drawString(" " + gainedWCXP + " (" + WCXPPerHour + " Per hour" + ")", 220, 443);
- g.drawString(" " + shaftsFletched + " (" +shaftsFletchedPerHour + " Per hour" + ")", 220, 465);
- }
- }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement