Advertisement
phl0w

iTMasterPickpocket

Apr 21st, 2012
1,309
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
Java 18.12 KB | None | 0 0
  1. import java.awt.AlphaComposite;
  2. import java.awt.Color;
  3. import java.awt.Font;
  4. import java.awt.Graphics;
  5. import java.awt.Graphics2D;
  6. import java.awt.Rectangle;
  7. import java.awt.event.ActionEvent;
  8. import java.awt.event.ActionListener;
  9. import java.util.logging.Level;
  10. import java.util.logging.Logger;
  11.  
  12. import javax.swing.DefaultComboBoxModel;
  13. import javax.swing.GroupLayout;
  14. import javax.swing.JButton;
  15. import javax.swing.JCheckBox;
  16. import javax.swing.JComboBox;
  17. import javax.swing.JFrame;
  18. import javax.swing.JLabel;
  19. import javax.swing.JTextField;
  20. import javax.swing.LayoutStyle;
  21. import javax.swing.SwingUtilities;
  22. import javax.swing.UIManager;
  23. import javax.swing.UnsupportedLookAndFeelException;
  24.  
  25. import org.powerbot.concurrent.Task;
  26. import org.powerbot.concurrent.strategy.Strategy;
  27. import org.powerbot.game.api.ActiveScript;
  28. import org.powerbot.game.api.Manifest;
  29. import org.powerbot.game.api.methods.Tabs;
  30. import org.powerbot.game.api.methods.Walking;
  31. import org.powerbot.game.api.methods.Widgets;
  32. import org.powerbot.game.api.methods.input.Mouse;
  33. import org.powerbot.game.api.methods.interactive.NPCs;
  34. import org.powerbot.game.api.methods.interactive.Players;
  35. import org.powerbot.game.api.methods.node.Menu;
  36. import org.powerbot.game.api.methods.node.SceneEntities;
  37. import org.powerbot.game.api.methods.tab.Inventory;
  38. import org.powerbot.game.api.methods.tab.Skills;
  39. import org.powerbot.game.api.methods.widget.Camera;
  40. import org.powerbot.game.api.util.Filter;
  41. import org.powerbot.game.api.util.Random;
  42. import org.powerbot.game.api.util.Time;
  43. import org.powerbot.game.api.wrappers.Area;
  44. import org.powerbot.game.api.wrappers.Tile;
  45. import org.powerbot.game.api.wrappers.interactive.NPC;
  46. import org.powerbot.game.api.wrappers.node.Item;
  47. import org.powerbot.game.api.wrappers.node.SceneObject;
  48. import org.powerbot.game.api.wrappers.widget.Widget;
  49. import org.powerbot.game.api.wrappers.widget.WidgetChild;
  50. import org.powerbot.game.bot.event.MessageEvent;
  51. import org.powerbot.game.bot.event.listener.MessageListener;
  52. import org.powerbot.game.bot.event.listener.PaintListener;
  53.  
  54. @Manifest(authors = { "Flow_HRS" }, name = "iTMasterPickpocket", description = "Start at the Ardougne master farmer!", version = 1.5)
  55. public class iTMasterPickpocket extends ActiveScript implements PaintListener,
  56.         MessageListener {
  57.  
  58.     private long startTime, lastClick;
  59.     private boolean isStunned, guiInitialized, antiBan, bankingSupport,
  60.             dropNonHerbSeeds;
  61.     private int eatAt = 60, selectedFood, startLevel, startExp, thiefs, fails;
  62.     private final Area AREA_BANK = new Area(new Tile(2621, 3335, 0), new Tile(
  63.             2609, 3332, 0));
  64.     private final Tile[] PATH_BANK = { new Tile(2636, 3357, 0),
  65.             new Tile(2636, 3352, 0), new Tile(2637, 3345, 0),
  66.             new Tile(2634, 3340, 0), new Tile(2633, 3335, 0),
  67.             new Tile(2628, 3335, 0), new Tile(2624, 3337, 0),
  68.             new Tile(2619, 3338, 0), new Tile(2618, 3334, 0) };
  69.     private String status = "waiting for gui";
  70.  
  71.     @Override
  72.     protected void setup() {
  73.         SwingUtilities.invokeLater(new Runnable() {
  74.             @Override
  75.             public void run() {
  76.                 JFrame gui = new Settings();
  77.                 gui.setVisible(true);
  78.             }
  79.         });
  80.         provide(new Pickpocket());
  81.         provide(new Eat());
  82.         provide(new Open());
  83.         provide(new Walker());
  84.         provide(new Drop());
  85.         provide(new Banking());
  86.         provide(new AntiBan());
  87.         startTime = System.currentTimeMillis();
  88.         startExp = Skills.getExperience(Skills.THIEVING);
  89.         startLevel = Skills.getLevel(Skills.THIEVING);
  90.     }
  91.  
  92.     private class AntiBan extends Strategy implements Task {
  93.  
  94.         @Override
  95.         public boolean validate() {
  96.             return antiBan;
  97.         }
  98.  
  99.         @Override
  100.         public void run() {
  101.             if (Random.nextInt(1, 15) <= 2) {
  102.                 executeAntiBan();
  103.             }
  104.             Time.sleep(1000);
  105.         }
  106.  
  107.         private final void executeAntiBan() {
  108.             status = "antiban";
  109.             Camera.setAngle(Random.nextInt(20, 300));
  110.         }
  111.     }
  112.  
  113.     private class Banking extends Strategy implements Task {
  114.  
  115.         @Override
  116.         public boolean validate() {
  117.             return guiInitialized
  118.                     && AREA_BANK.contains(Players.getLocal().getLocation())
  119.                     && !Widgets.get(762, 1).visible();
  120.         }
  121.  
  122.         @Override
  123.         public void run() {
  124.             status = "banking";
  125.             for (Item i : Inventory.getItems()) {
  126.                 while (!i.getWidgetChild().interact("Deposit-All")) {
  127.                     Time.sleep(Random.nextInt(80, 120));
  128.                 }
  129.             }
  130.             withdraw(selectedFood, "Withdraw-10");
  131.             Time.sleep(Random.nextInt(350, 750));
  132.             while (!Widgets.get(762, 45).interact("Close")) {
  133.                 Time.sleep(Random.nextInt(80, 120));
  134.             }
  135.         }
  136.  
  137.         public boolean withdraw(int item, String withdraw) {
  138.             Widget bank = Widgets.get(762);
  139.             WidgetChild items = bank.getChild(95);
  140.             int baseX = items.getAbsoluteX(), baseY = items.getAbsoluteY();
  141.             for (WidgetChild child : items.getChildren()) {
  142.                 if (child.getChildId() == item) {
  143.                     Mouse.click(
  144.                             child.getRelativeX() + baseX
  145.                                     + (child.getWidth() / 2),
  146.                             child.getRelativeY() + baseY
  147.                                     + (child.getHeight() / 2), false);
  148.                     return Menu.select(withdraw);
  149.                 }
  150.             }
  151.             return false;
  152.         }
  153.     }
  154.  
  155.     private class Drop extends Strategy implements Task {
  156.  
  157.         @Override
  158.         public boolean validate() {
  159.             return guiInitialized && Inventory.getCount() == 28
  160.                     && dropNonHerbSeeds;
  161.         }
  162.  
  163.         @Override
  164.         public void run() {
  165.             status = "dropping";
  166.             for (Item i : Inventory.getItems()) {
  167.                 if (!isHerb(i.getId()) && i.getId() != selectedFood) {
  168.                     Mouse.hop(i.getWidgetChild().getAbsoluteX(), i
  169.                             .getWidgetChild().getAbsoluteY());
  170.                     Mouse.click(false);
  171.                     while (!Menu.isOpen()) {
  172.                         Time.sleep(Random.nextInt(1, 12));
  173.                     }
  174.                     Menu.select("Drop");
  175.                 }
  176.             }
  177.         }
  178.     }
  179.  
  180.     private class Walker extends Strategy implements Task {
  181.  
  182.         @Override
  183.         public boolean validate() {
  184.             return bankingSupport
  185.                     && guiInitialized
  186.                     && (Inventory.getCount(selectedFood) == 0 && eatAt > 0
  187.                             && needEatFood() && !AREA_BANK.contains(Players
  188.                             .getLocal().getLocation()))
  189.                     || (Inventory.getCount(selectedFood) != 0 && !getFarmer()
  190.                             .isOnScreen());
  191.         }
  192.  
  193.         @Override
  194.         public void run() {
  195.             status = "walking";
  196.             if (Inventory.getCount(selectedFood) != 0) {
  197.                 Walking.newTilePath(reverse(PATH_BANK)).traverse();
  198.             } else {
  199.                 Walking.newTilePath(PATH_BANK).traverse();
  200.             }
  201.         }
  202.  
  203.         private final Tile[] reverse(Tile[] path) {
  204.             for (int l = 0, r = path.length - 1; l < r; l++, r--) {
  205.                 Tile temp = path[l];
  206.                 path[l] = path[r];
  207.                 path[r] = temp;
  208.             }
  209.             return path;
  210.         }
  211.     }
  212.  
  213.     private class Open extends Strategy implements Task {
  214.  
  215.         @Override
  216.         public boolean validate() {
  217.             return guiInitialized
  218.                     && (getFarmer().getLocation().getX() <= 2634
  219.                             && Players.getLocal().getLocation().getX() >= 2635 && getDoor() != null)
  220.                     || (getFarmer().getLocation().getX() >= 2641
  221.                             && getFarmer().getLocation().getX() <= 2640 && getGate() != null);
  222.         }
  223.  
  224.         @Override
  225.         public void run() {
  226.             status = "stuck";
  227.             if (getFarmer().getLocation().getX() <= 2634
  228.                     && Players.getLocal().getLocation().getX() >= 2635
  229.                     && getDoor() != null) { // Fence
  230.                 while (!getDoor().interact("Open")) {
  231.                     Time.sleep(Random.nextInt(80, 120));
  232.                 }
  233.             } else if (getFarmer().getLocation().getX() >= 2641
  234.                     && getFarmer().getLocation().getX() <= 2640
  235.                     && getGate() != null) { // Door
  236.                 while (!getGate().interact("Open")) {
  237.                     Time.sleep(Random.nextInt(80, 120));
  238.                 }
  239.             }
  240.             Time.sleep(Random.nextInt(350, 750));
  241.         }
  242.     }
  243.  
  244.     private class Eat extends Strategy implements Task {
  245.  
  246.         @Override
  247.         public boolean validate() {
  248.             return needEatFood() && guiInitialized;
  249.         }
  250.  
  251.         @Override
  252.         public void run() {
  253.             status = "eating";
  254.             if (eatAt == 0) {
  255.                 log.info("Disabled food eating & low hp, stopping.");
  256.                 stop();
  257.             } else {
  258.                 if (Tabs.getCurrent() != Tabs.INVENTORY) {
  259.                     Tabs.INVENTORY.open();
  260.                 }
  261.                 while (!Inventory.getItem(selectedFood).getWidgetChild()
  262.                         .interact("Eat")) {
  263.                     Time.sleep(Random.nextInt(80, 120));
  264.                 }
  265.                 Time.sleep(Random.nextInt(300, 470));
  266.             }
  267.         }
  268.     }
  269.  
  270.     private class Pickpocket extends Strategy implements Task {
  271.  
  272.         @Override
  273.         public boolean validate() {
  274.             return !Players.getLocal().isMoving()
  275.                     && System.currentTimeMillis() - lastClick > (isStunned ? Random
  276.                             .nextInt(6021, 6200) : Random.nextInt(600, 850))
  277.                     && guiInitialized;
  278.         }
  279.  
  280.         @Override
  281.         public void run() {
  282.             status = "pickpocketing";
  283.             while (!getFarmer().interact("Pickpocket")) {
  284.                 Time.sleep(Random.nextInt(80, 120));
  285.             }
  286.             Time.sleep(Random.nextInt(100, 120));
  287.             lastClick = System.currentTimeMillis();
  288.         }
  289.     }
  290.  
  291.     private final AlphaComposite makeComposite(float alpha) {
  292.         int type = AlphaComposite.SRC_OVER;
  293.         return (AlphaComposite.getInstance(type, alpha));
  294.     }
  295.  
  296.     private final String formatTime(final long milliseconds) {
  297.         final long t_seconds = milliseconds / 1000;
  298.         final long t_minutes = t_seconds / 60;
  299.         final long t_hours = t_minutes / 60;
  300.         final long seconds = t_seconds % 60;
  301.         final long minutes = t_minutes % 60;
  302.         final long hours = t_hours % 500;
  303.         return hours + ":" + minutes + ":" + seconds;
  304.     }
  305.  
  306.     @Override
  307.     public void onRepaint(Graphics g) {
  308.         Graphics2D g2d = (Graphics2D) g;
  309.  
  310.         Font title = new Font("Monotype Corsiva", Font.PLAIN, 25);
  311.         Font author = new Font("Monotype Corsiva", Font.PLAIN, 16);
  312.         Font info = new Font("Book Antiqua", Font.PLAIN, 15);
  313.  
  314.         Rectangle bg = new Rectangle(10, 23, 250, 155);
  315.         Rectangle border = new Rectangle(8, 21, 254, 159);
  316.         g2d.setColor(Color.GREEN);
  317.         g2d.setComposite(makeComposite(0.5f));
  318.         g2d.fill(bg);
  319.         g2d.setColor(Color.BLACK);
  320.         g2d.fill(border);
  321.         g2d.setComposite(makeComposite(1.0f));
  322.  
  323.         g2d.setColor(Color.WHITE);
  324.  
  325.         g2d.fill(new Rectangle(Mouse.getX() + 1, Mouse.getY() - 4, 2, 15));
  326.         g2d.fill(new Rectangle(Mouse.getX() - 6, Mouse.getY() + 2, 16, 2));
  327.  
  328.         int expGained = Skills.getExperiences()[Skills.THIEVING] - startExp;
  329.         int expHour = (int) ((expGained) * 3600000D / (System
  330.                 .currentTimeMillis() - startTime));
  331.         int perHour = (int) ((thiefs) * 3600000D / (System.currentTimeMillis() - startTime));
  332.  
  333.         g2d.setFont(title);
  334.         g2d.drawString("iTMasterPickpocket", 20, 50);
  335.         g2d.setFont(author);
  336.         g2d.drawString("By: Flow_HRS", 20, 65);
  337.  
  338.         g2d.setFont(info);
  339.         g2d.drawString("Thieving level: " + Skills.getLevel(Skills.THIEVING)
  340.                 + "/" + startLevel + ".", 20, 85);
  341.         g2d.drawString(
  342.                 "Thieving experience gained: "
  343.                         + (Skills.getExperience(Skills.THIEVING) - startExp)
  344.                         + ".", 20, 100);
  345.         g2d.drawString("Thieving experience/hour: " + expHour + ".", 20, 115);
  346.         g2d.drawString("Stolen: " + thiefs + " times. (" + perHour + "/hour)",
  347.                 20, 130);
  348.         g2d.drawString("Failed: " + fails + " times.", 20, 145);
  349.         g2d.drawString("Status: " + status + ".", 20, 160);
  350.         g2d.drawString("Time running: "
  351.                 + formatTime(System.currentTimeMillis() - startTime) + ".", 20,
  352.                 175);
  353.     }
  354.  
  355.     private NPC getFarmer() {
  356.         return NPCs.getNearest(new Filter<NPC>() {
  357.             @Override
  358.             public boolean accept(NPC n) {
  359.                 return n.getId() == 2234;
  360.             }
  361.         });
  362.     }
  363.  
  364.     private SceneObject getDoor() {
  365.         return SceneEntities.getNearest(new Filter<SceneObject>() {
  366.             @Override
  367.             public boolean accept(SceneObject obj) {
  368.                 return obj.getId() == 34807;
  369.             }
  370.         });
  371.     }
  372.  
  373.     private SceneObject getGate() {
  374.         return SceneEntities.getNearest(new Filter<SceneObject>() {
  375.             @Override
  376.             public boolean accept(SceneObject obj) {
  377.                 return obj.getId() == 34780 || obj.getId() == 34779;
  378.             }
  379.         });
  380.     }
  381.  
  382.     private final boolean needEatFood() {
  383.         return Integer.parseInt(Widgets.get(748, 8).getText()) <= eatAt;
  384.     }
  385.  
  386.     private final boolean isHerb(int item) {
  387.         return (item >= 5291 && item <= 5304) && item != 5321;
  388.     }
  389.  
  390.     private int getFoodForName(String name) {
  391.         Object[][] data = { { 333, "Trout" }, { 329, "Salmon" },
  392.                 { 379, "Lobster" }, { 385, "Shark" }, { 15272, "Rocktail" },
  393.                 { 361, "Tuna" }, { 315, "Shrimps" }, { 319, "Anchovies" },
  394.                 { 13433, "Crayfish" }, { 347, "Herring" }, { 355, "Mackerel" },
  395.                 { 339, "Cod" }, { 351, "Pike" }, { 365, "Bass" },
  396.                 { 373, "Swordfish" }, { 7946, "Monkfish" },
  397.                 { 7060, "Tuna potato" }, { 391, "Manta ray" },
  398.                 { 397, "Sea turtle" } };
  399.  
  400.         for (int i = 0; i < data.length; i++) {
  401.             if (data[i][1].equals(name)) {
  402.                 return (Integer) data[i][0];
  403.             }
  404.         }
  405.         return -1;
  406.     }
  407.  
  408.     public class Settings extends JFrame {
  409.  
  410.         private static final long serialVersionUID = 1L;
  411.  
  412.         public Settings() {
  413.             initComponents();
  414.         }
  415.  
  416.         private void initComponents() {
  417.             try {
  418.                 for (UIManager.LookAndFeelInfo info : UIManager
  419.                         .getInstalledLookAndFeels()) {
  420.                     if ("Nimbus".equals(info.getName())) {
  421.                         UIManager.setLookAndFeel(info.getClassName());
  422.                         break;
  423.                     }
  424.                 }
  425.             } catch (ClassNotFoundException ex) {
  426.                 Logger.getLogger(Settings.class.getName()).log(Level.SEVERE,
  427.                         null, ex);
  428.             } catch (InstantiationException ex) {
  429.                 Logger.getLogger(Settings.class.getName()).log(Level.SEVERE,
  430.                         null, ex);
  431.             } catch (IllegalAccessException ex) {
  432.                 Logger.getLogger(Settings.class.getName()).log(Level.SEVERE,
  433.                         null, ex);
  434.             } catch (UnsupportedLookAndFeelException ex) {
  435.                 Logger.getLogger(Settings.class.getName()).log(Level.SEVERE,
  436.                         null, ex);
  437.             }
  438.             jCheckBox3 = new JCheckBox();
  439.             jLabel1 = new JLabel();
  440.             jTextField1 = new JTextField();
  441.             jLabel2 = new JLabel();
  442.             jCheckBox1 = new JCheckBox();
  443.             jButton1 = new JButton();
  444.             jCheckBox2 = new JCheckBox();
  445.             jLabel3 = new JLabel();
  446.             jComboBox1 = new JComboBox();
  447.  
  448.             setTitle("MFPickpocketer - By Flow_HRS");
  449.  
  450.             jCheckBox3.setText("Drop non-herb seeds?");
  451.  
  452.             jLabel1.setText("Eat food at:");
  453.  
  454.             jTextField1.setText("60");
  455.  
  456.             jLabel2.setText("lifepoints (leavy empty to disable)");
  457.  
  458.             jCheckBox1.setText("Enable antiban?");
  459.  
  460.             jButton1.setText("Start script");
  461.             jButton1.addActionListener(new ActionListener() {
  462.                 public void actionPerformed(ActionEvent evt) {
  463.                     jButton1ActionPerformed(evt);
  464.                 }
  465.             });
  466.  
  467.             jCheckBox2.setText("Bank support?");
  468.  
  469.             jLabel3.setText("Select food:");
  470.  
  471.             jComboBox1.setModel(new DefaultComboBoxModel(new String[] {
  472.                     "Trout", "Salmon", "Lobster", "Shark", "Rocktail", "Tuna",
  473.                     "Shrimps", "Anchovies", "Crayfish", "Herring", "Mackerel",
  474.                     "Cod", "Pike", "Bass", "Swordfish", "Monkfish",
  475.                     "Tuna potato", "Manta ray", "Sea turtle" }));
  476.  
  477.             GroupLayout layout = new GroupLayout(getContentPane());
  478.             getContentPane().setLayout(layout);
  479.             layout.setHorizontalGroup(layout
  480.                     .createParallelGroup(GroupLayout.Alignment.LEADING)
  481.                     .addGroup(
  482.                             layout.createSequentialGroup()
  483.                                     .addContainerGap()
  484.                                     .addGroup(
  485.                                             layout.createParallelGroup(
  486.                                                     GroupLayout.Alignment.LEADING)
  487.                                                     .addComponent(jCheckBox1)
  488.                                                     .addGroup(
  489.                                                             layout.createSequentialGroup()
  490.                                                                     .addComponent(
  491.                                                                             jLabel1)
  492.                                                                     .addPreferredGap(
  493.                                                                             LayoutStyle.ComponentPlacement.RELATED)
  494.                                                                     .addComponent(
  495.                                                                             jTextField1,
  496.                                                                             GroupLayout.PREFERRED_SIZE,
  497.                                                                             38,
  498.                                                                             GroupLayout.PREFERRED_SIZE)
  499.                                                                     .addPreferredGap(
  500.                                                                             LayoutStyle.ComponentPlacement.RELATED)
  501.                                                                     .addComponent(
  502.                                                                             jLabel2))
  503.                                                     .addComponent(jCheckBox2)
  504.                                                     .addComponent(jCheckBox3)
  505.                                                     .addComponent(jLabel3)
  506.                                                     .addComponent(
  507.                                                             jComboBox1,
  508.                                                             GroupLayout.PREFERRED_SIZE,
  509.                                                             184,
  510.                                                             GroupLayout.PREFERRED_SIZE)
  511.                                                     .addComponent(
  512.                                                             jButton1,
  513.                                                             GroupLayout.PREFERRED_SIZE,
  514.                                                             266,
  515.                                                             GroupLayout.PREFERRED_SIZE))
  516.                                     .addContainerGap(GroupLayout.DEFAULT_SIZE,
  517.                                             Short.MAX_VALUE)));
  518.             layout.setVerticalGroup(layout.createParallelGroup(
  519.                     GroupLayout.Alignment.LEADING).addGroup(
  520.                     layout.createSequentialGroup()
  521.                             .addGap(6, 6, 6)
  522.                             .addGroup(
  523.                                     layout.createParallelGroup(
  524.                                             GroupLayout.Alignment.BASELINE)
  525.                                             .addComponent(jLabel1)
  526.                                             .addComponent(jTextField1,
  527.                                                     GroupLayout.PREFERRED_SIZE,
  528.                                                     GroupLayout.DEFAULT_SIZE,
  529.                                                     GroupLayout.PREFERRED_SIZE)
  530.                                             .addComponent(jLabel2))
  531.                             .addPreferredGap(
  532.                                     LayoutStyle.ComponentPlacement.RELATED)
  533.                             .addComponent(jCheckBox3)
  534.                             .addPreferredGap(
  535.                                     LayoutStyle.ComponentPlacement.RELATED)
  536.                             .addComponent(jCheckBox1)
  537.                             .addPreferredGap(
  538.                                     LayoutStyle.ComponentPlacement.RELATED)
  539.                             .addComponent(jCheckBox2)
  540.                             .addPreferredGap(
  541.                                     LayoutStyle.ComponentPlacement.RELATED)
  542.                             .addComponent(jLabel3)
  543.                             .addPreferredGap(
  544.                                     LayoutStyle.ComponentPlacement.RELATED)
  545.                             .addComponent(jComboBox1,
  546.                                     GroupLayout.PREFERRED_SIZE,
  547.                                     GroupLayout.DEFAULT_SIZE,
  548.                                     GroupLayout.PREFERRED_SIZE)
  549.                             .addPreferredGap(
  550.                                     LayoutStyle.ComponentPlacement.RELATED)
  551.                             .addComponent(jButton1)
  552.                             .addContainerGap(GroupLayout.DEFAULT_SIZE,
  553.                                     Short.MAX_VALUE)));
  554.  
  555.             pack();
  556.         }// </editor-fold>
  557.  
  558.         private void jButton1ActionPerformed(ActionEvent evt) {
  559.             eatAt = Integer.parseInt(jTextField1.getText());
  560.             antiBan = jCheckBox1.isSelected();
  561.             dropNonHerbSeeds = jCheckBox3.isSelected();
  562.             selectedFood = getFoodForName(jComboBox1.getSelectedItem()
  563.                     .toString());
  564.             bankingSupport = jCheckBox2.isSelected();
  565.             guiInitialized = true;
  566.             status = "gui done";
  567.             this.dispose();
  568.         }
  569.  
  570.         private JButton jButton1;
  571.         private JCheckBox jCheckBox1;
  572.         private JCheckBox jCheckBox2;
  573.         private JCheckBox jCheckBox3;
  574.         private JComboBox jComboBox1;
  575.         private JLabel jLabel1;
  576.         private JLabel jLabel2;
  577.         private JLabel jLabel3;
  578.         private JTextField jTextField1;
  579.     }
  580.  
  581.     @Override
  582.     public void messageReceived(MessageEvent arg0) {
  583.         String msg = arg0.getMessage();
  584.         if (msg.contains("fail to pick")) {
  585.             isStunned = true;
  586.             fails++;
  587.             status = "stunned";
  588.         } else if (msg.contains("You pick the master farmer")
  589.                 || msg.contains("you to steal")) {
  590.             thiefs++;
  591.             isStunned = false;
  592.         }
  593.     }
  594.  
  595. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement