Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- import java.awt.*;
- import java.io.IOException;
- import java.net.URL;
- import javax.imageio.ImageIO;
- import org.rsbot.event.events.MessageEvent;
- import org.rsbot.event.listeners.MessageListener;
- import org.rsbot.event.listeners.PaintListener;
- import org.rsbot.script.Script;
- import org.rsbot.script.ScriptManifest;
- import org.rsbot.script.methods.Skills;
- import org.rsbot.script.wrappers.RSObject;
- @ScriptManifest(
- authors = {"Rudie"},
- version = 1.0,
- keywords = ("woodcutter, woodcutting, rudie"),
- description = "Powerchops willows between lummy and draynor.",
- name = "PowerWillow",
- website = "www.Rscripts.tk"
- )
- public class PowerWillow extends Script implements PaintListener, MessageListener {
- int[] hatchetID = {1351, 15298, 1353, 1361, 1357, 1359, 6739};
- int[] treeID = {142, 2210, 2372};
- int expGained = 0;
- int startExp = 0;
- int logsChopped = 0;
- int lvlsGained = 0;
- long startTime;
- private String Status = "Loading...";
- public boolean onStart() {
- log(new Color (65, 105, 225), "Welcome to PowerWillow V 1.0");
- startTime = System.currentTimeMillis();
- mouse.setSpeed(random(3, 5));
- startExp = skills.getCurrentExp(Skills.WOODCUTTING);
- return true;
- }
- @Override
- public int loop() {
- mouse.setSpeed(random(1, 3));
- if(inventory.isFull()) {
- inventory.dropAllExcept(hatchetID);
- Status = "Dropping Logs.";
- AntiBanCamera();
- } else {
- mouse.setSpeed(random(3, 5));
- if(atTree()) {
- chopTree();
- }
- }
- return random(300, 500);
- }
- private void chopTree() {
- RSObject tree = objects.getNearest(treeID);
- if (tree != null && getMyPlayer().getAnimation() == -1) {
- tree.interact("Chop");
- Status = "Chopping Tree.";
- AntiBanCamera();
- AntiBan();
- }
- }
- private boolean atTree() {
- RSObject tree = objects.getNearest(treeID);
- if(tree != null) {
- if(tree.isOnScreen()) {
- return true;
- }
- }
- return false;
- }
- public void onFinish() {
- log(new Color (65, 105, 225), "Thank you for using PowerWillow");
- env.saveScreenshot(true);
- }
- private Image getImage(String url) {
- try {
- return ImageIO.read(new URL(url));
- } catch(IOException e) {
- return null;
- }
- }
- private final Color color1 = new Color(51, 51, 51, 130);
- private final Color color2 = new Color(0, 0, 204);
- private final Color color3 = new Color(51, 51, 51);
- private final Color color4 = new Color(255, 255, 255);
- private final Color color5 = new Color(51, 102, 255);
- private final BasicStroke stroke1 = new BasicStroke(1);
- private final Font font1 = new Font("Comic Sans MS", 2, 21);
- private final Font font2 = new Font("Comic Sans MS", 1, 15);
- private final Image img1 = getImage("http://www.runescape.com/img/main/kbase/items/trees/willow1.gif");
- @Override
- public void onRepaint(Graphics g) {
- expGained = skills.getCurrentExp(Skills.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;
- float xpsec = 0;
- if((minutes > 0 || hours > 0 || seconds > 0)&& expGained > 0) {
- xpsec = ((float) expGained)/(float)(seconds + (minutes*60) + (hours*60*60));
- }
- float xpmin = xpsec * 60;
- float xphour = xpmin * 60;
- float logsec = 0;
- if((minutes > 0 || hours > 0 || seconds > 0)&& logsChopped > 0) {
- logsec = ((float) logsChopped)/(float)(seconds + (minutes*60) + (hours*60*60));
- }
- float logmin = logsec * 60;
- float loghour = logmin * 60;
- Graphics2D g1 = (Graphics2D)g;
- g1.setColor(color1);
- g1.fillRoundRect(544, 205, 193, 259, 16, 16);
- g1.setColor(color2);
- g1.setStroke(stroke1);
- g1.drawRoundRect(544, 205, 193, 259, 16, 16);
- g1.setColor(color3);
- g1.fillRect(7, 457, 83, 15);
- g1.setColor(color2);
- g1.drawRect(7, 457, 83, 15);
- g1.setFont(font1);
- g1.setColor(color4);
- g1.drawString("PowerWillow V 1.0", 555, 225);
- g1.setFont(font2);
- g1.setColor(color5);
- g1.drawString("RunTime: " + hours + ":" + minutes + ":" + seconds, 555, 245);
- g1.drawString("Logs Chopped: " + logsChopped, 555, 260);
- g1.drawString("Logs/H: " + (int) loghour, 555, 275);
- g1.drawString("Exp Gained: " + expGained, 555, 290);
- g1.drawString("Exp/H: " + (int) xphour, 555, 305);
- g1.drawString("Current lvl: " + skills.getCurrentLevel(Skills.WOODCUTTING), 555, 320);
- g1.drawString("Lvls Gained: " + lvlsGained, 555, 335);
- g1.drawString("%/TNL: " + skills.getPercentToNextLevel(Skills.WOODCUTTING) + "%", 555, 350);
- g1.drawString("Exp/TNL: " + skills.getExpToNextLevel(Skills.WOODCUTTING), 555, 365);
- g1.drawString("Status: " + Status, 555, 380);
- g1.drawImage(img1, 366, 324, null);
- g1.setColor(new Color (65, 105, 225));
- g1.drawLine(0, (int)(mouse.getLocation().getY()), 800, (int)(mouse.getLocation().getY()));
- g1.drawLine((int)(mouse.getLocation().getX()), 0, (int)(mouse.getLocation().getX()), 800);
- }
- @Override
- public void messageReceived(MessageEvent e) {
- String txt = e.getMessage().toLowerCase();
- if(txt.contains("willow")) {
- logsChopped++;
- }
- if(txt.contains("advanced")) {
- lvlsGained++;
- }
- }
- private void AntiBan() {
- int randomProd = random(1, 60);
- if (randomProd == 1) {
- int randomMore = random(1, 5);
- if (randomMore == 1) {
- sleep(350, 500);
- mouse.move(random(678, 728), random(213, 232));
- sleep(2000, 3500);
- } else {
- mouse.move(random(678, 728), random(213, 232));
- sleep(2000, 3500);
- }
- } else {
- sleep(1200, 2500);
- }
- if (randomProd == 2 || randomProd == 3 || randomProd == 4) {
- sleep(1000, 2500);
- }
- if (randomProd >= 52) {
- mouse.moveRandomly(65, 350);
- } else
- sleep(10, 30);
- }
- private void AntiBanCamera() {
- int randomNum = random(1, 50);
- if (randomNum == 1 || randomNum == 2 || randomNum == 3) {
- camera.moveRandomly(random(2000, 5500));
- }
- if (randomNum == 4 || randomNum == 5) {
- camera.setAngle(random(10, 40));
- }
- if (randomNum == 6) {
- camera.setPitch(random(40, 68));
- }
- if (randomNum == 7) {
- camera.setPitch(random(20, 45));
- }
- if (randomNum == 8) {
- camera.setPitch(random(68, 90));
- } else
- sleep(50, 70);
- }
- }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement