Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- import org.osbot.rs07.api.filter.Filter;
- import org.osbot.rs07.api.model.NPC;
- import org.osbot.rs07.api.ui.Skill;
- import org.osbot.rs07.script.Script;
- import org.osbot.rs07.script.ScriptManifest;
- import java.awt.*;
- import java.io.BufferedReader;
- import java.io.InputStreamReader;
- import java.net.URL;
- import java.net.URLConnection;
- @ScriptManifest(name = "Rawr.Killer",
- info = "I take pride in what I do greatly; kill things.",
- version = 1.0,
- author = "Rawrstin",
- logo = "")
- public class main extends Script {
- //Declaring variables for paint / debugging.
- private String status = " ";
- private long startTime;
- private long runTime = System.currentTimeMillis() - startTime;
- @Override
- public void onStart() {
- status = "Loading...";
- startTime = System.currentTimeMillis();
- for (Skill skill : new Skill[]{ Skill.ATTACK, Skill.STRENGTH,
- Skill.DEFENCE, Skill.HITPOINTS,
- Skill.RANGED, Skill.MAGIC }) {
- getExperienceTracker().start(skill);
- }
- }
- // Will implement in the future.
- @SuppressWarnings("unused")
- private int getPrice(int id){
- try {
- URL url = new URL("http://api.rsbuddy.com/grandExchange?a=guidePrice&i=" + id);
- URLConnection con = url.openConnection();
- con.setUseCaches(true);
- BufferedReader br = new BufferedReader(new InputStreamReader(con.getInputStream()));
- String[] data = br.readLine().replace("{", "").replace("}", "").split(",");
- return Integer.parseInt(data[0].split(":")[1]);
- } catch(Exception e){
- log(e);
- }
- return -1;
- }
- private String targetName = "Cow";
- private NPC target = npcs.closest(new Filter<NPC>() {
- public boolean match(NPC n) {
- return n.getName().equalsIgnoreCase(targetName) &&
- n.getCurrentHealth() != 0 &&
- n.isAttackable() != false &&
- map.canReach(n) != false;
- }
- });
- private enum State {
- SEARCH, ATTACK, WAIT
- };
- private State getState() {
- if (target != null) {
- if (!target.isOnScreen()) {
- status = "Searching for target.";
- return State.SEARCH;
- } else {
- if (myPlayer().getInteracting() != null) {
- status = "Attacking the target.";
- return State.ATTACK;
- } else {
- status = "Killing the target.";
- return State.WAIT;
- }
- }
- } else {
- status = new String("Waiting for Spawn.");
- return State.WAIT;
- }
- }
- @Override
- public int onLoop() throws InterruptedException {
- switch (getState()) {
- case SEARCH :
- camera.toEntity(target);
- break;
- case ATTACK :
- target.interact("Attack");
- sleep(random(99, 999));
- break;
- case WAIT :
- sleep(random(99, 999));
- break;
- default:
- return random(99, 999);
- }
- return random(99, 999);
- }
- public String formatTime(long ms){
- long s = ms / 1000, m = s / 60, h = m / 60, d = h / 24;
- s %= 60; m %= 60; h %= 24;
- return d > 0 ? String.format("%02d:%02d:%02d:%02d", d, h, m, s) :
- h > 0 ? String.format("%02d:%02d:%02d", h, m, s) :
- String.format("%02d:%02d", m, s);
- }
- public double percentToNextLevel(Skill skill){
- int curLvl = getSkills().getStatic(skill),
- curXP = getSkills().getExperience(skill),
- xpCurLvl = getSkills().getExperienceForLevel(curLvl),
- xpNextLvl = getSkills().getExperienceForLevel(curLvl + 1);
- return (((curXP - xpCurLvl) * 100) / (xpNextLvl - xpCurLvl));
- }
- @Override
- public void onPaint(Graphics2D g) {
- //Mouse cross-hair
- g.setColor(Color.ORANGE);
- Point mP = getMouse().getPosition();
- g.drawLine(mP.x, 0, mP.x, 500);
- g.drawLine(0, mP.y, 800, mP.y);
- //Debugging information
- g.setColor(Color.WHITE);
- g.drawString("Currently : " + status, 350, 330);
- g.drawString("Time Elapsed : " + formatTime(runTime), 10, 330);
- int attack, strength, defence, ranged, magic;
- attack = getExperienceTracker().getGainedXP(Skill.ATTACK);
- strength = getExperienceTracker().getGainedXP(Skill.STRENGTH);
- defence = getExperienceTracker().getGainedXP(Skill.DEFENCE);
- ranged = getExperienceTracker().getGainedXP(Skill.RANGED);
- magic = getExperienceTracker().getGainedXP(Skill.MAGIC);
- if (attack > strength && attack > defence && attack > ranged && attack > magic) {
- g.drawString("Attack Level : " + getSkills().getStatic(Skill.ATTACK) + " ( +" + getExperienceTracker().getGainedLevels(Skill.ATTACK) + " )", 10, 310);
- g.drawString("Exp Gained : " + getExperienceTracker().getGainedXP(Skill.ATTACK) + " ( " + getExperienceTracker().getGainedXPPerHour(Skill.ATTACK) + " \\ hr )", 10, 290);
- int nextLevel = getSkills().getStatic(Skill.ATTACK) + 1;
- g.drawString(getSkills().experienceToLevel(Skill.ATTACK) + " Exp ( " + percentToNextLevel(Skill.ATTACK) + "% ) until " + nextLevel, 10, 270);
- } else if (strength > attack && strength > defence && strength > ranged && strength > magic) {
- g.drawString("Strength Level : " + getSkills().getStatic(Skill.STRENGTH) + " ( +" + getExperienceTracker().getGainedLevels(Skill.STRENGTH) + " )", 10, 310);
- g.drawString("Exp Gained : " + getExperienceTracker().getGainedXP(Skill.STRENGTH) + " ( " + getExperienceTracker().getGainedXPPerHour(Skill.STRENGTH) + " \\ hr )", 10, 290);
- int nextLevel = getSkills().getStatic(Skill.STRENGTH) + 1;
- g.drawString(getSkills().experienceToLevel(Skill.STRENGTH) + " Exp ( " + percentToNextLevel(Skill.STRENGTH) + "% ) until " + nextLevel, 10, 270);
- } else if (defence > strength && defence > attack && defence > ranged && defence > magic) {
- g.drawString("Defence Level : " + getSkills().getStatic(Skill.DEFENCE) + " ( +" + getExperienceTracker().getGainedLevels(Skill.DEFENCE) + " )", 10, 310);
- g.drawString("Exp Gained : " + getExperienceTracker().getGainedXP(Skill.DEFENCE) + " ( " + getExperienceTracker().getGainedXPPerHour(Skill.DEFENCE) + " \\ hr )", 10, 290);
- int nextLevel = getSkills().getStatic(Skill.DEFENCE) + 1;
- g.drawString(getSkills().experienceToLevel(Skill.DEFENCE) + " Exp ( " + percentToNextLevel(Skill.DEFENCE) + "% ) until " + nextLevel, 10, 270);
- } else if (ranged > strength && ranged > defence && ranged > attack && ranged > magic) {
- g.drawString("Ranged Level : " + getSkills().getStatic(Skill.RANGED) + " ( +" + getExperienceTracker().getGainedLevels(Skill.RANGED) + " )", 10, 310);
- g.drawString("Exp Gained : " + getExperienceTracker().getGainedXP(Skill.RANGED) + " ( " + getExperienceTracker().getGainedXPPerHour(Skill.RANGED) + " \\ hr )", 10, 290);
- int nextLevel = getSkills().getStatic(Skill.RANGED) + 1;
- g.drawString(getSkills().experienceToLevel(Skill.RANGED) + " Exp ( " + percentToNextLevel(Skill.RANGED) + "% ) until " + nextLevel, 10, 270);
- } else if (magic > strength && magic > defence && magic > ranged && magic > attack) {
- g.drawString("Magic Level : " + getSkills().getStatic(Skill.MAGIC) + " ( +" + getExperienceTracker().getGainedLevels(Skill.MAGIC) + " )", 10, 310);
- g.drawString("Exp Gained : " + getExperienceTracker().getGainedXP(Skill.ATTACK) + " ( " + getExperienceTracker().getGainedXPPerHour(Skill.MAGIC) + " \\ hr )", 10, 290);
- int nextLevel = getSkills().getStatic(Skill.MAGIC) + 1;
- g.drawString(getSkills().experienceToLevel(Skill.MAGIC) + " Exp ( " + percentToNextLevel(Skill.MAGIC) + "% ) until " + nextLevel, 10, 270);
- }
- }
- @Override
- public void onExit() {
- log("Time ran : " + formatTime(runTime));
- }
- }
Advertisement
Add Comment
Please, Sign In to add comment