Guest User

Untitled

a guest
May 16th, 2016
70
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
Java 7.76 KB | None | 0 0
  1. import org.osbot.rs07.api.filter.Filter;
  2. import org.osbot.rs07.api.model.NPC;
  3. import org.osbot.rs07.api.ui.Skill;
  4. import org.osbot.rs07.script.Script;
  5. import org.osbot.rs07.script.ScriptManifest;
  6.  
  7. import java.awt.*;
  8. import java.io.BufferedReader;
  9. import java.io.InputStreamReader;
  10. import java.net.URL;
  11. import java.net.URLConnection;
  12.  
  13. @ScriptManifest(name    = "Rawr.Killer",
  14.                 info    = "I take pride in what I do greatly; kill things.",
  15.                 version = 1.0,
  16.                 author  = "Rawrstin",
  17.                 logo    = "")
  18.  
  19. public class main extends Script {
  20.     //Declaring variables for paint / debugging.
  21.     private String status = " ";
  22.     private long startTime;
  23.     private long runTime = System.currentTimeMillis() - startTime;
  24.    
  25.     @Override
  26.     public void onStart() {
  27.         status = "Loading...";
  28.         startTime = System.currentTimeMillis();
  29.         for (Skill skill : new Skill[]{ Skill.ATTACK, Skill.STRENGTH,
  30.                                         Skill.DEFENCE, Skill.HITPOINTS,
  31.                                         Skill.RANGED, Skill.MAGIC }) {
  32.             getExperienceTracker().start(skill);
  33.         }
  34.     }
  35.    
  36.     // Will implement in the future.
  37.     @SuppressWarnings("unused")
  38.     private int getPrice(int id){
  39.  
  40.         try {
  41.             URL url = new URL("http://api.rsbuddy.com/grandExchange?a=guidePrice&i=" + id);
  42.             URLConnection con = url.openConnection();
  43.             con.setUseCaches(true);
  44.             BufferedReader br = new BufferedReader(new InputStreamReader(con.getInputStream()));
  45.             String[] data = br.readLine().replace("{", "").replace("}", "").split(",");
  46.             return Integer.parseInt(data[0].split(":")[1]);
  47.         } catch(Exception e){
  48.             log(e);
  49.         }
  50.         return -1;
  51.     }
  52.    
  53.     private String targetName = "Cow";
  54.    
  55.     private NPC target = npcs.closest(new Filter<NPC>() {
  56.         public boolean match(NPC n) {
  57.             return n.getName().equalsIgnoreCase(targetName) &&
  58.                    n.getCurrentHealth() != 0 &&
  59.                    n.isAttackable() != false &&
  60.                    map.canReach(n) != false;
  61.         }
  62.        
  63.     });
  64.    
  65.     private enum State {
  66.         SEARCH, ATTACK, WAIT
  67.     };
  68.    
  69.     private State getState() {
  70.         if (target != null) {
  71.             if (!target.isOnScreen()) {
  72.                 status = "Searching for target.";
  73.                 return State.SEARCH;
  74.             } else {
  75.                 if (myPlayer().getInteracting() != null) {
  76.                     status = "Attacking the target.";
  77.                     return State.ATTACK;
  78.                 } else {
  79.                     status = "Killing the target.";
  80.                     return State.WAIT;
  81.                 }
  82.             }
  83.         } else {
  84.             status = new String("Waiting for Spawn.");
  85.             return State.WAIT;
  86.         }
  87.     }
  88.  
  89.     @Override
  90.     public int onLoop() throws InterruptedException {
  91.         switch (getState()) {
  92.         case SEARCH :
  93.             camera.toEntity(target);
  94.             break;
  95.         case ATTACK :
  96.             target.interact("Attack");
  97.             sleep(random(99, 999));
  98.             break;
  99.         case WAIT :
  100.             sleep(random(99, 999));
  101.             break;
  102.         default:
  103.             return random(99, 999);
  104.         }
  105.         return random(99, 999);
  106.     }
  107.  
  108.     public String formatTime(long ms){
  109.  
  110.         long s = ms / 1000, m = s / 60, h = m / 60, d = h / 24;
  111.         s %= 60; m %= 60; h %= 24;
  112.  
  113.         return d > 0 ? String.format("%02d:%02d:%02d:%02d", d, h, m, s) :
  114.                h > 0 ? String.format("%02d:%02d:%02d", h, m, s) :
  115.                String.format("%02d:%02d", m, s);
  116.     }
  117.    
  118.     public double percentToNextLevel(Skill skill){
  119.  
  120.         int curLvl = getSkills().getStatic(skill),
  121.         curXP = getSkills().getExperience(skill),
  122.         xpCurLvl = getSkills().getExperienceForLevel(curLvl),
  123.         xpNextLvl = getSkills().getExperienceForLevel(curLvl + 1);
  124.  
  125.         return (((curXP - xpCurLvl) * 100) / (xpNextLvl - xpCurLvl));
  126.     }
  127.  
  128.     @Override
  129.     public void onPaint(Graphics2D g) {
  130.         //Mouse cross-hair
  131.         g.setColor(Color.ORANGE);
  132.         Point mP = getMouse().getPosition();
  133.         g.drawLine(mP.x, 0, mP.x, 500);
  134.         g.drawLine(0, mP.y, 800, mP.y);
  135.         //Debugging information
  136.         g.setColor(Color.WHITE);
  137.         g.drawString("Currently : " + status, 350, 330);
  138.         g.drawString("Time Elapsed : " + formatTime(runTime), 10, 330);
  139.         int attack, strength, defence, ranged, magic;
  140.         attack = getExperienceTracker().getGainedXP(Skill.ATTACK);
  141.         strength = getExperienceTracker().getGainedXP(Skill.STRENGTH);
  142.         defence = getExperienceTracker().getGainedXP(Skill.DEFENCE);
  143.         ranged = getExperienceTracker().getGainedXP(Skill.RANGED);
  144.         magic = getExperienceTracker().getGainedXP(Skill.MAGIC);
  145.         if (attack > strength && attack > defence && attack > ranged && attack > magic) {
  146.             g.drawString("Attack Level : " + getSkills().getStatic(Skill.ATTACK) + " ( +" + getExperienceTracker().getGainedLevels(Skill.ATTACK) + " )", 10, 310);
  147.             g.drawString("Exp Gained : " + getExperienceTracker().getGainedXP(Skill.ATTACK) + " ( " + getExperienceTracker().getGainedXPPerHour(Skill.ATTACK) + " \\ hr )", 10, 290);
  148.             int nextLevel = getSkills().getStatic(Skill.ATTACK) + 1;
  149.             g.drawString(getSkills().experienceToLevel(Skill.ATTACK) + " Exp ( " + percentToNextLevel(Skill.ATTACK) + "% ) until " + nextLevel, 10, 270);
  150.         } else if (strength > attack && strength > defence && strength > ranged && strength > magic) {
  151.             g.drawString("Strength Level : " + getSkills().getStatic(Skill.STRENGTH) + " ( +" + getExperienceTracker().getGainedLevels(Skill.STRENGTH) + " )", 10, 310);
  152.             g.drawString("Exp Gained : " + getExperienceTracker().getGainedXP(Skill.STRENGTH) + " ( " + getExperienceTracker().getGainedXPPerHour(Skill.STRENGTH) + " \\ hr )", 10, 290);
  153.             int nextLevel = getSkills().getStatic(Skill.STRENGTH) + 1;
  154.             g.drawString(getSkills().experienceToLevel(Skill.STRENGTH) + " Exp ( " + percentToNextLevel(Skill.STRENGTH) + "% ) until " + nextLevel, 10, 270);
  155.         } else if (defence > strength && defence > attack && defence > ranged && defence > magic) {
  156.             g.drawString("Defence Level : " + getSkills().getStatic(Skill.DEFENCE) + " ( +" + getExperienceTracker().getGainedLevels(Skill.DEFENCE) + " )", 10, 310);
  157.             g.drawString("Exp Gained : " + getExperienceTracker().getGainedXP(Skill.DEFENCE) + " ( " + getExperienceTracker().getGainedXPPerHour(Skill.DEFENCE) + " \\ hr )", 10, 290);
  158.             int nextLevel = getSkills().getStatic(Skill.DEFENCE) + 1;
  159.             g.drawString(getSkills().experienceToLevel(Skill.DEFENCE) + " Exp ( " + percentToNextLevel(Skill.DEFENCE) + "% ) until " + nextLevel, 10, 270);
  160.         } else if (ranged > strength && ranged > defence && ranged > attack && ranged > magic) {
  161.             g.drawString("Ranged Level : " + getSkills().getStatic(Skill.RANGED) + " ( +" + getExperienceTracker().getGainedLevels(Skill.RANGED) + " )", 10, 310);
  162.             g.drawString("Exp Gained : " + getExperienceTracker().getGainedXP(Skill.RANGED) + " ( " + getExperienceTracker().getGainedXPPerHour(Skill.RANGED) + " \\ hr )", 10, 290);
  163.             int nextLevel = getSkills().getStatic(Skill.RANGED) + 1;
  164.             g.drawString(getSkills().experienceToLevel(Skill.RANGED) + " Exp ( " + percentToNextLevel(Skill.RANGED) + "% ) until " + nextLevel, 10, 270);
  165.         } else if (magic > strength && magic > defence && magic > ranged && magic > attack) {
  166.             g.drawString("Magic Level : " + getSkills().getStatic(Skill.MAGIC) + " ( +" + getExperienceTracker().getGainedLevels(Skill.MAGIC) + " )", 10, 310);
  167.             g.drawString("Exp Gained : " + getExperienceTracker().getGainedXP(Skill.ATTACK) + " ( " + getExperienceTracker().getGainedXPPerHour(Skill.MAGIC) + " \\ hr )", 10, 290);
  168.             int nextLevel = getSkills().getStatic(Skill.MAGIC) + 1;
  169.             g.drawString(getSkills().experienceToLevel(Skill.MAGIC) + " Exp ( " + percentToNextLevel(Skill.MAGIC) + "% ) until " + nextLevel, 10, 270);
  170.         }
  171.     }
  172.    
  173.     @Override
  174.     public void onExit() {
  175.         log("Time ran : " + formatTime(runTime));
  176.     }
  177. }
Advertisement
Add Comment
Please, Sign In to add comment