Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- package scripts;
- import java.awt.Color;
- import java.awt.Font;
- import java.awt.Graphics;
- import java.awt.Graphics2D;
- import java.awt.Image;
- import java.awt.Polygon;
- 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.Mouse;
- import org.tribot.api.types.generic.Condition;
- import org.tribot.api2007.Banking;
- import org.tribot.api2007.Camera;
- import org.tribot.api2007.Equipment;
- import org.tribot.api2007.GameTab;
- import org.tribot.api2007.Inventory;
- import org.tribot.api2007.Login;
- import org.tribot.api2007.Player;
- import org.tribot.api2007.Screen;
- import org.tribot.api2007.Skills;
- import org.tribot.api2007.GameTab.TABS;
- import org.tribot.api2007.types.RSItem;
- import org.tribot.script.Script;
- import org.tribot.script.ScriptManifest;
- import org.tribot.script.interfaces.Painting;
- import org.tribot.script.interfaces.Pausing;
- import org.tribot.script.interfaces.RandomEvents;
- @ScriptManifest(authors = { "Okokokok" }, category = "ok_Scripts", name = "ok_Planker")
- public class ok_Planker extends Script implements Painting {
- private final double version = 1.00;
- private boolean waitGUI = true;
- private String whichPlank = "",
- logsToUse = "";
- private final String[] whichPlankArray = {"Mahogany plank", "Teak plank"};
- private final String natureRune = "Nature rune",
- astralRune = "Astral rune",
- coinName = "Coins";
- private final Polygon bankArea = new Polygon(
- new int[] {2665, 2670, 2670, 2665},
- new int[] {2656, 2656, 2653, 2653},
- 4);
- // MISC METHODS
- public boolean waitFor(Condition c, long timeout) {
- Timer t = new Timer(timeout);
- while (t.isRunning()) {
- if (c.active()) {
- return true;
- }
- sleep(60, 80);
- }
- return false;
- }
- public boolean loggedOut() {
- return (Login.getLoginState() == Login.STATE.LOGINSCREEN)
- && (!Screen.getColorAt(100, 200).equals(new Color(0, 0, 0)));
- }
- public boolean logout() {
- if (Login.getLoginState() == Login.STATE.INGAME)
- {
- Login.logout();
- for(int x = 0; x < 6; x++)
- {
- if(loggedOut())
- {
- return true;
- }
- sleep(490,510);
- }
- }
- return false;
- }
- public void antiBan(int rotation) {
- int number = General.random(1, 500);
- sleep(200);
- switch (number) {
- case 1:
- case 2:
- case 3:
- case 4:
- case 5:
- Camera.setCameraRotation(Camera.getCameraRotation() + rotation);
- break;
- case 20:
- case 21:
- case 22:
- case 23:
- case 24:
- case 25:
- case 26:
- case 27:
- case 28:
- case 29:
- case 30:
- case 31:
- Camera.setCameraRotation(Camera.getCameraRotation() + rotation);
- sleep(200);
- break;
- case 50:
- GameTab.open(TABS.INVENTORY);
- sleep(200);
- break;
- case 75:
- GameTab.open(TABS.STATS);
- sleep(300);
- Mouse.moveBox(678, 386, 725, 366);
- sleep(1000, 1500);
- GameTab.open(TABS.INVENTORY);
- break;
- case 76:
- GameTab.open(TABS.FRIENDS);
- sleep(2000, 3000);
- GameTab.open(TABS.INVENTORY);
- break;
- case 89:
- case 90:
- case 91:
- case 92:
- case 93:
- case 94:
- Camera.setCameraAngle(Camera.getCameraRotation() + rotation);
- sleep(200, 400);
- break;
- case 95:
- case 96:
- case 97:
- case 98:
- case 99:
- case 100:
- Camera.setCameraAngle(Camera.getCameraRotation() + rotation);
- sleep(200, 400);
- break;
- }
- }
- //AREA CHECKS
- private boolean areaContainsPlayer(Polygon area){
- return area.contains(Player.getPosition().getX(), Player.getPosition().getY());
- }
- // BANKING METHODS
- private boolean openBank() {
- if (!Banking.isBankScreenOpen()) {
- return Banking.openBankBooth();
- } else {
- if (Banking.isBankScreenOpen());
- return false;
- }
- }
- private boolean withdrawItem(int amount, String itemName){
- RSItem[] item = Banking.find(itemName);
- if (item != null && item.length > 0){
- return Banking.withdraw(amount, itemName);
- }
- return false;
- }
- private boolean depositItem(int amount, String itemName){
- RSItem[] item = Inventory.find(itemName);
- if (item != null && item.length > 0){
- return Banking.deposit(amount, itemName);
- }
- return false;
- }
- // ITEM METHODS
- public boolean haveStaff(String itemName){
- RSItem[] staff = Equipment.find(itemName);
- return staff != null && staff.length > 0;
- }
- private boolean itemInvAmount(int amount, String itemName){
- RSItem[] item = Inventory.find(itemName);
- if (item != null && item.length > 0){
- for (int i = 0; i < item.length; i++){
- if (item[i].getStack() > amount){
- return true;
- }
- }
- }
- return false;
- }
- public boolean gotAllPlanks(String[] plankName) {
- int invCount = Inventory.getCount(plankName);
- return invCount == 25;
- }
- private boolean haveLogs(String itemName){
- RSItem[] item = Inventory.find(itemName);
- return item != null && item.length > 0;
- }
- // PLANKING METHODS
- private boolean mageBookOpen(){
- boolean book = TABS.MAGIC.isOpen();
- return book;
- }
- private void openBook(){
- TABS.MAGIC.open();
- }
- private void clickSpell(){
- Mouse.clickBox(684, 337, 696, 347, 1);
- }
- private void clickLogs(String itemName){
- RSItem[] plank = Inventory.find(itemName);
- boolean spell = org.tribot.api2007.Game.isUptext("Plank make ->");
- if (plank != null && plank.length > 0){
- if (plank[0].hover()){
- if (spell){
- Mouse.click(1);
- waitFor(new Condition(){
- @Override
- public boolean active(){
- return Player.getAnimation() == -1;
- }
- }, 3000);
- }
- }
- }
- }
- private boolean clickedSpell(){
- boolean spell = org.tribot.api2007.Game.isUptext("Plank make ->");
- if (spell){
- return true;
- }
- return false;
- }
- // GUI
- /**
- *
- * @author lberkemeijer
- */
- @SuppressWarnings("serial")
- public class ok_PlankerGUI extends javax.swing.JFrame {
- /**
- * Creates new form ok_PlankerGUI
- */
- public ok_PlankerGUI() {
- 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", "rawtypes" })
- // <editor-fold defaultstate="collapsed" desc="Generated Code">
- private void initComponents() {
- jScrollPane1 = new javax.swing.JScrollPane();
- jTextArea1 = new javax.swing.JTextArea();
- jLabel1 = new javax.swing.JLabel();
- jPanel2 = new javax.swing.JPanel();
- jPanel1 = new javax.swing.JPanel();
- jLabel2 = new javax.swing.JLabel();
- plankSort = new javax.swing.JComboBox();
- start = new javax.swing.JButton();
- jTextArea1.setColumns(20);
- jTextArea1.setRows(5);
- jScrollPane1.setViewportView(jTextArea1);
- jLabel1.setFont(new java.awt.Font("Calibri", 3, 24)); // NOI18N
- jLabel1.setForeground(new java.awt.Color(255, 0, 0));
- jLabel1.setText("ok_Planker GUI");
- jPanel2.setBorder(javax.swing.BorderFactory.createTitledBorder(""));
- jLabel2.setFont(new java.awt.Font("Calibri", 3, 18)); // NOI18N
- jLabel2.setForeground(new java.awt.Color(255, 0, 0));
- jLabel2.setText("Plank to make?");
- plankSort.setFont(new java.awt.Font("Calibri", 1, 14)); // NOI18N
- plankSort.setForeground(new java.awt.Color(255, 0, 0));
- plankSort.setModel(new javax.swing.DefaultComboBoxModel(new String[] { "Mahogany", "Teak" }));
- javax.swing.GroupLayout jPanel1Layout = new javax.swing.GroupLayout(jPanel1);
- jPanel1.setLayout(jPanel1Layout);
- jPanel1Layout.setHorizontalGroup(
- jPanel1Layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
- .addGroup(jPanel1Layout.createSequentialGroup()
- .addContainerGap(56, Short.MAX_VALUE)
- .addComponent(jLabel2, javax.swing.GroupLayout.PREFERRED_SIZE, 134, javax.swing.GroupLayout.PREFERRED_SIZE)
- .addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.UNRELATED)
- .addComponent(plankSort, javax.swing.GroupLayout.PREFERRED_SIZE, 91, javax.swing.GroupLayout.PREFERRED_SIZE)
- .addGap(65, 65, 65))
- );
- jPanel1Layout.setVerticalGroup(
- jPanel1Layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
- .addGroup(jPanel1Layout.createSequentialGroup()
- .addContainerGap()
- .addGroup(jPanel1Layout.createParallelGroup(javax.swing.GroupLayout.Alignment.BASELINE)
- .addComponent(jLabel2, javax.swing.GroupLayout.PREFERRED_SIZE, 33, javax.swing.GroupLayout.PREFERRED_SIZE)
- .addComponent(plankSort, javax.swing.GroupLayout.PREFERRED_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.PREFERRED_SIZE))
- .addContainerGap(20, Short.MAX_VALUE))
- );
- javax.swing.GroupLayout jPanel2Layout = new javax.swing.GroupLayout(jPanel2);
- jPanel2.setLayout(jPanel2Layout);
- jPanel2Layout.setHorizontalGroup(
- jPanel2Layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
- .addGroup(jPanel2Layout.createSequentialGroup()
- .addContainerGap()
- .addComponent(jPanel1, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, Short.MAX_VALUE)
- .addContainerGap())
- );
- jPanel2Layout.setVerticalGroup(
- jPanel2Layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
- .addGroup(jPanel2Layout.createSequentialGroup()
- .addContainerGap()
- .addComponent(jPanel1, javax.swing.GroupLayout.PREFERRED_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.PREFERRED_SIZE)
- .addContainerGap())
- );
- start.setFont(new java.awt.Font("Calibri", 3, 14)); // NOI18N
- start.setForeground(new java.awt.Color(255, 0, 0));
- start.setText("Start!");
- start.addActionListener(new java.awt.event.ActionListener() {
- public void actionPerformed(java.awt.event.ActionEvent evt) {
- startActionPerformed(evt);
- }
- });
- 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()
- .addContainerGap(javax.swing.GroupLayout.DEFAULT_SIZE, Short.MAX_VALUE)
- .addComponent(jLabel1, javax.swing.GroupLayout.PREFERRED_SIZE, 182, javax.swing.GroupLayout.PREFERRED_SIZE)
- .addGap(103, 103, 103))
- .addGroup(layout.createSequentialGroup()
- .addContainerGap()
- .addGroup(layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
- .addComponent(jPanel2, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, Short.MAX_VALUE)
- .addComponent(start, javax.swing.GroupLayout.Alignment.TRAILING, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, Short.MAX_VALUE))
- .addContainerGap())
- );
- layout.setVerticalGroup(
- layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
- .addGroup(layout.createSequentialGroup()
- .addContainerGap()
- .addComponent(jLabel1, javax.swing.GroupLayout.PREFERRED_SIZE, 45, javax.swing.GroupLayout.PREFERRED_SIZE)
- .addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED)
- .addComponent(jPanel2, javax.swing.GroupLayout.PREFERRED_SIZE, 79, javax.swing.GroupLayout.PREFERRED_SIZE)
- .addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED, javax.swing.GroupLayout.DEFAULT_SIZE, Short.MAX_VALUE)
- .addComponent(start, javax.swing.GroupLayout.PREFERRED_SIZE, 33, javax.swing.GroupLayout.PREFERRED_SIZE)));
- pack();
- }// </editor-fold>
- private void startActionPerformed(java.awt.event.ActionEvent evt) {
- if (plankSort.getSelectedItem().toString().equals("Mahogany")){
- whichPlank = "Mahogany plank";
- logsToUse = "Mahogany logs";
- } else {
- if (plankSort.getSelectedItem().toString().equals("Teak")){
- whichPlank = "Teak plank";
- logsToUse = "Teak logs";
- }
- }
- waitGUI = false;
- }
- // Variables declaration - do not modify
- private javax.swing.JLabel jLabel1;
- private javax.swing.JLabel jLabel2;
- private javax.swing.JPanel jPanel1;
- private javax.swing.JPanel jPanel2;
- private javax.swing.JScrollPane jScrollPane1;
- private javax.swing.JTextArea jTextArea1;
- @SuppressWarnings("rawtypes")
- private javax.swing.JComboBox plankSort;
- private javax.swing.JButton start;
- // End of variables declaration
- }
- // PAINT METHODS
- private Image getImage(String url) {
- try {
- return ImageIO.read(new URL(url));
- } catch (IOException e) {
- return null;
- }
- }
- private final Image img = getImage("http://i43.tinypic.com/6hsy7p.jpg");
- private static final long startTime = System.currentTimeMillis();
- Font font = new Font("Calibri", Font.BOLD, 16);
- private State SCRIPT_STATE = getState();
- @SuppressWarnings("deprecation")
- private final int startXP = Skills.getXP("magic");
- private int START_XP;
- @SuppressWarnings("deprecation")
- @Override
- public void onPaint(Graphics g) {
- Graphics2D gg = (Graphics2D) g;
- gg.drawImage(img, 9, 345, null);
- long timeRan = System.currentTimeMillis() - startTime;
- double multiplier = timeRan / 3600000D;
- int currentLvl = Skills.getActualLevel("magic");
- int xpToNextLvl = Skills.getXPToNextLevel("magic");
- int xpGained = Skills.getXP("magic") - START_XP;
- int planks = xpGained / 90;
- g.setFont(font);
- g.setColor(new Color(255,0,0));
- g.drawString("ok_Planker V" + version, 14, 360);
- g.drawString("Action: " + SCRIPT_STATE, 14, 425);
- g.drawString("Time running: " + Timing.msToString(timeRan), 14, 440);
- g.drawString("Planks p/h: " + (int) (planks / multiplier) + " p/h", 14, 455);
- g.drawString("Planks made: " + planks, 14, 470);
- g.drawString("XP Gained p/h: " + (int) (xpGained / multiplier), 286, 425);
- g.drawString("XP Gained: " + (int) xpGained, 286, 440);
- g.drawString("Current level: " + currentLvl, 286, 455);
- g.drawString("XP to Next Level: " + xpToNextLvl, 286, 470);
- }
- public enum State{
- OPENING_BANK, DEPOSITING_PLANKS, CLOSING_BANK,
- WITHDRAWING_CASH, WITHDRAWING_NATURES,
- WITHDRAWING_ASTRALS, WITHDRAWING_LOGS,
- OPENING_BOOK, SELECTING_PLANK_MAKE,
- PLANKING, LOGING_OUT;
- }
- private State getState(){
- if (areaContainsPlayer(bankArea)){
- if (!itemInvAmount(20, natureRune)){
- if (!Banking.isBankScreenOpen()){
- return State.OPENING_BANK;
- }
- if (Banking.isBankScreenOpen()){
- return State.WITHDRAWING_NATURES;
- }
- }
- if (!itemInvAmount(40, astralRune)){
- if (!Banking.isBankScreenOpen()){
- return State.OPENING_BANK;
- }
- if (Banking.isBankScreenOpen()){
- return State.WITHDRAWING_ASTRALS;
- }
- }
- if (!itemInvAmount(5000, coinName)){
- if (!Banking.isBankScreenOpen()){
- return State.OPENING_BANK;
- }
- if (Banking.isBankScreenOpen()){
- return State.WITHDRAWING_CASH;
- }
- }
- if (!haveLogs(logsToUse) && gotAllPlanks(whichPlankArray)){
- if (!Banking.isBankScreenOpen()){
- return State.OPENING_BANK;
- }
- if (Banking.isBankScreenOpen()){
- return State.DEPOSITING_PLANKS;
- }
- }
- if (!haveLogs(logsToUse)){
- if (!Banking.isBankScreenOpen()){
- return State.OPENING_BANK;
- }
- if (Banking.isBankScreenOpen()){
- return State.WITHDRAWING_LOGS;
- }
- }
- if (haveLogs(logsToUse)){
- if (Banking.isBankScreenOpen()){
- return State.CLOSING_BANK;
- }
- if (clickedSpell() && !mageBookOpen() && !Banking.isBankScreenOpen()){
- return State.PLANKING;
- }
- if (!clickedSpell() && !mageBookOpen() && !Banking.isBankScreenOpen()){
- return State.OPENING_BOOK;
- }
- if (!clickedSpell() && mageBookOpen() && !Banking.isBankScreenOpen()){
- return State.SELECTING_PLANK_MAKE;
- }
- }
- }
- return State.LOGING_OUT;
- }
- @SuppressWarnings("deprecation")
- @Override
- public void run() {
- ok_PlankerGUI g = new ok_PlankerGUI();
- g.setVisible(true);
- while (waitGUI)
- sleep(300);
- START_XP = startXP;
- println("Started ok_miningGuilder");
- super.setRandomSolverState(false);
- while(true){
- if (loggedOut()) {
- super.setLoginBotState(active);
- } else {
- while (!loggedOut()) {
- SCRIPT_STATE = getState();
- int mSpeed = General.random(105, 115);
- Mouse.setSpeed(mSpeed);
- switch (SCRIPT_STATE) {
- case DEPOSITING_PLANKS:
- depositItem(25, whichPlank);
- sleep (400, 500);
- break;
- case OPENING_BANK:
- int rotation7 = General.random(90, 200);
- antiBan(rotation7);
- openBank();
- sleep (50, 100);
- break;
- case OPENING_BOOK:
- int rotation6 = General.random(90, 200);
- antiBan(rotation6);
- openBook();
- sleep (50, 100);
- break;
- case PLANKING:
- int rotation5 = General.random(90, 200);
- antiBan(rotation5);
- clickLogs(logsToUse);
- break;
- case SELECTING_PLANK_MAKE:
- clickSpell();
- sleep (100, 150);
- break;
- case WITHDRAWING_ASTRALS:
- int rotation4 = General.random(90, 200);
- antiBan(rotation4);
- withdrawItem(2000, astralRune);
- sleep (400, 500);
- Banking.close();
- sleep (100, 150);
- break;
- case WITHDRAWING_CASH:
- int rotation3 = General.random(90, 200);
- antiBan(rotation3);
- withdrawItem(200000, coinName);
- sleep (400, 500);
- Banking.close();
- sleep (100, 150);
- break;
- case WITHDRAWING_LOGS:
- int rotation2 = General.random(90, 200);
- antiBan(rotation2);
- withdrawItem(25, logsToUse);
- sleep (400, 500);
- break;
- case WITHDRAWING_NATURES:
- int rotation = General.random(90, 200);
- antiBan(rotation);
- withdrawItem(1000, natureRune);
- sleep (400, 500);
- Banking.close();
- sleep (100, 150);
- break;
- case CLOSING_BANK:
- Banking.close();
- sleep (50, 100);
- break;
- case LOGING_OUT:
- logout();
- stopScript();
- break;
- }
- }
- }
- }
- }
- }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement