Equinox

EquinoxSlayerMonitor.java

Apr 17th, 2011
326
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
Java 2.47 KB | None | 0 0
  1. import java.awt.Color;
  2. import java.awt.Graphics;
  3.  
  4. import org.rsbot.event.listeners.PaintListener;
  5. import org.rsbot.script.Script;
  6. import org.rsbot.script.ScriptManifest;
  7.  
  8. @ScriptManifest(authors = { "Equinox_" }, name = "Equinox Slayer Monitor")
  9. public class EquinoxSlayerMonitor extends Script implements PaintListener {
  10.     int startMonsters = -5;
  11.     long startTime = -5;
  12.  
  13.     public void onRepaint(Graphics g) {
  14.         int mLeft = settings.getSetting(394);
  15.         if (startMonsters == -5)
  16.             startMonsters = mLeft;
  17.         if (startTime == -5)
  18.             startTime = System.currentTimeMillis();
  19.         g.setColor(new Color(0f, 0f, 0f, 0.5f));
  20.         g.fillRect(10, 87, 150, 100);
  21.         g.setColor(Color.WHITE);
  22.         g.setFont(g.getFont().deriveFont(16));
  23.         int killed = (startMonsters - mLeft);
  24.         long millis = System.currentTimeMillis() - startTime;
  25.         if (millis == 0)
  26.             millis=1;
  27.         g.drawString("Monsters Left: " + mLeft, 15, 100);
  28.         g.drawString("Monsters Killed: " + killed, 15, 120);
  29.         long mPerHour = killed * 3600000l / millis;
  30.         g.drawString("Monsters/Hour: " + mPerHour, 15, 140);
  31.         String ttc = "No monsters killed";
  32.         if (killed!=0)
  33.             ttc = getFormattedTime((long)(((float) mLeft)
  34.                     / ((float) mPerHour) * 3600000f));
  35.         g.drawString("Time 'till completion: ", 15, 160);
  36.         g.drawString(ttc, 15, 180);
  37.  
  38.     }
  39.  
  40.     public int loop() {
  41.         return 0;
  42.     }
  43.  
  44.     public static String getFormattedTime(final long timeMillis, String sep,
  45.             boolean millisInc) {
  46.         long millis = timeMillis;
  47.         final long days = millis / (24 * 1000 * 60 * 60);
  48.         millis -= days * (24 * 1000 * 60 * 60);
  49.         final long hours = millis / (1000 * 60 * 60);
  50.         millis -= hours * 1000 * 60 * 60;
  51.         final long minutes = millis / (1000 * 60);
  52.         millis -= minutes * 1000 * 60;
  53.         final long _seconds = millis / 1000;
  54.         millis -= _seconds * 1000;
  55.         String dayString = String.valueOf(days);
  56.         String hoursString = String.valueOf(hours);
  57.         String minutesString = String.valueOf(minutes);
  58.         String secondsString = String.valueOf(_seconds);
  59.         if (hours < 10) {
  60.             hoursString = 0 + hoursString;
  61.         }
  62.         if (minutes < 10) {
  63.             minutesString = 0 + minutesString;
  64.         }
  65.         if (_seconds < 10) {
  66.             secondsString = 0 + secondsString;
  67.         }
  68.         String s = "";
  69.         if (days > 0)
  70.             s = dayString + sep;
  71.         s += hoursString + sep + minutesString + sep + secondsString;
  72.         if (millisInc)
  73.             s += sep + String.valueOf(millis);
  74.         return s;
  75.     }
  76.  
  77.     public static String getFormattedTime(final long timeMillis) {
  78.         return getFormattedTime(timeMillis, ":", false);
  79.     }
  80. }
Advertisement
Add Comment
Please, Sign In to add comment