Don't like ads? PRO users don't see any ads ;-)
Guest

Untitled

By: a guest on May 11th, 2012  |  syntax: None  |  size: 21.78 KB  |  hits: 16  |  expires: Never
download  |  raw  |  embed  |  report abuse  |  print
Text below is selected. Please press Ctrl+C to copy to your clipboard. (⌘+C on Mac)
  1. import java.awt.*;
  2. import java.util.*;
  3. import java.util.List;
  4. import java.util.logging.Level;
  5. import javax.accessibility.*;
  6. import javax.swing.*;
  7.  
  8. import org.rsbot.bot.Bot;
  9. import org.rsbot.script.*;
  10. import org.rsbot.script.wrappers.*;
  11. import org.rsbot.event.listeners.PaintListener;
  12. import org.rsbot.event.listeners.ServerMessageListener;
  13. import org.rsbot.event.events.ServerMessageEvent;
  14. import org.rsbot.util.ScreenshotUtil;
  15. import org.rsbot.script.wrappers.RSTile;
  16. import org.rsbot.script.wrappers.RSNPC;
  17. import org.rsbot.script.wrappers.RSObject;
  18. import org.rsbot.script.Script;
  19.  
  20.  
  21. @ScriptManifest(authors = { "Gobs , Sander70" }, category = "Combat", name = "EdgeVille Man Killer P2P", version = 1.01,
  22.  
  23. description = "<html><head><style type='text/css'> body {text-align:center; background-color: black; color: blue;}
  24.  
  25. </style><br></br>Start in<br></br> House with men<br></br><br></br><p>Thx To Sander70 For Adding Magic And Range
  26.  
  27. Support</p>Make sure you have armor on, a weapon on, and food in inventory, and bank.(if needed)")
  28. public class EManKillerP2P extends Script implements PaintListener, ServerMessageListener {
  29.  
  30.   String version = "1.2.1 P2P";
  31.  
  32. int runes[] = {558 };
  33.  
  34.   int items[] = {1440, 199, 201, 203, 205, 211, 215, 207, 213, 209, 2485, 217 };
  35.     int herbCount[] = {0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0};
  36.   final int[] food = { 361, 329, 333, 385, 379, 315, 319, 2299, 2297, 365, 2335, 2323, 2331, 2327, 13433, 325, 347, 355,
  37.     339, 351, 373, 7946, 882, 884, 886, 888, 890, 892, 185, 555, 557, 556, 559 };
  38.   String status = "";
  39.     int kills = 0;
  40.   int profit = 0;
  41.     int foodUsed = 0;
  42.     int sDef = 0;
  43.     int sRan = 0;
  44.     int sMag = 0;
  45.     int sStr = 0;
  46.     int sAtk = 0;
  47.     int sHP = 0;
  48.     int sEDef = 0;
  49.     int sEStr = 0;
  50.     int sEAtk = 0;
  51.     int sEHP = 0;
  52.     int sERan = 0;
  53.     int sEMag = 0;
  54.     int gEDef = 0;
  55.     int gEStr = 0;
  56.     int gEAtk = 0;
  57.     int gEHP = 0;
  58.     int gERan = 0;
  59.     int gEMag = 0;
  60.     RSNPC man = new RSNPC(null);
  61.     Color lightGreen = new Color(49 , 130, 53, 93);
  62.     int experienceTotal = 0;
  63.   public long startTime = System.currentTimeMillis();
  64.   RSItemTile tile;
  65.   public RSTile doorTile1 = new RSTile(3101, 3509);
  66.   public RSTile doorTile2 = new RSTile(3100, 3509);
  67.     RSTile doorPlace = new RSTile(3100, random(3509,3510));
  68.     RSTile bank1 = new RSTile(3093,3492);
  69.     public boolean foodAte = false;
  70.   public Color randomColor = new Color(random(50, 255), random(50, 255),
  71.       random(50, 255));
  72.   private final RSArea menarea = new RSArea(3091, 3507,10,7);
  73.     private final RSArea menareaAttack = new RSArea(3091, 3507,9,6);
  74.  
  75.   public boolean onStart(Map<String, String> args) {
  76.     if (getCurrentTab() != TAB_INVENTORY) {
  77.       openTab(TAB_INVENTORY);
  78.       wait(random(400, 600));
  79.     }
  80.         status = "Starting up...";
  81.         sDef = skills.getCurrentSkillLevel(Constants.STAT_DEFENSE);
  82.         sMag = skills.getCurrentSkillLevel(Constants.STAT_MAGIC);
  83.         sRan = skills.getCurrentSkillLevel(Constants.STAT_RANGE);
  84.         sStr = skills.getCurrentSkillLevel(Constants.STAT_STRENGTH);
  85.         sAtk = skills.getCurrentSkillLevel(Constants.STAT_ATTACK);
  86.         sHP = skills.getCurrentSkillLevel(Constants.STAT_HITPOINTS);
  87.         sEDef = skills.getCurrentSkillExp(Constants.STAT_DEFENSE);
  88.         sEStr = skills.getCurrentSkillExp(Constants.STAT_STRENGTH);
  89.         sEAtk = skills.getCurrentSkillExp(Constants.STAT_ATTACK);
  90.         sEHP = skills.getCurrentSkillExp(Constants.STAT_HITPOINTS);
  91.         sERan = skills.getCurrentSkillExp(Constants.STAT_RANGE);
  92.         sEMag = skills.getCurrentSkillExp(Constants.STAT_MAGIC);
  93.         wait(1000);
  94.     startTime = System.currentTimeMillis();
  95.     log("Edgeville Mankiller " + version);
  96.  
  97.     return true;
  98.   }
  99.  
  100.   public void onFinish() {
  101.     log("Thanks for using Edgeville Mankiller " + version);
  102.   }
  103.  
  104.   // Methods
  105.  
  106.   public void walkToBank() {
  107.         status = "Walking to bank";
  108.     RSTile mid = new RSTile(3096, 3503);
  109.  
  110.     walkTileMM(doorPlace);
  111.     wait(random(600, 700));
  112.     while (getMyPlayer().isMoving()) {
  113.       wait(random(200, 600));
  114.     }
  115.     openTheDoor();
  116.     walkTileMM(mid);
  117.         wait(random(825,900));
  118.     while (getMyPlayer().isMoving()) {
  119.       wait(random(200, 1500));
  120.     }
  121.     walkTileMM(bank1);
  122.         wait(random(999,1250));
  123.     while (getMyPlayer().isMoving()) {
  124.       wait(random(200, 1500));
  125.     }
  126.     wait(random(300,500));
  127.      while(isInventoryFull()){
  128.              status = "Depositing Items";
  129.         bank.open();
  130.              wait(2000);
  131.     bank.depositAllExcept(food);
  132.          }
  133.  
  134.   }
  135.  
  136.   public void openTheDoor() {
  137.     RSObject door1 = getNearestObjectByID(26910);
  138.     while (door1 != null) {
  139.             atDoorTiles(doorTile1, doorTile2);
  140.       atObject(door1, "Open");
  141.       wait(random(1200, 1500));
  142.             door1 = getNearestObjectByID(26910);
  143.     }
  144.   }
  145.  
  146.   public void walkToMen() {
  147.         status = "Walking to men";
  148.     RSTile bank1 = new RSTile(random(3093,3096), random(3496,3497));
  149.         RSTile mid = new RSTile(random(3099,3101),random(3503,3506));
  150.     RSTile menTile = new RSTile(3102, random(3509, 3510));
  151.     RSTile menTile2 = new RSTile(3097, 3510);
  152.     walkTileMM(bank1);
  153.     wait(random(600, 700));
  154.     while (getMyPlayer().isMoving()) {
  155.       wait(random(200, 600));
  156.     }
  157.         walkTileMM(mid);
  158.     wait(random(600, 700));
  159.     while (getMyPlayer().isMoving()) {
  160.       wait(random(200, 600));
  161.     }
  162.     walkTileMM(menTile);
  163.     wait(random(600, 700));
  164.     while (getMyPlayer().isMoving()) {
  165.       wait(random(200, 600));
  166.     }
  167.     wait(random(1000, 2000));
  168.     openTheDoor();
  169.     walkTileMM(menTile2);
  170.     wait(random(600, 700));
  171.     if (getMyPlayer().isMoving()) {
  172.       while (getMyPlayer().isMoving()) {
  173.         wait(random(20, 60));
  174.       }
  175.       wait(random(600, 1000));
  176.     }
  177.   }
  178.  
  179.   public void takeLoot() {
  180.          for (int i = 0; i <= (items.length - 1); i++) {
  181.             if (getInventoryCount() > 27) {
  182.                 break;
  183.             }
  184.             tile = getNearestGroundItemInAreaByID(menarea, items[i]);
  185.             if (tile != null) {
  186.                 int x = getInventoryCount();
  187.                 if(i == 0){
  188.                 atTile(tile, "Take Earth");
  189.                 }else{
  190.                     atTile(tile, "Take Grimy");
  191.                 }
  192.  
  193.                 wait(1200);
  194.                 while (getMyPlayer().isMoving()) {
  195.                     wait(random(1,100));
  196.                 }
  197.                 wait(800);
  198.                 if (getInventoryCount() > x) {
  199.                   herbCount[i]++;
  200.                 }
  201.           }
  202.        }
  203.     }
  204.  
  205.   public void attackMan() {
  206.         status = "Killing Men";
  207.     if (man != null) {
  208.       atNPC(man, "Attack");
  209.       wait(random(1500, 2000));
  210.       if (getMyPlayer().getInteracting() != null
  211.           && getMyPlayer().getInteracting() instanceof RSNPC) {
  212.                 if(random(1,100) > 89){
  213.                 moveMouse(random(10, 750), random(10, 500));
  214.                 }
  215.         while (getMyPlayer().getInteracting() != null) {
  216.           wait(random(50, 200));
  217.           if (getHP()<= 60) {
  218.                         log("Hitpoints are below 60, eating food.");
  219.             eatFood();
  220.           }
  221.         }
  222.              kills++;
  223.       }
  224.       takeLoot();
  225.  
  226.             if(!playerInArea(3091, 3507, 3100, 3513)){
  227.                openTheDoor();
  228.                walkTileMM(new RSTile(random(3097, 3099), random(3509, 3511)));
  229.             }
  230.     } else {
  231.       wait(random(100, 500));
  232.             if(random(1,100) > 69){
  233.                 Ladder();
  234.             }
  235.     }
  236.   }
  237.  
  238.   public void eatFood() {
  239.     for (int i = 0; i < food.length; i++) {
  240.       if (getInventoryCount(food[i]) > 0) {
  241.         atInventoryItem(food[i], "Eat");
  242.                 foodUsed++;
  243.                 foodAte = true;
  244.         wait(random(3000, 5000));
  245.                 break;
  246.       }
  247.     }
  248.         if(!foodAte){
  249.             log("No food in inventory. Ending bot.");
  250.              stopScript();
  251.         }else{
  252.             foodAte = false;
  253.         }
  254.   }
  255.     double getHP() {
  256.     int HP = 0;
  257.     if (RSInterface.getInterface(748).getChild(8).isValid()) {
  258.       if (RSInterface.getInterface(748).getChild(8).getText() != null) {
  259.         HP = Integer.parseInt(RSInterface.getInterface(748).getChild(8)
  260.             .getText());
  261.       } else {
  262.         log("getHp() Error");
  263.       }
  264.     } else {
  265.       log("HP Interface is not valid");
  266.     }
  267.     return HP;
  268.   }
  269.  
  270.   public void Ladder() {
  271.         status = "Thinking...";
  272.     RSObject ladder;
  273.     do {
  274.       ladder = getNearestObjectByID(26983);
  275.       if (ladder != null) {
  276.  
  277.         atObject(ladder, "Climb-down Ladder");
  278.         wait(random(1200, 1500));
  279.         setCameraRotation(random(1, 360));
  280.       }
  281.     } while (ladder != null);
  282.   }
  283.  
  284.  
  285.    public RSNPC getNearestMan(final RSArea toSearch, final String name) {
  286.  
  287.     int Dist = 20;
  288.     RSNPC closest = null;
  289.     final org.rsbot.script.wrappers.RSNPC[] npcs = getNPCArray(true);
  290.  
  291.     for (int element = (npcs.length - 1); element >= 0; element--) {
  292.       if (npcs[element] == null)
  293.         continue;
  294.       RSNPC Monster = npcs[element];
  295.       try {
  296.         if (name == null || !name.equalsIgnoreCase(Monster.getName())
  297.             || Monster.getHPPercent() == 0
  298.             || !toSearch.contains(Monster.getLocation()))
  299.           continue;
  300.         final int distance = distanceTo(Monster);
  301.         if (distance < Dist && !Monster.isInCombat()) {
  302.           Dist = distance;
  303.           closest = Monster;
  304.         }
  305.       } catch (final Exception e) {
  306.         e.printStackTrace();
  307.       }
  308.     }
  309.     return closest;
  310.   }
  311.  
  312.     public boolean playerInArea(int minX, int minY, int maxX, int maxY) {
  313.     int x = getMyPlayer().getLocation().getX();
  314.     int y = getMyPlayer().getLocation().getY();
  315.     if (x <= maxX && x >= minX && y <= maxY && y >= minY) return true;
  316.     return false;
  317.   }
  318.  
  319.   public void antiban() {
  320.  
  321.   }
  322.  
  323.   // Loop
  324.   public int loop() {
  325.         if (getEnergy() >= random(50,80)) {
  326.       setRun(true);
  327.     }
  328.     if(distanceTo(doorPlace) > distanceTo(bank1)){
  329.             RSTile menTile = new RSTile(3102, random(3509, 3510));
  330.         RSTile menTile2 = new RSTile(3097, 3510);
  331.             walkTileMM(bank1);
  332.             wait(random(600,750));
  333.              while (getMyPlayer().isMoving()) {
  334.                     wait(random(1,2));
  335.                 }
  336.              walkTileMM(new RSTile(random(3099,3101),random(3503,3506)));
  337.             wait(random(600,750));
  338.             while (getMyPlayer().isMoving()){
  339.                 wait(random(1,2));
  340.                 walkTileMM(menTile);
  341.         wait(random(600, 700));
  342.         while (getMyPlayer().isMoving()) {
  343.       wait(random(200, 600));
  344.     }
  345.     wait(random(1000, 2000));
  346.     openTheDoor();
  347.     walkTileMM(menTile2);
  348.     wait(random(600, 700));
  349.     if (getMyPlayer().isMoving()) {
  350.       while (getMyPlayer().isMoving()) {
  351.         wait(random(20, 60));
  352.       }
  353.       wait(random(600, 1000));
  354.             }
  355.  
  356.  
  357.         }
  358.         }
  359.         if(isInventoryFull()){
  360.       walkToBank();
  361.             wait(500);
  362.       walkToMen();
  363.  
  364.     }else{
  365.     attackMan();
  366.     if(random(1,2) == 2){
  367.       antiban();
  368.     }
  369.     wait(random(50, 1000));
  370.     }
  371.         return 0;
  372.   }
  373.  
  374.        public void drawPlayer(final Graphics g) {
  375.       final RSTile t = getMyPlayer().getLocation();
  376.       Calculations.tileToScreen(t);
  377.       final Point pn = Calculations.tileToScreen(t.getX(), t.getY(), 0,
  378.           0, 0);
  379.       final Point px = Calculations.tileToScreen(t.getX() + 1, t.getY(),
  380.           0, 0, 0);
  381.       final Point py = Calculations.tileToScreen(t.getX(), t.getY() + 1,
  382.           0, 0, 0);
  383.       final Point pxy = Calculations.tileToScreen(t.getX() + 1,
  384.           t.getY() + 1, 0, 0, 0);
  385.       getMyPlayer().getHeight();
  386.       g.setColor(Color.BLACK);
  387.       g.drawPolygon(new int[] { py.x, pxy.x, px.x, pn.x }, new int[] {
  388.           py.y, pxy.y, px.y, pn.y }, 4);
  389.       g.setColor(new Color(75, 120, 200, 75));
  390.       g.fillPolygon(new int[] { py.x, pxy.x, px.x, pn.x }, new int[] {
  391.           py.y, pxy.y, px.y, pn.y }, 4);
  392.     }
  393.  
  394.   public void overlayTile(final Graphics g, final RSTile t,
  395.         final Color c, final int typeOfObject) {
  396.       final Point p = Calculations.tileToScreen(t);
  397.       final Point pn = Calculations.tileToScreen(t.getX(), t.getY(), 0,
  398.           0, 0);
  399.       final Point px = Calculations.tileToScreen(t.getX() + 1, t.getY(),
  400.           0, 0, 0);
  401.       final Point py = Calculations.tileToScreen(t.getX(), t.getY() + 1,
  402.           0, 0, 0);
  403.       final Point pxy = Calculations.tileToScreen(t.getX() + 1,
  404.           t.getY() + 1, 0, 0, 0);
  405.       final Point[] points = { p, pn, px, py, pxy };
  406.       for (final Point point : points) {
  407.         if (!pointOnScreen(point)) {
  408.           return;
  409.         }
  410.       }
  411.       g.setColor(c);
  412.  
  413.       g.drawPolygon(new int[] { py.x, pxy.x, px.x, pn.x }, new int[] {
  414.           py.y, pxy.y, px.y, pn.y }, 4);
  415.       g.setColor(new Color(250, 75, 120, 75));
  416.       g.fillPolygon(new int[] { py.x, pxy.x, px.x, pn.x }, new int[] {
  417.           py.y, pxy.y, px.y, pn.y }, 4);
  418.     }
  419.  
  420.  
  421.  
  422.  
  423.  
  424.   public void onRepaint(Graphics g) {
  425.     if (isLoggedIn()) {
  426.       long millis = System.currentTimeMillis() - startTime;
  427.       long hours = millis / (1000 * 60 * 60);
  428.       millis -= hours * (1000 * 60 * 60);
  429.       long minutes = millis / (1000 * 60);
  430.       millis -= minutes * (1000 * 60);
  431.       long seconds = millis / 1000;
  432.             drawPlayer(g);// shades where person standing
  433.              man = getNearestMan(menareaAttack, "Man");
  434.                 if(man != null){
  435.                 overlayTile(g, (man).getLocation(), new Color(200, 120, 150, 100), 1); //shades the npc that your guy is
  436.  
  437. fighting
  438.                 }
  439.       g.setColor(Color.white);
  440.         //This variable is used for Antialiasing. DO NOT DELETE!
  441.     g.setColor(new Color(176, 176, 6, 90));
  442.     g.fillRoundRect(548, 208, 188, 254, 4, 4);
  443.     g.setColor(new Color(102, 102, 0));
  444.     g.drawRoundRect(548, 207, 187, 256, 4, 4);
  445.     g.setFont(new Font("Aharoni", 0, 15));
  446.     g.setColor(new Color(0, 0, 0, 100));
  447.     g.drawString("Edgeville Man-Killer", 571, 227);
  448.     g.setColor(new Color(102, 51, 0));
  449.     g.drawString("Edgeville Man-Killer", 569, 225);
  450.     g.setFont(new Font("Andalus", 0, 12));
  451.     g.setColor(new Color(0, 0, 0, 100));
  452.     g.drawString(version, 626, 239);
  453.     g.setColor(new Color(102, 51, 0));
  454.     g.drawString(version, 624, 237);
  455.     g.setFont(new Font("Book Antiqua", 0, 12));
  456.     g.setColor(new Color(102, 0, 0));
  457.     g.drawString("Men Killed: " + kills, 551, 261);
  458.     g.setFont(new Font("Book Antiqua", 0, 12));
  459.     g.setColor(new Color(102, 0, 0));
  460.     g.setFont(new Font("Book Antiqua", 0, 12));
  461.     g.setColor(new Color(102, 0, 0));
  462.     g.drawString("Total XP Gained: " + experienceTotal, 551, 292);
  463.     g.setFont(new Font("Book Antiqua", 0, 12));
  464.     g.setColor(new Color(102, 0, 0));
  465.     g.drawString("Food Used: " + foodUsed, 552, 308);
  466.     g.setFont(new Font("Batang", 0, 10));
  467.     g.setColor(new Color(102, 0, 0));
  468.     g.drawString("By: Gobs", 691, 461);
  469.     g.setFont(new Font("Book Antiqua", 0, 12));
  470.     g.setColor(new Color(102, 0, 0));
  471.     g.drawString("Status: " + status, 552, 350);
  472.     g.setFont(new Font("Book Antiqua", 0, 12));
  473.     g.setColor(new Color(102, 0, 0));
  474.     g.drawString("Time Ran: " + (int) hours + ":" + (int) minutes
  475.           + ":" + (int) seconds, 551, 364);
  476.         gEAtk = skills.getCurrentSkillExp(Constants.STAT_ATTACK) - sEAtk;
  477.         gERan = skills.getCurrentSkillExp(Constants.STAT_RANGE) - sERan;
  478.         gEStr = skills.getCurrentSkillExp(Constants.STAT_STRENGTH) - sEStr;
  479.         gEDef = skills.getCurrentSkillExp(Constants.STAT_DEFENSE) - sEDef;
  480.         gEHP = skills.getCurrentSkillExp(Constants.STAT_HITPOINTS) - sEHP;
  481.         gEMag = skills.getCurrentSkillExp(Constants.STAT_MAGIC) - sEMag;
  482.         experienceTotal = gEAtk + gEStr + gEDef + gEHP + gERan + gEMag;
  483.  
  484.             if(gEStr > 0){
  485.                  g.setColor(Color.white);
  486.             int Strengthpercent = (skills.getPercentToNextLevel(Constants.STAT_STRENGTH));
  487.             int Strengthlevel = skills.getCurrentSkillLevel(Constants.STAT_STRENGTH);
  488.                 g.drawString("Strength: " + "level: " + Strengthlevel + "/" + sStr + " percent: " + Strengthpercent + "%" + "
  489.  
  490. gainedXP: " + gEStr, 15, 297);
  491.                 g.setColor(Color.red);
  492.                 g.fillRoundRect(15, 300, 500, 10, 15, 15);
  493.                 g.setColor(Color.green);
  494.                 g.fillRoundRect(15, 300, Strengthpercent * 5, 10, 15, 15);
  495.                 g.setColor(Color.black);
  496.                 g.drawRoundRect(15, 300, 500, 10, 15, 15);
  497.                 g.drawRoundRect(15, 300, Strengthpercent * 5, 10, 15, 15);
  498.             }
  499.  
  500.             if(gEAtk > 0){
  501.                 g.setColor(Color.white);
  502.             int Attackpercent = (skills.getPercentToNextLevel(Constants.STAT_ATTACK));
  503.             int Attacklevel = skills.getCurrentSkillLevel(Constants.STAT_ATTACK);
  504.                 g.drawString("Attack: " + "level: " + Attacklevel + "/" + sStr + " percent: " + Attackpercent + "%" + "
  505.  
  506. gainedXP: " + gEAtk, 15, 297);
  507.                 g.setColor(Color.red);
  508.                 g.fillRoundRect(15, 300, 500, 10, 15, 15);
  509.                 g.setColor(Color.green);
  510.                 g.fillRoundRect(15, 300, Attackpercent * 5, 10, 15, 15);
  511.                 g.setColor(Color.black);
  512.                 g.drawRoundRect(15, 300, 500, 10, 15, 15);
  513.                 g.drawRoundRect(15, 300, Attackpercent * 5, 10, 15, 15);
  514.             }
  515.  
  516.             if(gEDef > 0){
  517.                 g.setColor(Color.white);
  518.             int Defencepercent = (skills.getPercentToNextLevel(Constants.STAT_DEFENSE));
  519.             int Defencelevel = skills.getCurrentSkillLevel(Constants.STAT_DEFENSE);
  520.                 g.drawString("Defence: " + "level: " + Defencelevel + "/" + sStr + " percent: " + Defencepercent + "%"  + "
  521.  
  522. gainedXP: " + gEDef, 15, 297);
  523.                 g.setColor(Color.red);
  524.                 g.fillRoundRect(15, 300, 500, 10, 15, 15);
  525.                 g.setColor(Color.green);
  526.                 g.fillRoundRect(15, 300, Defencepercent * 5, 10, 15, 15);
  527.                 g.setColor(Color.black);
  528.                 g.drawRoundRect(15, 300, 500, 10, 15, 15);
  529.                 g.drawRoundRect(15, 300, Defencepercent * 5, 10, 15, 15);
  530.             }
  531.             if(gERan > 0){
  532.                 g.setColor(Color.white);
  533.             int Rangepercent = (skills.getPercentToNextLevel(Constants.STAT_RANGE));
  534.             int Rangelevel = skills.getCurrentSkillLevel(Constants.STAT_RANGE);
  535.                 g.drawString("Range: " + "level: " + Rangelevel + "/" + sStr + " percent: " + Rangepercent + "%" + "
  536.  
  537. gainedXP: " + gERan, 15, 297);
  538.                 g.setColor(Color.red);
  539.                 g.fillRoundRect(15, 300, 500, 10, 15, 15);
  540.                 g.setColor(Color.green);
  541.                 g.fillRoundRect(15, 300, Rangepercent * 5, 10, 15, 15);
  542.                 g.setColor(Color.black);
  543.                 g.drawRoundRect(15, 300, 500, 10, 15, 15);
  544.                 g.drawRoundRect(15, 300, Rangepercent * 5, 10, 15, 15);
  545.             }
  546.  
  547.             if(gEMag > 0){
  548.                 g.setColor(Color.white);
  549.             int Magicpercent = (skills.getPercentToNextLevel(Constants.STAT_MAGIC));
  550.             int Magiclevel = skills.getCurrentSkillLevel(Constants.STAT_MAGIC);
  551.                 g.drawString("Magic: " + "level: " + Magiclevel + "/" + sStr + " percent: " + Magicpercent + "%" + "
  552.  
  553. gainedXP: " + gEMag, 15, 297);
  554.                 g.setColor(Color.red);
  555.                 g.fillRoundRect(15, 300, 500, 10, 15, 15);
  556.                 g.setColor(Color.green);
  557.                 g.fillRoundRect(15, 300, Magicpercent * 5, 10, 15, 15);
  558.                 g.setColor(Color.black);
  559.                 g.drawRoundRect(15, 300, 500, 10, 15, 15);
  560.                 g.drawRoundRect(15, 300, Magicpercent * 5, 10, 15, 15);
  561.             }
  562.  
  563.  
  564.             if(gEHP > 0){
  565.                 g.setColor(Color.white);
  566.             int HPpercent = (skills.getPercentToNextLevel(Constants.STAT_HITPOINTS));
  567.             int HPlevel = skills.getCurrentSkillLevel(Constants.STAT_HITPOINTS);
  568.                 g.drawString("Hitpoints: " + "level: " + HPlevel + "/" + sHP + " percent: " + HPpercent + "%"  + " gainedXP:
  569.  
  570. " + gEHP, 15, 323);
  571.                 g.setColor(Color.red);
  572.                 g.fillRoundRect(15, 325, 500, 10, 15, 15);
  573.                 g.setColor(Color.green);
  574.                 g.fillRoundRect(15, 325, HPpercent * 5, 10, 15, 15);
  575.                 g.setColor(Color.black);
  576.                 g.drawRoundRect(15, 325, 500, 10, 15, 15);
  577.                 g.drawRoundRect(15, 325, HPpercent * 5, 10, 15, 15);
  578.             }
  579.  
  580.             g.setColor(lightGreen);
  581.             g.fillRoundRect(10, 185, 500, 100, 15, 15);
  582.             g.setColor(Color.white);
  583.             g.drawString("Item Count", 12, 195);
  584.             g.drawString("Guam: " + herbCount[1], 12, 210);
  585.              g.drawString("Marrentill: " + herbCount[2], 12, 225);
  586.              g.drawString("Tarromin: " + herbCount[3], 12, 240);
  587.              g.drawString("Harralander: " + herbCount[4], 12, 255);
  588.              g.drawString("Avantoe: " + herbCount[5], 12, 270);
  589.              g.drawString("Cadantine: " + herbCount[6], 12, 285);
  590.              g.drawString("Ranarr: " + herbCount[7], 150, 210);
  591.              g.drawString("Kwuarm: " + herbCount[8], 150, 225);
  592.              g.drawString("Irit: " + herbCount[9], 150, 240);
  593.              g.drawString("Lantadyme: " + herbCount[10], 150, 255);
  594.              g.drawString("Dwarf Weed: " + herbCount[11], 150, 270);
  595.             g.drawString("Earth Talisman: " + herbCount[0], 150, 285);
  596.  
  597.  
  598.     }
  599.   }
  600.   public void serverMessageRecieved(final ServerMessageEvent e) {
  601.     String message = e.getMessage();
  602.     if (message.contains("advanced")) {
  603.       log("You have leveled up.");
  604.       clickContinue();
  605.     }
  606.     }
  607. }