SHARE
TWEET

Untitled

Conderoga Mar 9th, 2011 34 Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
  1. import java.awt.event.*;
  2. import java.awt.*;
  3. import java.util.*;
  4. import java.io.*;
  5. import java.nio.channels.*;
  6. import java.net.*;
  7. import java.util.List;
  8. import java.util.logging.Level;
  9. import java.lang.reflect.Method;
  10. import javax.accessibility.*;
  11. import javax.swing.*;
  12. import org.rsbot.*;
  13. import org.rsbot.bot.Bot;
  14. import org.rsbot.script.*;
  15. import org.rsbot.script.wrappers.*;
  16. import org.rsbot.event.listeners.*;
  17. import org.rsbot.event.events.ServerMessageEvent;
  18. import org.rsbot.util.ScreenshotUtil;
  19. import javax.imageio.ImageIO;
  20.  
  21. @ScriptManifest(authors = { "Conderoga" }, keywords = "Fishing", name = "C's Leaping Fisher", version = 1.00,description = "Fishes leaping fish and banks caviar.")
  22.  
  23.  /*UpdateLog:
  24.    v1.00 - Initial Release
  25.  */
  26.  
  27.  
  28. public class CLeap extends Script implements PaintListener, ServerMessageListener, MouseListener{
  29.  
  30. //Paint stuff
  31. private int startLevelf;
  32. private int startLevela;
  33. private int startLevels;
  34. private int startExp;
  35. private int expGained;
  36. private int lvlsGainedf;
  37. private int lvlsGaineda;
  38. private int lvlsGaineds;
  39. private long startTime;
  40. private double startTimeDbl;
  41. private long ExpHr;
  42. private boolean showPaint = true;
  43. private boolean fancyPaint = true;
  44. private final Image img2 = getImage("http://i263.photobucket.com/albums/ii158/zpogo/Bar.png");
  45. private final Image img4 = getImage("http://i263.photobucket.com/albums/ii158/zpogo/EXPback-1copy.png");
  46. private Point p;
  47.  
  48. //Script stuff
  49. private int [] equipAndCaviar = {11323,314,946,11326};
  50. private int [] equipAndSturg = {11323,314,946,11332};
  51. private int [] equipment = {11323,314,946};
  52. private int [] equipment2 = {11323,314};
  53. private RSTile [] toBank = {new RSTile(2503,3497),new RSTile(2499,3507),new RSTile(2501,3519),new RSTile(2506,3529),new RSTile(2506,3540),new RSTile(2508,3551),new RSTile(2516,3561),new RSTile(2520,3569),new RSTile(2531,3571),new RSTile(2536,3573)};
  54. private RSTile [] toFish;
  55. private int animId;
  56. private int spawnID;
  57. private String action;
  58. private String status;
  59. private int failSafe;
  60. private int amntLTrout;
  61. private int amntLSalmon;
  62. private int amntLSturgeon;
  63. private int amntCaviar;
  64. private int[] GEPRICES = new int [4];
  65. private int bankerID;
  66. private double [] columns= {563,605,647,689};
  67. private double [] rows = {213,249,285,321,357,393,429};
  68. private boolean caviarMade = false;
  69.  
  70. //Other stuff
  71. private int safety = 0;
  72. private String version = "v1.00";
  73. CLeapGUI gui;
  74. private boolean guiWait = true;
  75. private boolean guiExit = true;
  76. public String type;
  77. private RSTile loc;
  78.  
  79.   public boolean onStart() {
  80.         //Credits to Zombieknight for this:-----------------
  81.       final int welcome = JOptionPane.showConfirmDialog(null,"Before using my script, would you like to thank me\nby clicking some adverts?","Welcome", JOptionPane.YES_NO_OPTION);
  82.           if (welcome == 0) {
  83.                 final String message = "<html>Thank you for your support!<br /></html>";
  84.                 JOptionPane.showMessageDialog(null, message);
  85.                 openURL("http://adf.ly/AgSn");
  86.                 }
  87.         //=------------------------------------------------------*/
  88.       gui = new CLeapGUI();
  89.       gui.setVisible(true);
  90.       while(guiWait)
  91.       {
  92.         sleep(100);
  93.       }
  94.       startTime = System.currentTimeMillis();
  95.       startTimeDbl = System.currentTimeMillis();
  96.       return !guiExit;
  97.     }
  98.   public boolean checkAnim()
  99.   {
  100.     for(int i = 0; i<4;i++){
  101.  
  102.     if(getMyPlayer().getAnimation()==animId||getMyPlayer().getAnimation()==animId-1||getMyPlayer().getAnimation()==animId+1)
  103.     { status = "Fishing.";
  104.     failSafe=0;
  105.       return true;
  106.     }
  107.     sleep(300);
  108.     }
  109.       failSafe++;
  110.       status = "Not fishing.";
  111.       return false;
  112.   }
  113.   public void fish()
  114.   {
  115.     RSNPC test = npcs.getNearest(spawnID);
  116.     if(test!=null)
  117.     {
  118.       RSTile spawn = test.getLocation();
  119.        if(calc.tileOnScreen(spawn))
  120.        {
  121.          status = "Clicking Spawn.";
  122.          mouse.move(calc.tileToScreen(spawn),3,3);
  123.          menu.doAction(action);
  124.        }
  125.       sleep(random(600,800));
  126.       while(players.getMyPlayer().isMoving())
  127.       {
  128.         status = "Moving to Spawn.";
  129.         sleep(random(100,200));
  130.       }
  131.       if(!checkAnim())
  132.       {status = "Didn't click spawn.";
  133.       failSafe++;
  134.       }
  135.     }
  136.     else
  137.     failSafe++;
  138.   }
  139.   public void setUp()
  140.   {
  141.     toFish = walking.reversePath(toBank);
  142.   animId=623;
  143.   spawnID = 2722;
  144.   action = "Use-rod Fishing spot";
  145.   amntLTrout = 0;
  146.   amntLSalmon = 0;
  147.   amntLSturgeon = 0;
  148.   amntCaviar = 0;
  149.   }
  150.   public void serverMessageRecieved(final ServerMessageEvent a){
  151.     final String serverString = a.getMessage();
  152.     if(serverString.toLowerCase().contains("you catch a leaping trout"))
  153.       amntLTrout++;
  154.     else if(serverString.toLowerCase().contains("you catch a leaping salmon"))
  155.       amntLSalmon++;
  156.     else if(serverString.toLowerCase().contains("you catch a leaping sturgeon"))
  157.       amntLSturgeon++;
  158.     else if(serverString.toLowerCase().contains("caviar"))
  159.       amntCaviar++;
  160.   }
  161.   public void bank(){
  162.    mouse.setSpeed(random(7,8));
  163.    boolean tryAgain = true;
  164.       while(inventory.isFull()){
  165.       tryAgain = true;
  166.       while(tryAgain) {
  167.       status = "Opening bank.";
  168.       RSObject [] test = objects.getAllAt(new RSTile(2537,3573));
  169.       RSObject bankBox = null;
  170.       for(int i = 0; i<test.length;i++)
  171.        if(test[i].getID()==20228)
  172.          bankBox = test[i];
  173.      RSModel m = bankBox.getModel();
  174.      Point p = m.getPoint();
  175.      mouse.move(p,1,1);
  176.      if(menu.doAction("Deposit Bank deposit box"))
  177.        tryAgain = false;
  178.       }
  179.      status = "Depositing.";
  180.      sleep(random(3000,4000));
  181.      if(type.equals("Bank Fish"))
  182.       bank.depositAllExcept(equipment2);
  183.       else
  184.       bank.depositAllExcept(equipment);
  185.       sleep(random(600,800));
  186.       mouse.move(random(427,440),random(36,47),0,0);
  187.       sleep(random(300,400));
  188.       mouse.click(true);
  189.       sleep(random(1000,2000));
  190.       }
  191.     }
  192.   public void door()
  193.    {
  194.      if(calc.tileToScreen(new RSTile(2521,3571)).x!=-1)
  195.    {
  196.      RSObject door = getDoor();
  197.      while(isDoorClosed()){
  198.        status = "Opening door.";
  199.        walking.walkTileMM(new RSTile(2521,3571),1,1);
  200.       RSModel m = door.getModel();
  201.       Point temp = m.getPoint();
  202.       mouse.move(temp,1,1);
  203.       if(menu.doAction("Open Barbarian Door"))
  204.       status = "Door opened.";
  205.       sleep(random(600,800));
  206.      }
  207.    }
  208.    }
  209.   public boolean isDoorClosed()
  210.   {
  211.      RSObject [] test = objects.getAllAt(new RSTile(2521,3571));
  212.      for(int i = 0; i<test.length;i++)
  213.      {
  214.        if(test[i].getID()==20195){
  215.        return true;
  216.        }
  217.      }
  218.      return false;
  219.   }
  220.   public RSObject getDoor(){
  221.       RSObject [] test = objects.getAllAt(new RSTile(2521,3571));
  222.      RSObject door = null;
  223.      for(int i = 0; i<test.length;i++)
  224.      {
  225.        if(test[i].getID()==20195){
  226.        door = test[i];
  227.        }
  228.      }
  229.      return door;
  230.   }
  231.   public void walkToBank()
  232.  {
  233.    status = "Walking to bank.";
  234.    camera.setPitch(true);
  235.    while(!atBank())
  236.    {
  237.    if(walking.getEnergy()> 40)
  238.    walking.setRun(true);
  239.    status = "Walking to bank..";
  240.    door();
  241.    walkPath(toBank);
  242.    sleep(random(1500,2000));
  243.    }
  244. }
  245.   public void walkToFish()
  246.  {
  247.    status = "Walking to fish.";
  248.    camera.setPitch(true);
  249.    while(!atFish())
  250.    {
  251.    if(walking.getEnergy()> 40)
  252.    walking.setRun(true);
  253.    status = "Walking to fish..";
  254.    door();
  255.    walkPath(toFish);
  256.    sleep(random(1500,2000));
  257.    }
  258. }
  259.   public boolean atBank(){
  260.   return players.getMyPlayer().getLocation().getX()<2537&&players.getMyPlayer().getLocation().getX()>2533&&players.getMyPlayer().getLocation().getY()<3575&&players.getMyPlayer().getLocation().getY()>3571;
  261.   }
  262.   public boolean atFish(){
  263.   return players.getMyPlayer().getLocation().getX()<2507&&players.getMyPlayer().getLocation().getY()<3519;
  264.   }
  265.   public int getGEValue(String name, int id){
  266.         try{
  267.                 String [] temp = name.split(" ");
  268.                 String newName = "";
  269.                 for(int i = 0; i<temp.length; i++)
  270.                         if(i==temp.length-1)
  271.                                 newName+=temp[i];
  272.                         else
  273.                                 newName+="_"+temp[i];
  274.                 URL url = new URL("http://services.runescape.com/m=itemdb_rs/"+newName+"/viewitem.ws?obj="+id);
  275.                 InputStream is = url.openStream();
  276.                 InputStreamReader isr = new InputStreamReader(is);
  277.                 BufferedReader br = new BufferedReader(isr);
  278.                 String line;
  279.                 String num = "";
  280.                 while((line=br.readLine())!=null){
  281.                         if(line.contains("Current guide price:"))
  282.                          num = line;
  283.                 }
  284.                 System.out.println(num);
  285.                 if(num.length()<29)
  286.                         return -1;
  287.                 else{
  288.                         num = num.substring(28);
  289.                         num = num.replaceAll(",", "");
  290.                         return Integer.parseInt(num);
  291.                 }
  292.  
  293.                 }catch(Exception e){
  294.                         return -1;
  295.                 }
  296.                 }
  297.   public void walkPath(RSTile [] path)
  298.     {
  299.       if(playerIsNear(path[path.length-2]))
  300.         walking.walkTileMM(path[path.length-1],1,1);
  301.       else{
  302.       int temp = 0;
  303.       boolean nearSomething = false;
  304.       for(int i = 0; i<path.length;i++)
  305.       {
  306.         if(playerIsNear(path[i]))
  307.         {
  308.         nearSomething = true;
  309.         temp = i+1;
  310.         antiBan(random(1,200));
  311.         for(int j = i; j<path.length; j++)
  312.         {
  313.           if(calc.tileToMinimap(path[j]).x==-1)
  314.           {
  315.             temp=j-1;
  316.             break;
  317.           }
  318.           if(j==path.length-1&&calc.tileToMinimap(path[j]).x!=-1)
  319.           {
  320.             temp=j;
  321.             break;
  322.           }
  323.         }
  324.         door();
  325.         walking.walkTileMM(path[temp],1,1);
  326.         }
  327.       }
  328.       if(!nearSomething){
  329.         door();
  330.         walking.walkTileMM(walking.nextTile(path),1,1);
  331.       }
  332.       }
  333.     }
  334.   public boolean playerIsNear(RSTile tile)
  335.     {
  336.       return (Math.abs(getMyPlayer().getLocation().getX()-tile.getX())<6&&Math.abs(getMyPlayer().getLocation().getY()-tile.getY())<6);
  337.     }
  338.   public int loop() {
  339.         try{
  340.         if(safety<1)
  341.         {
  342.           setUp();
  343.           GEPRICES[0]=getGEValue("Leaping trout",11328);
  344.           GEPRICES[0]=getGEValue("Leaping salmon",11330);
  345.           GEPRICES[0]=getGEValue("Leaping sturgeon",11332);
  346.           GEPRICES[3]=getGEValue("Caviar",11326);
  347.           camera.setPitch(true);
  348.           safety=1;
  349.         }
  350.           if(atBank()&&inventory.isFull()){
  351.             bank();
  352.             sleep(random(600,800));
  353.             walkToFish();
  354.           }
  355.           antiBan(random(1,50));
  356.           boolean full = inventory.isFull();
  357.           if(!full&&!checkAnim()&&!caviarMade&&atFish())
  358.             fish();
  359.           if(!inventory.contains(equipment[1]))
  360.           {
  361.             failSafe++;
  362.           }
  363.       if(failSafe>5)
  364.       {
  365.         camera.setPitch(false);
  366.         int angle = camera.getAngle();
  367.         if(angle<259)
  368.         camera.setAngle(camera.getAngle()+random(80,100));
  369.         else
  370.         camera.setAngle(random(0,10));
  371.         fish();
  372.         if(!status.equals("Fishing."))
  373.         {
  374.           if(failSafe>15)
  375.           walking.walkTo(new RSTile(2500,3515));
  376.           while(players.getMyPlayer().isMoving())
  377.             sleep(random(100,200));
  378.           fish();
  379.           if(failSafe>25)
  380.           {
  381.             if(!inventory.contains(equipment[1]))
  382.             {
  383.               log("Out of feathers, stopping script.");
  384.               game.logout(true);
  385.                   stopScript();
  386.             }
  387.           }
  388.         }
  389.         else
  390.         failSafe = 0;
  391.       }
  392.       if(caviarMade)
  393.       {
  394.         walkToBank();
  395.         caviarMade=false;
  396.       }
  397.       if(atBank()&&full)
  398.       {
  399.         bank();
  400.         sleep(random(600,800));
  401.         walkToFish();
  402.       }
  403.       if(!atBank()&&!atFish()&&full&&!type.equals("PowerFish"))
  404.       {
  405.         walkToBank();
  406.       }
  407.       if(inventory.isFull()){
  408.         if(caviarMade)
  409.           walkToBank();
  410.         else if(type.equals("PowerFish"))
  411.       dropAll(equipment2);
  412.       else if(type.equals("Bank Caviar")){
  413.         if((!inventory.contains(11330)&&!inventory.contains(11328))||dropAll(equipAndSturg)){
  414.           if((!inventory.contains(11330)&&!inventory.contains(11328))){
  415.             mouse.move((int)columns[random(0,3)]+random(10,20),(int)rows[random(1,5)]+random(10,20),3,3);
  416.             sleep(random(300,800));
  417.             menu.doAction("Drop");
  418.             sleep(random(300,800));
  419.           }
  420.         makeCaviar();
  421.         }
  422.       }
  423.       else if(type.equals("Bank Fish"))
  424.       {
  425.         walkToBank();
  426.       }
  427.       }
  428.         }
  429.     catch (Exception e){}
  430.     return random(300,500);
  431.   }
  432.   public void makeCaviar(){
  433.     status = "Making caviar.";
  434.     RSItem knife = null;
  435.     RSItem sturgeon = null;
  436.     RSItem [] inv = inventory.getItems();
  437.     for(int i = 0; i < inv.length;i++){
  438.       if(inv[i].getID()==946&&knife==null)
  439.         knife = inv[i];
  440.       if(inv[i].getID()==11332&&sturgeon==null)
  441.         sturgeon = inv[i];
  442.       if(knife!=null&&sturgeon!=null)
  443.         break;
  444.     }
  445.     inventory.useItem(knife,sturgeon);
  446.     sleep(random(1000,1500));
  447.     mouse.move(random(208,308),random(393,455),0,0);
  448.     mouse.click(true);
  449.     sleep(random(600,800));
  450.     animId = 6702;
  451.     while(checkAnim()){
  452.       sleep(random(100,200));
  453.       antiBan(random(1,300));
  454.     }
  455.     caviarMade = inventory.contains(11326);
  456.     animId= 623;
  457.   }
  458.   public boolean dropAll(int [] ids)
  459.    {
  460.      status = "Dropping.";
  461.      mouse.setSpeed(random(6,8));
  462.      if(ids.length==4){
  463.      int count = 0;
  464.      RSItem [] inv = inventory.getItems();
  465.      for(int i =0; i<inv.length;i++)
  466.        if(inv[i].getID()!=ids[0]&&inv[i].getID()!=ids[1]&&inv[i].getID()!=ids[2]&&inv[i].getID()!=ids[3])
  467.          count++;
  468.      RSItem [] toDrop = new RSItem [count-28];
  469.  
  470.      count = 0;
  471.      for(int i =0; i<inv.length;i++){
  472.        if(count==toDrop.length)
  473.          break;
  474.        if(inv[i].getID()!=ids[0]&&inv[i].getID()!=ids[1]&&inv[i].getID()!=ids[2]&&inv[i].getID()!=ids[3])
  475.        {toDrop[count] = inv[i];
  476.        count++;
  477.        }
  478.      }
  479.      int [] dropOrder = new int[toDrop.length];
  480.      int index = 0;
  481.      for(int j = 0; j<columns.length;j++)
  482.        for(int i =0; i<toDrop.length;i++)
  483.        {
  484.          if(toDrop[i].getComponent().getLocation().getX()==columns[j])
  485.          {
  486.            dropOrder[index]=i;
  487.            index++;
  488.          }
  489.        }
  490.      for(int i =0; i<toDrop.length;i++)
  491.      {
  492.        if(!toDrop[dropOrder[i]].doAction("Drop"))
  493.        {status = "Attempting to Destroy";
  494.          if(toDrop[dropOrder[i]].doAction("Destroy")){
  495.        sleep(random(1000,1500));
  496.        mouse.move(random(304,338),random(380,392),0,0);
  497.        sleep(random(600,800));
  498.        mouse.click(true);
  499.        sleep(random(600,800));
  500.        }
  501.        }
  502.      }
  503.      if(toDrop.length==1)
  504.   return true;
  505.   if(toDrop.length>1)
  506.      fish();
  507.    }
  508.    else if(ids.length==2){
  509.      int count = 0;
  510.      RSItem [] inv = inventory.getItems();
  511.      for(int i =0; i<inv.length;i++)
  512.        if(inv[i].getID()!=ids[0]&&inv[i].getID()!=ids[1])
  513.          count++;
  514.      RSItem [] toDrop = new RSItem [(count/2)-1];
  515.      count = 0;
  516.      for(int i =0; i<inv.length;i++){
  517.        if(count==toDrop.length)
  518.          break;
  519.        if(inv[i].getID()!=ids[0]&&inv[i].getID()!=ids[1])
  520.        {toDrop[count] = inv[i];
  521.        count++;
  522.        }
  523.      }
  524.      int [] dropOrder = new int[toDrop.length];
  525.      int index = 0;
  526.      for(int j = 0; j<columns.length;j++)
  527.        for(int i =0; i<toDrop.length;i++)
  528.        {
  529.          if(toDrop[i].getComponent().getLocation().getX()==columns[j])
  530.          {
  531.            dropOrder[index]=i;
  532.            index++;
  533.          }
  534.        }
  535.      for(int i =0; i<toDrop.length;i++)
  536.      {
  537.        if(!toDrop[dropOrder[i]].doAction("Drop"))
  538.        {status = "Attempting to Destroy";
  539.          if(toDrop[dropOrder[i]].doAction("Destroy")){
  540.        sleep(random(1000,1500));
  541.        mouse.move(random(304,338),random(380,392),0,0);
  542.        sleep(random(600,800));
  543.        mouse.click(true);
  544.        sleep(random(600,800));
  545.        }}
  546.      }
  547.      if(toDrop.length>1)
  548.      fish();
  549.    }
  550.    return false;
  551.    }
  552.   public void antiBan(int rand){
  553.   status += "(AB)";
  554.   mouse.setSpeed(random(7,8));
  555.   if(rand==1)
  556.       if(random(1, 4) == 2)
  557.             mouse.moveRandomly(900,1200);
  558.    if(rand==2)
  559.       if(random(1, 4) == 2)
  560.             mouse.moveRandomly(400,800);
  561.    if(rand==3)
  562.       if(random(1, 4) == 2)
  563.             mouse.moveRandomly(200,700);
  564.  
  565.    if(rand==4) //THIS CHECKS THE FISHING STAT
  566.       if(random(1, 12) == 2)
  567.         {
  568.             game.openTab(game.TAB_STATS);
  569.             sleep(random(600,800));
  570.             mouse.move(random(681, 690), random(269, 291),0,0);
  571.             sleep(random(900,1000));
  572.             game.openTab(game.TAB_INVENTORY);
  573.         }
  574.    if(rand==5) //THIS CLICKS THE XP BUTTON UNDER THE COMPASS
  575.        if(random(1, 12) == 2)
  576.        {
  577.          mouse.move(random(527, 540), random(58, 65),0,0);
  578.          sleep(random(800,1000));
  579.          mouse.click(true);
  580.          mouse.moveRandomly(20,50);
  581.          sleep(random(3000,4000));
  582.        }
  583.    if(rand==6) //THIS CHECKS CURRENT GOAL
  584.        if(random(1, 12) == 2)
  585.        {
  586.          game.openTab(8);
  587.          sleep(random(300,1000));
  588.          mouse.move(random(604, 630), random(394, 399),0,0);
  589.          sleep(random(3000,4000));
  590.        }
  591.        if(rand==7) //RANDOM SPIN
  592.        if(random(1, 3) == 2)
  593.        {int r = random(1,2);
  594.          camera.setAngle(random(1,359));
  595.          if(r!=1)
  596.         camera.setPitch(random(1,99));}
  597.  
  598.      if(rand==8) //THIS CHECKS A RANDOM TAB
  599.       if(random(1, 4) == 2)
  600.         {
  601.           int[] tabs = {0,2,3,5,6,7,9,10,11,12,13,14,15};
  602.             game.openTab(tabs[random(0,tabs.length-1)]);
  603.             mouse.moveRandomly(150,200);
  604.             sleep(random(1600,1800));
  605.             sleep(random(900,1000));
  606.  
  607.         }
  608.      if(rand==9)
  609.        if(random(1,10)==2)
  610.        mouse.moveOffScreen();
  611.      status=status.substring(0,status.indexOf('('));
  612.  
  613. }
  614.         public void openURL(final String url) { // Credits ZombieKnight
  615.     //who gave credits to Dave who gave credits
  616.     // to
  617.     // some guy who made this.
  618.     final String osName = System.getProperty("os.name");
  619.     try {
  620.       if (osName.startsWith("Mac OS")) {
  621.         final Class<?> fileMgr = Class
  622.             .forName("com.apple.eio.FileManager");
  623.         final Method openURL = fileMgr.getDeclaredMethod("openURL",new Class[]{String.class});
  624.         openURL.invoke(null, new Object[]{url});
  625.       } else if (osName.startsWith("Windows")) {
  626.         Runtime.getRuntime().exec(
  627.             "rundll32 url.dll,FileProtocolHandler " + url);
  628.       } else { // assume Unix or Linux
  629.         final String[] browsers = {"firefox", "opera", "konqueror",
  630.             "epiphany", "mozilla", "netscape"};
  631.         String browser = null;
  632.         for (int count = 0; count < browsers.length && browser == null; count++) {
  633.           if (Runtime.getRuntime().exec(
  634.               new String[]{"which", browsers[count]})
  635.               .waitFor() == 0) {
  636.             browser = browsers[count];
  637.           }
  638.         }
  639.         if (browser == null) {
  640.           throw new Exception("Could not find web browser");
  641.         } else {
  642.           Runtime.getRuntime().exec(new String[]{browser, url});
  643.         }
  644.       }
  645.     }catch(Exception e){};
  646.   }
  647.   public void mouseExited(MouseEvent e) {
  648.     }
  649.   public void mouseEntered(MouseEvent e) {
  650.     }
  651.   public void mouseReleased(MouseEvent e) {
  652.     }
  653.   public void mousePressed(MouseEvent e) {
  654.     }
  655.   public void mouseClicked(MouseEvent e) {
  656.     p = e.getPoint();
  657.         if(showPaint && p.getX()>447&&p.getX()<513&& p.getY()>458&&p.getY()<473)
  658.             showPaint = false;
  659.         else if(!showPaint && p.getX()>447&&p.getX()<513&& p.getY()>458&&p.getY()<473)
  660.             showPaint = true;
  661.         else if(showPaint && fancyPaint && p.getX()>397&&p.getX()<448&& p.getY()>458&&p.getY()<473)
  662.           fancyPaint = false;
  663.         else if(showPaint && !fancyPaint && p.getX()>397&&p.getX()<448&& p.getY()>458&&p.getY()<473)
  664.           fancyPaint = true;
  665.     }
  666.   public void onRepaint(Graphics g)
  667.     {
  668.      if(game.isLoggedIn())
  669.         {
  670.          try{
  671.           if(startExp==0)
  672.           {
  673.             startExp = skills.getCurrentExp(skills.getIndex("fishing"));
  674.             startLevelf = skills.getCurrentLevel(skills.getIndex("fishing"));
  675.             startLevela = skills.getCurrentLevel(skills.getIndex("agility"));
  676.             startLevels = skills.getCurrentLevel(skills.getIndex("strength"));
  677.           }
  678.            lvlsGainedf = skills.getCurrentLevel(skills.getIndex("fishing")) - startLevelf;
  679.            lvlsGaineda = skills.getCurrentLevel(skills.getIndex("agility")) - startLevela;
  680.            lvlsGaineds = skills.getCurrentLevel(skills.getIndex("strength")) - startLevels;
  681.            expGained =  skills.getCurrentExp(skills.getIndex("fishing")) - startExp;
  682.           long ms = System.currentTimeMillis() - startTime;
  683.           double ms2 = System.currentTimeMillis() - startTimeDbl;
  684.           long hours = ms/3600000;
  685.           ms = ms-(hours*3600000);
  686.           long minutes = ms/60000;
  687.           ms = ms-(minutes*60000);
  688.           long seconds =  ms/1000;
  689.  
  690.  
  691.     long expToLvl = skills.getExpToNextLevel(skills.getIndex("fishing"));
  692.     long time2Lvl = 0;
  693.     long time2LvlHrs = 0;
  694.     long time2LvlMins = 0;
  695.     long time2LvlSec = 0;
  696.     if(ms2!=0&&expGained!=0){
  697.     time2Lvl = (long)(expToLvl/(expGained/(ms2/3600000))*3600000);
  698.     time2LvlHrs = time2Lvl/3600000;
  699.     time2Lvl -= time2LvlHrs*3600000;
  700.     time2LvlMins = time2Lvl/60000;
  701.     time2Lvl -= time2LvlMins*60000;
  702.     time2LvlSec = time2Lvl/1000;
  703.     }
  704.            if(fancyPaint)
  705.            {
  706.           if(showPaint){
  707.               onRepaint2(g,true);
  708.  
  709.                 //Text Color and Output
  710.                 g.setColor(new Color(0,0,0,255));
  711.                 g.setFont(new Font("Comic Sans MS", Font.PLAIN, 12));
  712.                 g.drawString("  "+version,450,360);
  713.               g.setFont(new Font("Comic Sans MS", Font.PLAIN, 11));
  714.                 if(lvlsGaineds==0&&lvlsGaineda==0)
  715.                 g.drawString("Fishing levels Gained: "+lvlsGainedf,16,40);
  716.             else if(lvlsGaineds==0)
  717.             g.drawString("Levels Gained: "+lvlsGainedf+"f "+lvlsGaineda+"a",16,40);
  718.             else if(lvlsGaineda==0)
  719.             g.drawString("Levels Gained: "+lvlsGainedf+"f "+lvlsGaineds+"s",16,40);
  720.             else
  721.             g.drawString("Levels Gained: "+lvlsGainedf+"f "+lvlsGaineda+"a "+lvlsGaineds+"s",16,40);
  722.                 g.drawString("Fish Caught: "+(amntLTrout+amntLSalmon+amntLSturgeon),415,22);
  723.                 g.drawString("Fish Exp Gained: "+expGained,16,55);
  724.                 g.drawString("Time Running: "+hours+":"+minutes+":"+seconds,16,97);
  725.  
  726.             //Determine Length:
  727.             double difference = skills.XP_TABLE[skills.getCurrentLevel(skills.getIndex("fishing"))+1]-skills.XP_TABLE[skills.getCurrentLevel(skills.getIndex("fishing"))];
  728.             double barLength = ((difference-expToLvl)/difference)*512;
  729.  
  730.               //Progress Bar
  731.             g.setColor(new Color(255,0,0,255));
  732.                 g.fillRoundRect(4,320,512,18,8,8); //Bar background
  733.                 g.setColor(new Color(51,153,0,255)); //GREEN
  734.                 g.fillRoundRect(4,320,(int)barLength,18,4,4);
  735.                 g.setColor(new Color(0,0,0,255));
  736.                 int fishToLvl =0;
  737.                 if(amntLTrout+amntLSalmon+amntLSturgeon!=0)
  738.                 fishToLvl = (int)(expToLvl/(expGained/(amntLTrout+amntLSalmon+amntLSturgeon)));
  739.                 g.drawString(skills.getPercentToNextLevel(skills.getIndex("fishing"))+"% to: "+(skills.getCurrentLevel(skills.getIndex("fishing"))+1)+" ("+expToLvl+" exp / "+fishToLvl+" fish)",215,334);
  740.               g.setColor(new Color(255,255,255,100));
  741.               g.fillRoundRect(4,320,512,9,4,4);
  742.  
  743.  
  744.                 if(ms2!=0)
  745.             g.setColor(new Color(0,0,0,255));
  746.                 g.drawString("Fish Exp/Hr: "+(int)(expGained/(ms2/3600000)),16,69);
  747.                g.drawString("Status: "+status,11,22);
  748.  
  749.                if(type.equals("Bank Caviar"))
  750.                  {
  751.                  g.drawString("Profit: "+(amntCaviar*GEPRICES[3])+" ("+amntCaviar+" caviar)",149,22);
  752.                  if(ms2!=0)
  753.                    g.drawString("Profit/Hr: "+(int)((amntCaviar*GEPRICES[3])/(ms2/3600000)),293,22);
  754.                  }
  755.                else if(type.equals("Bank Fish"))
  756.                  {
  757.                  g.drawString("Profit: "+(amntLTrout*GEPRICES[0]+amntLSalmon*GEPRICES[1]+amntLSturgeon*GEPRICES[2]),149,22);
  758.                  if(ms2!=0)
  759.                    g.drawString("Profit/Hr: "+(int)((amntLTrout*GEPRICES[0]+amntLSalmon*GEPRICES[1]+amntLSturgeon*GEPRICES[2])/(ms2/3600000)),293,22);
  760.                  }
  761.                 g.drawString("Est. Time to Lvl: "+time2LvlHrs+":"+time2LvlMins+":"+time2LvlSec,16,83);
  762.                 //Mouse Stuff
  763.                    Point tempPoint = mouse.getLocation();
  764.                    int tempXCoordinate = (int)tempPoint.getX();
  765.                    int tempYCoordinate = (int)tempPoint.getY();
  766.                    g.setColor(new Color(51,153,0,255));
  767.                g.drawLine(tempXCoordinate,0,tempXCoordinate,501);
  768.                g.drawLine(0,tempYCoordinate,764,tempYCoordinate);
  769.                g.fillRect(tempXCoordinate-1,tempYCoordinate-1,3,3);
  770.     }
  771.     else
  772.     {
  773.     g.setColor(new Color(51,153,0,255));
  774.     g.fillRect(448,459,(512-448),(472-459));
  775.     g.setColor(new Color(0,0,0,255));
  776.     g.drawRect(448,459,(512-448),(472-459));
  777.     g.drawString("Hide/Show",450,470);
  778.     }
  779.  
  780.        }
  781.        else
  782.        {
  783.          if(showPaint){
  784.          onRepaint2(g,false);
  785.          //Background
  786.         g.setColor(new Color(0, 0, 0, 205));
  787.         g.fillRoundRect(333, 175, 181, 194, 6, 6); //Background
  788.          //Text Color and Output
  789.         g.setColor(new Color(255,0,0,255));
  790.         g.setFont(new Font("Comic Sans MS", Font.PLAIN, 12));
  791.         g.drawString("C's Leaping Fisher "+version,338,192);
  792.       g.setFont(new Font("Comic Sans MS", Font.PLAIN, 11));
  793.       if(lvlsGaineds==0&&lvlsGaineda==0)
  794.         g.drawString("Fishing levels Gained: "+lvlsGainedf,344,207);
  795.         else if(lvlsGaineds==0)
  796.         g.drawString("Levels Gained: "+lvlsGainedf+"f "+lvlsGaineda+"a",344,207);
  797.         else if(lvlsGaineda==0)
  798.         g.drawString("Levels Gained: "+lvlsGainedf+"f "+lvlsGaineds+"s",344,207);
  799.         else
  800.         g.drawString("Levels Gained: "+lvlsGainedf+"f "+lvlsGaineda+"a "+lvlsGaineds+"s",344,207);
  801.         g.drawString("Fish Caught: "+(amntLTrout+amntLSalmon+amntLSturgeon),344,222);
  802.         g.drawString("Fish Exp Gained: "+expGained,344,237);
  803.         g.drawString("Time Running: "+hours+":"+minutes+":"+seconds,344, 252);
  804.  
  805.         //Progress Bar
  806.         g.fillRoundRect(344,256,150,20,8,8); //Bar background
  807.         g.setColor(new Color(0,255,0,255)); //GREEN
  808.         g.fillRoundRect(344,256,(int)(skills.getPercentToNextLevel(skills.getIndex("fishing"))*1.5),20,8,8);
  809.         g.setColor(new Color(0,0,0,255));
  810.         g.setColor(new Color(255,255,255,100));
  811.         g.drawString(skills.getPercentToNextLevel(skills.getIndex("fishing"))+"% to: "+(skills.getCurrentLevel(skills.getIndex("fishing"))+1)+" ("+expToLvl+" exp)",348,271);
  812.       g.fillRoundRect(345,266,148,10,8,8);
  813.       g.setColor(new Color(0,0,0,255));
  814.         g.drawString(skills.getPercentToNextLevel(skills.getIndex("fishing"))+"% to: "+(skills.getCurrentLevel(skills.getIndex("fishing"))+1)+" ("+expToLvl+" exp)",347,270);
  815.         g.setColor(new Color(255,0,0,255));
  816.         if(ms2!=0)
  817.          g.drawString("Fish Exp/Hr: "+(int)(expGained/(ms2/3600000)),344,289);
  818.        g.drawString("Status: "+status,344,304);
  819.       if(expGained!=0&&amntLTrout+amntLSalmon+amntLSturgeon!=0)
  820.       g.drawString("Fish to Lvl: "+(int)(expToLvl/(expGained/(amntLTrout+amntLSalmon+amntLSturgeon))),344,319);
  821.       g.drawString("Est. Time to Lvl: "+time2LvlHrs+":"+time2LvlMins+":"+time2LvlSec,344,334);
  822.       g.drawString("Profit: "+(amntCaviar*GEPRICES[3])+" ("+amntCaviar+" caviar)",344,349);
  823.       if(ms2!=0)
  824.       g.drawString("Profit/Hr: "+(int)((amntCaviar*GEPRICES[3])/(ms2/3600000)),344,364);
  825.        //Mouse Stuff
  826.         Point tempPoint = mouse.getLocation();
  827.         int tempXCoordinate = (int)tempPoint.getX();
  828.         int tempYCoordinate = (int)tempPoint.getY();
  829.         g.setColor(new Color(0,255,0,100));
  830.         g.drawLine(tempXCoordinate,0,tempXCoordinate,501);
  831.         g.drawLine(0,tempYCoordinate,764,tempYCoordinate);
  832.  
  833.          }
  834.          else
  835.          {
  836.          g.setColor(new Color(51,153,0,255));
  837.     g.fillRect(448,459,(512-448),(472-459));
  838.     g.setColor(new Color(0,0,0,255));
  839.     g.drawRect(448,459,(512-448),(472-459));
  840.     g.drawString("Hide/Show",450,470);
  841.          }
  842.        }
  843.        }catch (Exception e){};
  844.     }
  845.     }
  846.   private Image getImage(String url) {
  847.         try {
  848.             return ImageIO.read(new URL(url));
  849.         } catch(IOException e) {
  850.             return null;
  851.         }
  852.     }
  853.   private final Color color1 = new Color(1, 1, 1);
  854.   private final Font font1 = new Font("Arial", 0, 12);
  855.   public void onRepaint2(Graphics g1 , boolean fancy) {
  856.         Graphics2D g = (Graphics2D)g1;
  857.         if(fancy){
  858.         g.drawImage(img2, 5, 6, null);
  859.         g.drawImage(img4, 5, 29, null);
  860.         }
  861.         g.setColor(new Color(51,153,0,255));
  862.     g.fillRect(448,459,(512-448),(472-459));
  863.     g.fillRect(398,459,(448-398),(472-459));
  864.     g.setColor(new Color(0,0,0,255));
  865.     g.drawRect(448,459,(512-448),(472-459));
  866.     g.drawRect(398,459,(448-398),(472-459));
  867.     g.drawString("Hide/Show",450,470);
  868.     if(fancy)
  869.     g.drawString("Simple",405,470);
  870.     else
  871.     g.drawString("Adv.",415,470);
  872.     }
  873.   public void onFinish() {
  874.         log("Exp gained: "+expGained);
  875.         log("Fishing levels gained: "+lvlsGainedf);
  876.         log("Agility levels gained: "+lvlsGaineda);
  877.         log("Strength levels gained: "+lvlsGaineds);
  878.         log("Thanks for using Conderoga's Leaping Fisher!");
  879.       env.saveScreenshot(true);
  880.     }
  881.   public class CLeapGUI extends JFrame {
  882.        private static final long serialVersionUID = 1L;
  883.         public CLeapGUI()
  884.           {
  885.           initComponents();
  886.          }
  887.  
  888.         private void button2ActionPerformed(ActionEvent e)
  889.           {
  890.           guiWait = false;
  891.            guiExit = true;
  892.            dispose();
  893.           }
  894.  
  895.         private void button1ActionPerformed(ActionEvent e)
  896.           {
  897.           type = comboBox1.getSelectedItem().toString();
  898.           guiExit = false;
  899.           guiWait = false;
  900.           dispose();
  901.           }
  902.  
  903.         private void initComponents() {
  904.         label1 = new JLabel();
  905.         label2 = new JLabel();
  906.         label3 = new JLabel();
  907.         button1 = new JButton();
  908.         button2 = new JButton();
  909.     comboBox1 = new JComboBox();
  910.  
  911.     setTitle("Conderoga's Leaping Fisher");
  912.     setResizable(false);
  913.     setDefaultCloseOperation(WindowConstants.DISPOSE_ON_CLOSE);
  914.     Container contentPane = getContentPane();
  915.     contentPane.setLayout(null);
  916.  
  917.     //---- label1 ----
  918.     label1.setText("Conderoga's Leaping Fisher Settings");
  919.     label1.setFont(new Font("Comic Sans MS", Font.PLAIN, 16));
  920.     contentPane.add(label1);
  921.     label1.setBounds(10, -10, 380, 70);
  922.  
  923.      //---- label2 ----
  924.     label2.setText("Select the Action: ");
  925.     contentPane.add(label2);
  926.     label2.setBounds(new Rectangle(new Point(15, 50), label2.getPreferredSize()));
  927.  
  928.     //---- comboBox1 ----
  929.     comboBox1.setMaximumRowCount(3);
  930.     comboBox1.setModel(new DefaultComboBoxModel(new String[] {
  931.       "Bank Caviar",
  932.       "Bank Fish",
  933.       "PowerFish"
  934.  
  935.  
  936.     }));
  937.     contentPane.add(comboBox1);
  938.     comboBox1.setBounds(175, 45, 125, 25);
  939.     //---- label3 ----
  940.     label3.setText(version);
  941.     contentPane.add(label3);
  942.     label3.setBounds(15, 80, 124, label3.getPreferredSize().height);
  943.  
  944.     //---- button1 ----
  945.     button1.setText("Start!");
  946.     button1.addActionListener(new ActionListener() {
  947.       public void actionPerformed(ActionEvent e) {
  948.         button1ActionPerformed(e);
  949.       }
  950.     });
  951.     contentPane.add(button1);
  952.     button1.setBounds(40, 115, 75, 30);
  953.  
  954.     //---- button2 ----
  955.     button2.setText("Exit");
  956.     button2.addActionListener(new ActionListener() {
  957.       public void actionPerformed(ActionEvent e) {
  958.         button2ActionPerformed(e);
  959.       }
  960.     });
  961.     contentPane.add(button2);
  962.     button2.setBounds(200, 115, 75, 30);
  963.  
  964.     { // compute preferred size
  965.       Dimension preferredSize = new Dimension();
  966.       for(int i = 0; i < contentPane.getComponentCount(); i++)
  967.         {
  968.         Rectangle bounds = contentPane.getComponent(i).getBounds();
  969.         preferredSize.width = Math.max(bounds.x + bounds.width, preferredSize.width);
  970.         preferredSize.height = Math.max(bounds.y + bounds.height, preferredSize.height);
  971.         }
  972.       Insets insets = contentPane.getInsets();
  973.       preferredSize.width += insets.right;
  974.       preferredSize.height += insets.bottom;
  975.       contentPane.setMinimumSize(preferredSize);
  976.       contentPane.setPreferredSize(preferredSize);
  977.     }
  978.     setSize(325, 190);
  979.     setLocationRelativeTo(getOwner());
  980.   }
  981.   private JLabel label1;
  982.   private JLabel label2;
  983.   private JComboBox comboBox1;
  984.   private JLabel label3;
  985.   private JButton button1;
  986.   private JButton button2;
  987. }
  988. }
RAW Paste Data
We use cookies for various purposes including analytics. By continuing to use Pastebin, you agree to our use of cookies as described in the Cookies Policy. OK, I Understand
Not a member of Pastebin yet?
Sign Up, it unlocks many cool features!
 
Top