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

Untitled

By: a guest on Apr 15th, 2012  |  syntax: None  |  size: 7.03 KB  |  hits: 11  |  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. package tctm;
  2.  
  3. import com.kbotpro.scriptsystem.events.PaintEventListener;
  4. import com.kbotpro.scriptsystem.events.ServerMessageListener;
  5. import com.kbotpro.scriptsystem.fetch.Game;
  6. import com.kbotpro.scriptsystem.interfaces.Looped;
  7. import com.kbotpro.scriptsystem.runnable.Script;
  8. import com.kbotpro.scriptsystem.wrappers.PhysicalObject;
  9. import com.kbotpro.scriptsystem.wrappers.Tile;
  10.  
  11. import java.awt.*;
  12. import java.awt.Point;
  13.  
  14. public class TCTM extends Script implements PaintEventListener, ServerMessageListener {
  15. //the PaintEventListener is to add a custom paint
  16. //the ServerMessageListener is to get the string from the runescape log windows
  17. Point p = mouse.getMousePos();
  18. private final int BANKER_ID = 6200; //an example of an variable, well in this case its a constant ('final') wich means the value cannot be changed anymore
  19. long startTime;
  20. int Mined = 0;
  21. int TLoad = 0;
  22. int TFull = 0;
  23. int origEXP = 0;
  24. private final int CART_ID = 2114;
  25. private final int LOG_ID = 2296;
  26. private final int[] COAL_ROCK_IDS = {14850, 14851};
  27. private final int COAL_ORE_ID = 453;
  28. Tile LogMine = new Tile(2598, 3477);
  29. Tile LogBank = new Tile(2603, 3477);
  30. Tile Bank = new Tile(2725, 3491);
  31. Tile BankCart = new Tile(2695, 3504);
  32. Tile MineCart = new Tile(2575, 3487);
  33. public boolean shouldKill = false;
  34.  
  35. Tile[] bankToCarts = new Tile[]{new Tile(2726,3490), new Tile(2723,3486), new Tile(2720,3490), new Tile(2718,3495), new Tile(2714,3498), new Tile(2709,3499), new Tile(2704,3502), new Tile(2699,3501), new Tile(2694,3501), new Tile(2689,3501), new Tile(2694,3503), };
  36. Tile[] cartsToBank = new Tile[]{new Tile(2696,3503), new Tile(2691,3503), new Tile(2696,3501), new Tile(2701,3501), new Tile(2706,3501), new Tile(2711,3500), new Tile(2715,3496), new Tile(2719,3492), new Tile(2722,3487), new Tile(2725,3491), };
  37. Tile[] logToCoal = new Tile[]{new Tile(2598,3477), new Tile(2593,3479), new Tile(2589,3483), new Tile(2584,3485), new Tile(2579,3487), };
  38. Tile[] coalToLog = new Tile[]{new Tile(2575,3487), new Tile(2580,3486), new Tile(2583,3482), new Tile(2587,3479), new Tile(2592,3477), new Tile(2597,3477), };
  39. Tile[] logToBank = new Tile[]{new Tile(2603,3477), new Tile(2607,3473), new Tile(2612,3472), new Tile(2616,3469), new Tile(2620,3465), new Tile(2625,3463), new Tile(2629,3459), new Tile(2634,3457), new Tile(2638,3460), new Tile(2643,3461), new Tile(2648,3460), new Tile(2653,3460), new Tile(2657,3456), new Tile(2663,3459), new Tile(2666,3463), new Tile(2671,3464), new Tile(2676,3467), new Tile(2680,3471), new Tile(2680,3476), new Tile(2681,3481), new Tile(2686,3482), new Tile(2691,3482), new Tile(2696,3483), new Tile(2701,3483), new Tile(2706,3483), new Tile(2711,3483), new Tile(2716,3483), new Tile(2721,3484), new Tile(2725,3487), new Tile(2726,3492), };
  40. Tile[] bankToLog = new Tile[]{new Tile(2727,3493), new Tile(2726,3488), new Tile(2721,3486), new Tile(2716,3486), new Tile(2711,3486), new Tile(2706,3486), new Tile(2701,3485), new Tile(2696,3485), new Tile(2691,3485), new Tile(2686,3484), new Tile(2681,3481), new Tile(2679,3476), new Tile(2680,3471), new Tile(2676,3468), new Tile(2673,3464), new Tile(2673,3459), new Tile(2669,3455), new Tile(2664,3457), new Tile(2661,3462), new Tile(2656,3463), new Tile(2651,3465), new Tile(2649,3460), new Tile(2644,3458), new Tile(2639,3457), new Tile(2634,3457), new Tile(2629,3459), new Tile(2625,3462), new Tile(2620,3465), new Tile(2615,3467), new Tile(2610,3469), new Tile(2606,3473), new Tile(2603,3477), };
  41.  
  42.     public void onStart() {
  43.         startTime = System.currentTimeMillis();
  44.         log.log("Script started, you fucking fatty.");
  45.     }
  46.  
  47.     public String getName() {
  48.         return "Thermal's Coal Truck Mining Script";
  49.     }
  50.  
  51.     public void stop() {
  52.         shouldKill = true;
  53.         log.log("Please wait while the bot is murdered. :)");
  54.     }
  55.  
  56.     public void onRepaint(Graphics g) {
  57.         if(isLoggedIn()) {
  58.  
  59.             long runTime = System.currentTimeMillis() - startTime;
  60.  
  61.             int secs = ((int) ((runTime / 1000) % 60));
  62.             int mins = ((int) (((runTime / 1000) / 60) % 60));
  63.             int hours = ((int) ((((runTime / 1000) / 60) / 60) % 60));
  64.  
  65.             g.setColor(new Color(0, 0, 0, 180));
  66.             g.fillRect(25, 25, 206, 85);
  67.             g.setColor(Color.cyan);
  68.             g.drawString("Coal Trucks Mining Script by Thermal9001", 30, 40);
  69.             g.drawString("Run time: " + (hours < 10 ? "0" : "") + hours + ":"
  70.                 + (mins < 10 ? "0" : "") + mins + ":" + (secs < 10 ? "0" : "")
  71.                 + secs, 34, 56);
  72.             g.drawString("Current Level: " +(skills.getLevel(skills.SKILL_MINING)) , 34, 72);
  73.             g.drawString("Experience gained: " + (skills.getExperience(skills.SKILL_MINING) - origEXP), 34, 88);
  74.             g.drawString("No. coal mined: " + (Mined), 34, 104);
  75.             g.drawString("No. Coal Trucks: " + (TLoad), 34, 120);
  76.  
  77.             g.drawLine(p.x-10, p.y, p.x+10, p.y); // Draw lines @ mouse pos
  78.         }
  79.     }
  80.  
  81.     public void onServerMessage(String m) {
  82.         if(m.contains("truck is full")) {
  83.             TFull = 1;
  84.         }
  85.  
  86.         if(m.contains("coal in the truck")) {
  87.             TLoad++;
  88.         }
  89.  
  90.         if(m.contains("some coal")) {
  91.             Mined++;
  92.         }
  93.     }
  94.  
  95.     public void registerWorkers() { //a script has several loops that run together, you can choose how many workers your script has (you can have one as well)
  96.  
  97.         createWorker(new Looped() { //this creates a new worker 'loop'
  98.             public int loop() {
  99.                 if(shouldKill) {
  100.                     log.log("Killed the brains. (thinker)");
  101.                     return -1;
  102.                 }
  103.                 if(!inventory.isOpen()){
  104.                     //stuff here if inventory is not open
  105.                     game.openTab(Game.TAB_INVENTORY);
  106.                     return random(1000,3000);
  107.                 }
  108.  
  109.                 if(origEXP == 0)  {
  110.                     origEXP = skills.getExperience(skills.SKILL_MINING);
  111.                 }
  112.  
  113.                 return random(1000,3000);  //stop the loop and start again in 10 seconds
  114.             }
  115.         });
  116.  
  117.         createWorker(new Looped() {
  118.             public int loop() {
  119.                 if(shouldKill) {
  120.                     log.log("Killed the arms. (worker)");
  121.                     return -1;
  122.                 }
  123.                 if(!inventory.isFull()) {
  124.                     inventory.dropAllExcept(COAL_ORE_ID);
  125.                     PhysicalObject rock = objects.getClosestObject(10, COAL_ROCK_IDS);
  126.                     if(getMyPlayer().getAnimation() == -1 && rock != null) {
  127.                         rock.doAction("Mine");
  128.                     }
  129.                 } else {
  130.                     walking.walkToMM(MineCart);
  131.                     inventory.atItem(COAL_ORE_ID, "Use");
  132.                     PhysicalObject coaltruck = objects.getClosestObject(15, CART_ID);
  133.                     if(coaltruck != null) {
  134.                         coaltruck.doAction("Use");
  135.                     }
  136.                 }
  137.             return 500;
  138.             }
  139.         });
  140.     }
  141. }