public void run() {
   targetName =
       (Settings.getFindTargetName() == null)
           ? "gfx/kritter/dragonfly/dragonfly"
           : Settings.getFindTargetName();
   BotUtils.sysMsg("Target " + targetName, Color.WHITE);
   window = BotUtils.gui().add(new StatusWindow(), 300, 200);
   ui.root.findchild(FlowerMenu.class);
   while (BotUtils.getItemAtHand() == null) {
     GameUI gui = HavenPanel.lui.root.findchild(GameUI.class);
     IMeter.Meter stam = gui.getmeter("stam", 0);
     // Check energy stop if it is lower than 1500
     IMeter.Meter nrj = gui.getmeter("nrj", 0);
     if (nrj.a <= 30) {
       t.stop();
       return;
     } else if (stam.a <= 30 && nrj.a >= 95) {
       BotUtils.drink();
     }
     //					if (!BotUtils.isMoving()) {
     Gob gob = BotUtils.findObjectByNames(BotUtils.player().rc, 1000, targetName);
     if (gob != null) {
       BotUtils.goToCoord(gob.rc, 200, true);
       BotUtils.doClick(gob, 3, 0);
     }
     //					}
     if (gob.getres().name.contains("terobjs")) {
       sleep(800);
     }
     sleep(800);
   }
   window.destroy();
   t.stop();
 }
示例#2
0
 public void run() {
   stop:
   while (running) {
     BotUtils.sysMsg("Carrot Farmer Started", Color.WHITE);
     window = BotUtils.gui().add(new StatusWindow(), 300, 200);
     for (Gob gob : gobs) {
       GameUI gui = HavenPanel.lui.root.findchild(GameUI.class);
       IMeter.Meter stam = gui.getmeter("stam", 0);
       if (stam.a <= 30) {
         BotUtils.drink();
       }
       BotUtils.pfRightClick(gob, 0);
       while (ui.root.findchild(FlowerMenu.class) == null) {
         sleep(100);
       }
       @SuppressWarnings("deprecation")
       FlowerMenu menu = ui.root.findchild(FlowerMenu.class);
       if (menu != null) {
         for (FlowerMenu.Petal opt : menu.opts) {
           if (opt.name.equals("Harvest")) {
             menu.choose(opt);
             menu.destroy();
           }
         }
       }
       while (BotUtils.findObjectById(gob.id) != null) {
         sleep(100);
       }
       // Some better method should be implemented, but now it just waits a bit for items
       // to appear on inventory and stuff
       sleep(100);
       GItem item = BotUtils.getItemAtHand();
       if (item == null) {
         Inventory inv = BotUtils.playerInventory();
         for (Widget w = inv.child; w != null; w = w.next) {
           if (w instanceof GItem && isCarrot((GItem) w)) {
             item = (GItem) w;
             break;
           }
         }
         BotUtils.takeItem(item);
       }
       // Planttaa, siemen käteen tähän vaiheeseen mennessä
       BotUtils.mapInteractClick(1);
       while (BotUtils.findNearestStageCrop(5, 0, "gfx/terobjs/plants/carrot") == null) {
         sleep(100);
       }
       //  TODO Droppaa kaikki siemenet tms. invistä + kädestä = saa toimimaan kaikkiin
       // siemeniin joku hieno
       //	juttu jolla saa valittua mitä kasvia farmaa jne.
     }
     running = false;
   }
   window.destroy();
 }