Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- import java.awt.*;
- import java.util.*;
- import java.util.List;
- import java.util.logging.Level;
- import javax.accessibility.*;
- import javax.swing.*;
- import org.rsbot.script.wrappers.RSObject;
- import org.rsbot.script.wrappers.RSTile;
- import org.rsbot.script.wrappers.RSInterface;
- import org.rsbot.bot.Bot;
- import org.rsbot.script.*;
- import org.rsbot.script.wrappers.*;
- import org.rsbot.accessors.*;
- import org.rsbot.event.listeners.PaintListener;
- import org.rsbot.event.listeners.ServerMessageListener;
- import org.rsbot.event.events.ServerMessageEvent;
- import org.rsbot.util.ScreenshotUtil;
- import org.rsbot.script.Script;
- import org.rsbot.script.ScriptManifest;
- import org.rsbot.script.wrappers.RSObject;
- import org.rsbot.script.wrappers.RSTile;
- import org.rsbot.event.listeners.*;
- import org.rsbot.event.events.ServerMessageEvent;
- import org.rsbot.event.listeners.PaintListener;
- import org.rsbot.event.listeners.ServerMessageListener;
- @ScriptManifest(authors = { "Mistersnappy" }, category = "Woodcutting", name = "TreeMurder", version = 2.0, description = "<html><head>"
- + "</head><body bgcolor=\"000000\" color=\"ff0000\" font face=\"Arial\">"
- + "<center><h1>TreeMurder" + " v2.0</h1></center><br>"
- + "<table border=\"0\" cellpadding=\"0\" cellspacing=\"0\" bordercolor=\"ff0000\"><tr><td bgcolor=\"ff0000\" colspan=\"2\"><font color=\"black\"><b>AUTOMATIC LOGOFF SETTINGS</td></tr>"
- + "<tr><td>Logs to cut before logoff:<br><input type=\"text\" name=\"number\" value=\"100000\"></td></tr>"
- + "<tr><td bgcolor=\"ff0000\" colspan=\"2\"><font color=\"black\"><b>CHOPPING SETTINGS</td></tr>"
- + "<tr><td>"
- + "Location:"
- + "<select name='location'>"
- + "<option>Camelot"
- + "<option>Catherby"
- + "<option>Draynor"
- + "<option>Edgeville"
- + "<option>Falador"
- + "<option>Varrock"
- + "<option>Grand Exchange"
- + "<option>Neitiznot"
- + "<option>Seers"
- + "</select><br>Tree:"
- + "<select name='tree3000'>"
- + "<option>Maples"
- + "<option>Willows"
- + "<option>Yews"
- + "<option>Oaks"
- + "<option>Normal"
- + "<option>Arctic Pines"
- + "<option>Magics"
- + "</select>"
- + "</td>"
- + "<td>Would you like to bank or powerchop?<br>"
- + "<select name='power'>"
- + "<option>Bank"
- + "<option>Powerchop"
- + "</select></td></tr></table>"
- + "</body>\n"
- + "</html\n")
- public class TreeMurder extends Script implements PaintListener, ServerMessageListener {
- //Paint Variables\\
- private String status = "";
- public int startlvl = 0;
- public int startexp;
- public int logscut;
- public int levelsgained;
- public long startTime;
- public int total;
- //Args Variables\\
- public int rest;
- public int Magics;
- public int Oaks;
- public int Willows;
- public int Maples;
- public int Yews;
- public int Pines;
- public int treeType;
- public int wantstobank;
- //Variables\\
- public int[] strangerock = { 15541, 15542, 15543, 15544 };
- public boolean edge;
- public int[] donotdrop = { 5075, 5074, 5073, 5072, 5071, 5070, 7413, 1359, 1349, 1351, 1353, 1355, 1357, 1361, 6739 };
- public int[] nestID = { 5075, 5074, 5073, 5072, 5071, 5070, 7413 };
- private String reply = "";
- public double x1, x2 = 1.5;
- public int number;
- public int sethour;
- public int setminute;
- public int[] axes = {1359, 1349, 1351, 1353, 1355, 1357, 1361, 6739};
- public int[] treeID;
- public int wcanimation = 2846;
- public int bankBooth;
- public int number1;
- public int number2;
- public int ivyID = 11686;
- public int ivyanimation = 870;
- //Paths\\
- RSTile[] toWillows;
- RSTile[] toBank;
- public boolean onStart(Map<String, String> args) {
- Bot.getEventManager().addListener(PaintListener.class, this);
- Bot.getEventManager().addListener(ServerMessageListener.class, this);
- if (getEnergy() > random(30, 50)) {
- setRun(true);
- }
- //////////////////////////Args\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\
- if (args.get("power").equals("Bank")) {
- wantstobank = 1;
- }
- if (args.get("power").equals("Powerchop")) {
- wantstobank = 0;
- }
- //////////////////////////////////////////////\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\
- if (args.get("location").equals("Camelot") && args.get("tree3000").equals("Willows")) {
- treeID = new int[] {5553, 5552, 5551};
- toWillows = new RSTile[] {new RSTile(2719, 3503), new RSTile(2713, 3511)};
- toBank = new RSTile[] {new RSTile(2719, 3504), new RSTile(2725, 3493)};
- bankBooth = 25808;
- treeType = Willows;
- rest = 0;
- }
- if (args.get("location").equals("Camelot") && args.get("tree3000").equals("Maples")) {
- treeID = new int[] {1307};
- toWillows = new RSTile[] {new RSTile(2729, 3500)};
- toBank = new RSTile[] {new RSTile(2726, 3492)};
- bankBooth = 25808;
- treeType = Maples;
- rest = 0;
- }
- if (args.get("location").equals("Catherby") && args.get("tree3000").equals("Willows")) {
- treeID = new int[] {5553, 5552, 5551};
- toWillows = new RSTile[] {new RSTile(2794, 3434), new RSTile(2783, 3430)};
- toBank = new RSTile[] {new RSTile(2793, 3433), new RSTile(2807, 3440)};
- bankBooth = 2213;
- treeType = Willows;
- rest = 0;
- }
- if (args.get("location").equals("Draynor") && args.get("tree3000").equals("Willows")) {
- treeID = new int[] {5553, 5552, 5551};
- toWillows = new RSTile[] {new RSTile(3086, 3232)};
- toBank = new RSTile[] {new RSTile(3093, 3243)};
- bankBooth = 2213;
- treeType = Willows;
- rest = 0;
- }
- if (args.get("location").equals("Edgeville") && args.get("tree3000").equals("Yews")) {
- treeID = new int[] {1309};
- toWillows = new RSTile[] {new RSTile(3093, 3478), new RSTile(3086, 3474)};
- toBank = new RSTile[] {new RSTile(3092, 3481), new RSTile(3093, 3493)};
- bankBooth = 26972;
- treeType = Yews;
- rest = 1;
- }
- if (args.get("location").equals("Falador") && args.get("tree3000").equals("Yews")) {
- treeID = new int[] {1309};
- toWillows = new RSTile[] {new RSTile(3007, 3342), new RSTile(3006, 3327), new RSTile(3018, 3318)};
- toBank = new RSTile[] {new RSTile(3006, 3326), new RSTile(3006, 3342), new RSTile(3011, 3356)};
- bankBooth = 11758;
- treeType = Yews;
- rest = 1;
- }
- if (args.get("location").equals("Varrock") && args.get("tree3000").equals("Yews")) {
- treeID = new int[] {1309};
- toWillows = new RSTile[] {new RSTile(3253, 3420), new RSTile(3251, 3429), new RSTile(3244, 3443), new RSTile(3245, 3470)};
- toBank = new RSTile[] {new RSTile(3245, 3470), new RSTile(3244, 3443), new RSTile(3251, 3429), new RSTile(3253, 3420)};
- bankBooth = 11402;
- treeType = Yews;
- rest = 1;
- }
- if (args.get("location").equals("Grand Exchange") && args.get("tree3000").equals("Yews")) {
- treeID = new int[] { 1309, 1212 };
- toWillows = new RSTile[] { new RSTile(3168, 3488),
- new RSTile(3174, 3488), new RSTile(3180, 3488),
- new RSTile(3185, 3488), new RSTile(3191, 3488),
- new RSTile(3195, 3491), new RSTile(3196, 3495),
- new RSTile(3209, 3501) };
- toBank = reversePath(toWillows);
- bankBooth = 6533;
- treeType = Yews;
- rest = 1;
- }
- if (args.get("location").equals("Draynor") && args.get("tree3000").equals("Oaks")) {
- treeID = new int[] { 1281, 1212 };
- toWillows = new RSTile[] { new RSTile(3092, 3245),
- new RSTile(3100, 3245) };
- toBank = reversePath(toWillows);
- bankBooth = 2213;
- treeType = Oaks;
- rest = 0;
- }
- if (args.get("location").equals("Catherby") && args.get("tree3000").equals("Yews")) {
- treeID = new int[] { 1309, 1212 };
- toWillows = new RSTile[] { new RSTile(2808, 3439),
- new RSTile(2805, 3433), new RSTile(2796, 3433),
- new RSTile(2783, 3432), new RSTile(2771, 3430),
- new RSTile(2763, 3429) };
- toBank = reversePath(toWillows);
- bankBooth = 2213;
- treeType = Yews;
- rest = 1;
- }
- if (args.get("location").equals("Neitiznot") && args.get("tree3000").equals("Arctic Pines")) {
- treeID = new int[] { 21273 };
- toWillows = new RSTile[] { new RSTile(2329, 3829) };
- toBank = reversePath(toWillows);
- bankBooth = 2213;
- treeType = Pines;
- rest = 0;
- }
- if (args.get("location").equals("Seers") && args.get("tree3000").equals("Magics")) {
- treeID = new int[] { 1306 };
- toWillows = new RSTile[] {new RSTile(2724, 3478), new RSTile(2721, 3461), new RSTile(2721, 3445), new RSTile(2717, 3429), new RSTile(2712, 3415), new RSTile(2710, 3398), new RSTile(2702, 3399)};
- toBank = new RSTile[] {new RSTile(2700, 3397), new RSTile(2715, 3400), new RSTile(2722, 3417), new RSTile(2722, 3434), new RSTile(2721, 3453), new RSTile(2722, 3472), new RSTile(2725, 3490)};
- bankBooth = 25808;
- treeType = Magics;
- rest = 1;
- }
- int nunber = Integer.parseInt(args.get("number"));
- number = nunber - 1;
- return true;
- }
- public boolean isDoingSomething() {
- if (getMyPlayer().getAnimation() != -1) {
- return true;
- }
- if (getMyPlayer().isMoving()) {
- return true;
- }
- return false;
- }
- public void pause() {
- wait(random(500, 2500));
- }
- public boolean doRest() {
- if (getEnergy() < random(10, 16)) {
- clickMouse(725 + random(-10, 7), 109 + random(-8, 10), false);
- atMenu("Rest");
- wait(random(25000, 35000));
- setRun(true);
- }
- return true;
- }
- //////////START Chopping Method By Epic\\\\\\\\\\
- public boolean atTreeEpic33(final RSObject tree, final String action) {
- try {
- final RSTile loc1 = tree.getLocation();
- final RSTile loc4 = new RSTile(loc1.getX() + 1, loc1.getY() + 1);
- final Point screenLoc = Calculations.tileToScreen(loc4.getX(), loc4.getY(), 10);
- if (screenLoc.x == -1 || screenLoc.y == -1) {
- return false;
- }
- moveMouse(screenLoc, 3, 3);
- wait(random(200, 300));
- clickMouse(true);
- wait(random(200, 300));
- return atMenu(action);
- } catch (final Exception e) {
- return false;
- }
- }
- public boolean atTreeEpic(final RSObject tree, final String action) {
- try {
- final RSTile loc1 = tree.getLocation();
- @SuppressWarnings("unused")
- final RSTile loc2 = new RSTile(loc1.getX() + 1, loc1.getY());
- @SuppressWarnings("unused")
- final RSTile loc3 = new RSTile(loc1.getX(), loc1.getY() + 1);
- final RSTile loc4 = new RSTile(loc1.getX() + 1, loc1.getY() + 1);
- final Point sloc1 = Calculations.tileToScreen(loc1.getX(), loc1.getY(),
- 10);
- final Point sloc2 = Calculations.tileToScreen(loc4.getX(), loc4.getY(),
- 10);
- final Point screenLoc = new Point((sloc1.x + sloc2.x) / 2,
- (sloc1.y + sloc2.y) / 2);
- if (screenLoc.x == -1 || screenLoc.y == -1) {
- return false;
- }
- moveMouse(screenLoc, 3, 3);
- wait(random(200, 300));
- clickMouse(true);
- wait(random(200, 300));
- return atMenu(action);
- } catch (final Exception e) {
- return false;
- }
- }
- public RSObject getLowestCorner(final RSObject testObj) {
- RSObject cur = null;
- int testID = testObj.getID();
- int lowestX = -1;
- int lowestY = -1;
- int x, y;
- for (x = 0; x < 5; x++) {
- final RSObject o = getObjectAt(testObj.getLocation().getX() - x, testObj.getLocation().getY());
- if (o != null) {
- if (o.getID() != testID && lowestX == -1) {
- lowestX = testObj.getLocation().getX() - x + 1;
- }
- } else if (lowestX == -1) {
- lowestX = testObj.getLocation().getX() - x + 1;
- }
- }
- for (y = 0; y < 5; y++) {
- final RSObject o = getObjectAt(lowestX, testObj.getLocation().getY() - y);
- if (o != null) {
- if (o.getID() != testID && lowestY == -1) {
- lowestY = testObj.getLocation().getY() - y + 1;
- }
- } else if (lowestY == -1) {
- lowestY = testObj.getLocation().getY() - y + 1;
- }
- }
- cur = getObjectAt(lowestX, lowestY);
- return cur;
- }
- //////////END Chopping Method By Epic\\\\\\\\\\
- public RSObject getClosestTreeByID(final int... ids) {
- RSObject cur = null;
- double dist = -1;
- for (int x = 0; x < 104; x++) {
- outer: for (int y = 0; y < 104; y++) {
- final RSObject o = getObjectAt(x + Bot.getClient().getBaseX(),
- y + Bot.getClient().getBaseY());
- if (o != null) {
- boolean isObject = false;
- for (final int id : ids) {
- if (o.getID() == id) {
- isObject = true;
- break;
- }
- }
- if (isObject) {
- final RSObject tl = getObjectAt(x
- + Bot.getClient().getBaseX() - 1, y
- + Bot.getClient().getBaseY());
- final RSObject tb = getObjectAt(x
- + Bot.getClient().getBaseX(), y
- + Bot.getClient().getBaseY() - 1);
- final int id = o.getID();
- if (tl != null && tl.getID() == id || tb != null
- && tb.getID() == id) {
- continue outer;
- }
- final double distTmp = calculateDistance(getMyPlayer()
- .getLocation(), o.getLocation());
- if (cur == null || distTmp < dist) {
- dist = distTmp;
- cur = o;
- }
- }
- }
- }
- }
- return cur;
- }
- public boolean atTree(final RSTile tile) {
- try {
- final Point location = Calculations.tileToScreen(tile.getX(), tile
- .getY(), x1, x2, 0);
- if (location.x == -1 || location.y == -1 || location.x > 513
- || location.y > 335 || location.x < 0 || location.y < 0) {
- return false;
- }
- if (getMenuActions().get(0).toLowerCase().contains("down")) {
- clickMouse(true, 10);
- wait(random(1000, 2000));
- return true;
- }
- moveMouse(location, 6, 6);
- if (getMyPlayer().isMoving()) {
- if (getMenuActions().get(0).toLowerCase().contains("down")) {
- if (edge) {
- atMenu("down");
- } else {
- clickMouse(true);
- }
- wait(random(1000, 2000));
- return true;
- }
- }
- return false;
- } catch (final Exception e) {
- e.printStackTrace();
- }
- return true;
- }
- public boolean clickTree(RSTile tile) {
- try {
- Point location = Calculations.tileToScreen(tile.getX(), tile.getY(), x1, x1, 0);
- if (location.x == -1 || location.y == -1) return false;
- moveMouse(location, 3, 3);
- clickMouse(true);
- } catch (Exception e) {
- return false;
- }
- return false;
- }
- public boolean cutTree() {
- if(!isDoingSomething()) {
- RSObject Tree = getNearestObjectByID(treeID);
- if (Tree == null)
- return false;
- final RSTile treeLoc = Tree.getLocation();
- /*if (distanceTo(treeLoc) == 5) {
- turnToTile(treeLoc);
- wait(random(800, 1000));
- }
- */
- if (distanceTo(treeLoc) >= random(4, 5) && distanceTo(treeLoc) <= random(11, 12)) {
- walkTileMM(treeLoc);
- wait(random(800, 1000));
- }
- if (random(1,20) == 10) {
- walkTileMM(treeLoc);
- wait(random(800, 1000));
- }
- RSObject finalTree = getLowestCorner(Tree);
- if (treeType == Pines) {
- return atTreeEpic33(finalTree, "Cut");
- }
- if (treeType == Yews) {
- return atTreeEpic33(finalTree, "Chop");
- } else {
- return atTreeEpic(finalTree, "Chop");
- }
- }
- return false;
- }
- private boolean openBank() {
- status = "Opening Bank";
- try {
- RSObject bank = findObject(bankBooth);
- return atObject(bank, "Use-quickly");
- } catch (final Exception e) {
- return false;
- }
- }
- public boolean depositLogs1(){
- status = "Depositing Logs";
- if(!bank.isOpen()) return false;
- bank.depositAllExcept(axes);
- bank.close();
- return true;
- }
- public boolean handleBank() {
- walkPathMM(toBank);
- RSObject thebank = findObject(bankBooth);
- if(!bank.isOpen()) {
- if (thebank != null)
- atObject(thebank, "Use-quickly");
- number1 = 700;
- number2 = 1200;
- wait(random(number1,number2));
- }
- if(bank.isOpen() && isInventoryFull()){
- bank.depositAllExcept(axes);
- }
- if(bank.isOpen()){
- bank.close();
- }
- return true;
- }
- public boolean nestPickup(){
- RSItemTile nest = getGroundItemByID(nestID);
- if(nest == null) {
- return false;
- }
- log("NEST PCIKING(BETA): Nest found, picking up...");
- return atTile(nest, "Take");
- }
- ////////////////////Auto-Reply\\\\\\\\\\\\\\\\\\\\\
- public boolean replyToPlayer(String text) {
- text=text.toLowerCase();
- reply="NO REPLY";
- Boolean doPrefix = true;
- int oldTab = -1;
- if (text.contains("botting?") || text.contains("ur a bot") || text.contains("bot?") || text.contains("macro?") || text.contains("bot..")) {
- String[] bottingArray = {"botting is lame","bots r for losers!","id never bot","lol botting fails","i sure ain't a bot"};
- String botting=bottingArray[random(0,bottingArray.length)];
- sendText(botting,true);
- reply=botting;
- return true;
- }
- if((text.contains("level") || text.contains("lv")) && (text.indexOf(" ") == text.lastIndexOf(" ") || text.startsWith("what") || text.endsWith("?") || text.endsWith("lv") || text.endsWith("lvl") || text.endsWith("lev") || text.endsWith("level"))) { //asking for a level
- String[] lvlArray = {"Mines + wclevel +","+ wclevel +"};
- String lvl=lvlArray[random(0,lvlArray.length)];
- sendText(lvl,true);
- reply=lvl;
- int wclevel = skills.getCurrentSkillLevel(STAT_WOODCUTTING);
- return true;
- }
- return true;
- }
- public void serverMessageRecieved(final ServerMessageEvent arg0) {
- final String s = arg0.getMessage();
- if (s.contains("You've just advanced")) {
- levelsgained++;
- }
- if (s.contains("You get some")) {
- logscut++;
- }
- if (s.contains("A bird's nest falls")) {
- nestPickup();
- }
- }
- public void onRepaint(Graphics g) {
- if (isLoggedIn()) {
- int xpGained = 0;
- if ( startexp == 0) {
- startexp = skills.getCurrentSkillExp(STAT_WOODCUTTING);
- }
- if ( startlvl == 0) {
- startlvl = skills.getCurrentSkillLevel(STAT_WOODCUTTING);
- }
- if ( startTime == 0) {
- startTime = System.currentTimeMillis();
- }
- levelsgained = skills.getCurrentSkillLevel(STAT_WOODCUTTING) - startlvl;
- xpGained = skills.getCurrentSkillExp(STAT_WOODCUTTING) - startexp;
- 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;
- long minutes2 = minutes + (hours * 60);
- int total = number + 1;
- int logpercent = (logscut / number) * 100;
- int ptf = (number - logscut) / 100;
- int ptl = skills.getPercentToNextLevel(Constants.STAT_WOODCUTTING);
- int tolevel = skills.getPercentToNextLevel(Constants.STAT_WOODCUTTING);
- int nextlevel = skills.getCurrentSkillLevel(STAT_WOODCUTTING) + 1;
- int logsleft = total - logscut;
- g.setColor(Color.black);
- g.fill3DRect(4, 172, 120, 167, true);
- g.setColor(Color.red);
- g.fill3DRect(9, 262, 100, 16, true);
- g.setColor(Color.green);
- g.fill3DRect(9, 262, ptl, 16, true);
- g.setColor(Color.green);
- g.fill3DRect(9, 307, 100, 16, true);
- g.setColor(Color.red);
- g.fill3DRect(9, 307, ptl, 16, true);
- g.setColor(Color.white);
- g.drawString(+ tolevel +"%", 260, 470);
- g.setColor(Color.red);
- g.drawString("TreeMurder v2.0", 9, 185);
- g.drawString("Progress:", 9, 200);
- g.setColor(Color.white);
- g.drawString("Runtime: " + hours + ":" + minutes + ":"
- + seconds + "." , 9, 215);
- g.drawString("Logs Cut: " + logscut + "/"+ total, 9, 230);
- g.drawString("XP Gained: " + xpGained, 9, 245);
- g.drawString("Levels Gained: " + levelsgained, 9, 260);
- g.setColor(Color.black);
- g.drawString( + tolevel + "% TO " + nextlevel, 12, 275);
- g.setColor(Color.white);
- g.drawString( + tolevel + "% TO " + nextlevel, 13, 276);
- g.setColor(Color.red);
- g.drawString("What's Left:", 9, 290);
- g.setColor(Color.white);
- g.drawString("Logs Left: " + logsleft, 9, 305);
- g.setColor(Color.black);
- g.drawString( + 100 - tolevel + "% LEFT TO " + nextlevel, 12, 320);
- g.setColor(Color.white);
- g.drawString( + 100 - tolevel + "% LEFT TO " + nextlevel, 13, 321);
- g.setColor(Color.red);
- }
- }
- public boolean walkToBank(){
- try {
- return walkPathMM(randomizePath(toBank, 2 , 2) , 17);
- } catch (final Exception e) {
- log("Caught Exception");
- }
- return false;
- }
- public boolean walkToTrees(){
- try {
- return walkPathMM(randomizePath(toWillows, 2 , 2) , 17);
- } catch (final Exception e) {
- log("Caught Exception");
- }
- return false;
- }
- public int loop() {
- if (inventoryContains(15541, 15542, 15543, 15544)) {
- atInventoryItem(15542, "Destroy");
- wait(random(400,700));
- atInventoryItem(15543, "Destroy");
- wait(random(600,900));
- clickMouse(324 + random(-2, 3), 389 + random(-3, 2), true);
- }
- if (getEnergy() > random(90, 99) && getMyPlayer().getAnimation() == 11786) {
- walkPathMM(toWillows);
- }
- if(logscut >= number){
- log("Cut the logs asked for...ending script");
- logout();
- }
- if(getMyPlayer().isMoving()){
- return 700;
- }
- if(getMyPlayer().getAnimation() == wcanimation){
- status = "Chopping Logs";
- return 700;
- }
- if(isInventoryFull() && wantstobank == 1){
- status = "Walking to Bank";
- walkToBank();
- wait(random(800, 1001));
- if(bank.isOpen()){
- depositLogs1();
- return 800;
- }
- if(!bank.isOpen()){
- openBank();
- return 800;
- }
- }
- if(isInventoryFull() && wantstobank == 0){
- try {
- dropAllExcept(donotdrop);
- } catch (final Exception e) {
- return 20;
- }
- }
- status = "Walking to Trees...";
- doRest();
- walkToTrees();
- cutTree();
- return random(800, 1000);
- }
- public void onFinish() {
- Bot.getEventManager().removeListener(PaintListener.class, this);
- Bot.getEventManager().removeListener(ServerMessageListener.class, this);
- ScreenshotUtil.takeScreenshot(true);
- }
- }
Add Comment
Please, Sign In to add comment