Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- package powerchop;
- import org.dreambot.api.methods.Calculations;
- import org.dreambot.api.methods.skills.Skill;
- import org.dreambot.api.methods.tabs.Tab;
- import org.dreambot.api.script.AbstractScript;
- import org.dreambot.api.script.Category;
- import org.dreambot.api.script.ScriptManifest;
- import org.dreambot.api.utilities.Timer;
- import org.dreambot.api.wrappers.interactive.GameObject;
- import java.awt.*;
- @ScriptManifest(category = Category.WOODCUTTING, name = "PowerChop", author = "Diddy", version = 1.0)
- public class MainClass extends AbstractScript{
- private final Color color1 = new Color(51, 51, 51, 147);
- private final Color color2 = new Color(138, 54, 15);
- private final Color color3 = new Color(255, 255, 255);
- private final BasicStroke stroke1 = new BasicStroke(5);
- private final Font font1 = new Font("Arial", Font.BOLD, 13);
- private final Font font2 = new Font("Arial", Font.BOLD, 0);
- private final Font font3 = new Font("Arial", 0, 13);
- private Timer t = new Timer();
- private int logsgained;
- String Status = " ";
- Timer timer;
- static String status = null;
- @Override
- public void onStart(){
- getSkillTracker().start(Skill.WOODCUTTING);
- log("Hi");
- }
- private enum State{
- CHOP,
- DROP,
- MOVE,
- WAIT
- }
- private State getState(){
- GameObject tree = getGameObjects().closest("Willow");
- if(!getInventory().isFull() && !getLocalPlayer().isAnimating()){
- return State.CHOP;
- }
- if (getInventory().isFull()){
- return State.DROP;
- }
- if (!tree.isOnScreen()){
- return State.MOVE;
- }
- if(getLocalPlayer().isAnimating()){
- return State.WAIT;
- }
- return null;
- }
- @Override
- public int onLoop() {
- GameObject tree = getGameObjects().closest("Willow");
- switch( getState() ) {
- case CHOP:
- log("Chopping new tree.");
- tree.interact("Chop down");
- if(getLocalPlayer().isAnimating()){
- sleepUntil(getLocalPlayer().isAnimating());
- antiBan();
- sleep(100, 1000);}
- log("Tree chopped.");
- break;
- case MOVE:
- log("getting new tree.");
- if(tree.distance() < 5) {
- Status = "Moving camera";
- getCamera().rotateToEntity(tree);
- getCamera().rotateToPitch(Calculations.random(32, 39));}
- else {
- Status = "Walking to stuff";
- if (tree != null) {
- getWalking().walk(tree);
- sleep(Calculations.random(100, 200));
- }
- break;
- }
- case DROP:
- if(!getTabs().isOpen(Tab.INVENTORY)){
- getTabs().open(Tab.INVENTORY);
- }
- getInventory().dropAll("Willow logs");
- sleep(Calculations.random(130, 210));
- break;
- case WAIT:
- sleep(Calculations.random(1200,1750));
- }
- return Calculations.random(250,350);
- }
- private void sleepUntil(boolean animating) {
- // TODO Auto-generated method stub
- }
- private void antiBan(){
- int rando = Calculations.random(1, 100);
- switch(rando){
- case 1: if(!getTabs().isOpen(Tab.STATS)){
- getTabs().open(Tab.STATS);
- }
- break;
- case 2: if(!getTabs().isOpen(Tab.INVENTORY)){
- getTabs().open(Tab.INVENTORY);
- }
- break;
- default: sleep(100, 1000);
- }
- }
- /*
- * Paint
- */
- public long getGainedExperience(Skill woodcutting){ //gained experience
- long fm;
- fm = getSkillTracker().getGainedExperience(Skill.WOODCUTTING);
- return fm;
- }
- public long getGainedExperiencePerHour(Skill woodcutting){ //gained experience per hour
- long fm;
- fm = getSkillTracker().getGainedExperiencePerHour(Skill.WOODCUTTING);
- return fm;
- }
- public long getStartLevel(){ //Start level
- long fm;
- fm = getSkillTracker().getStartLevel(Skill.WOODCUTTING);
- return fm;
- }
- public long getGainedLevels(){ //gained levels
- long fm;
- fm = getSkillTracker().getGainedLevels(Skill.WOODCUTTING);
- return fm;
- }
- public long getExperienceToLevel(){ //Exp to level
- long fm;
- fm = getSkills().getExperienceToLevel(Skill.WOODCUTTING);
- return fm;
- }
- public long getTimeToLevel() {
- long fmxp;
- long xphr;
- fmxp = getExperienceToLevel();
- xphr = getGainedExperiencePerHour(Skill.WOODCUTTING);
- return fmxp/xphr;
- }
- public void onPaint(Graphics g1) {
- logsgained = (int)Math.floor(getSkillTracker().getGainedExperience(Skill.WOODCUTTING)/67.5); //Detects chopped logs
- if(t == null){
- t = new Timer(0);
- }
- Graphics2D g = (Graphics2D)g1;
- Stroke stroke = g.getStroke();
- g.setColor(color1);
- g.fillRect(3, 4, 205, 160);
- g.setColor(color2);
- g.setStroke(stroke1);
- g.drawRect(3, 4, 205, 160);
- g.setFont(font1);
- g.setColor(color3);
- g.drawString(getManifest().name() + " " + "v" + getManifest().version(), 12, 29);
- g.setFont(font2);
- g.setFont(font3);
- g.drawString("Time running: " + Timer.formatTime(t.elapsed()), 12, 59);
- g.drawString("XP gained: " + getGainedExperience(Skill.WOODCUTTING) + "(" + getGainedExperiencePerHour(Skill.WOODCUTTING) + ")", 12, 99);
- g.drawString("Levels gained: " + getSkills().getRealLevel(Skill.WOODCUTTING) + "(+" + getGainedLevels() + ")", 12, 79);
- g.drawString("XP to level: " + getExperienceToLevel(), 12, 121);
- g.drawString("Chopped [P/H]: " + logsgained + " [" + t.getHourlyRate(logsgained) + "]", 12, 141);
- g.setStroke(stroke);
- }
- }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement