- package tctm;
- import com.kbotpro.scriptsystem.events.PaintEventListener;
- import com.kbotpro.scriptsystem.events.ServerMessageListener;
- import com.kbotpro.scriptsystem.fetch.Game;
- import com.kbotpro.scriptsystem.interfaces.Looped;
- import com.kbotpro.scriptsystem.runnable.Script;
- import com.kbotpro.scriptsystem.wrappers.PhysicalObject;
- import com.kbotpro.scriptsystem.wrappers.Tile;
- import java.awt.*;
- import java.awt.Point;
- public class TCTM extends Script implements PaintEventListener, ServerMessageListener {
- //the PaintEventListener is to add a custom paint
- //the ServerMessageListener is to get the string from the runescape log windows
- Point p = mouse.getMousePos();
- 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
- long startTime;
- int Mined = 0;
- int TLoad = 0;
- int TFull = 0;
- int origEXP = 0;
- private final int CART_ID = 2114;
- private final int LOG_ID = 2296;
- private final int[] COAL_ROCK_IDS = {14850, 14851};
- private final int COAL_ORE_ID = 453;
- Tile LogMine = new Tile(2598, 3477);
- Tile LogBank = new Tile(2603, 3477);
- Tile Bank = new Tile(2725, 3491);
- Tile BankCart = new Tile(2695, 3504);
- Tile MineCart = new Tile(2575, 3487);
- public boolean shouldKill = false;
- 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), };
- 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), };
- Tile[] logToCoal = new Tile[]{new Tile(2598,3477), new Tile(2593,3479), new Tile(2589,3483), new Tile(2584,3485), new Tile(2579,3487), };
- 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), };
- 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), };
- 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), };
- public void onStart() {
- startTime = System.currentTimeMillis();
- log.log("Script started, you fucking fatty.");
- }
- public String getName() {
- return "Thermal's Coal Truck Mining Script";
- }
- public void stop() {
- shouldKill = true;
- log.log("Please wait while the bot is murdered. :)");
- }
- public void onRepaint(Graphics g) {
- if(isLoggedIn()) {
- long runTime = System.currentTimeMillis() - startTime;
- int secs = ((int) ((runTime / 1000) % 60));
- int mins = ((int) (((runTime / 1000) / 60) % 60));
- int hours = ((int) ((((runTime / 1000) / 60) / 60) % 60));
- g.setColor(new Color(0, 0, 0, 180));
- g.fillRect(25, 25, 206, 85);
- g.setColor(Color.cyan);
- g.drawString("Coal Trucks Mining Script by Thermal9001", 30, 40);
- g.drawString("Run time: " + (hours < 10 ? "0" : "") + hours + ":"
- + (mins < 10 ? "0" : "") + mins + ":" + (secs < 10 ? "0" : "")
- + secs, 34, 56);
- g.drawString("Current Level: " +(skills.getLevel(skills.SKILL_MINING)) , 34, 72);
- g.drawString("Experience gained: " + (skills.getExperience(skills.SKILL_MINING) - origEXP), 34, 88);
- g.drawString("No. coal mined: " + (Mined), 34, 104);
- g.drawString("No. Coal Trucks: " + (TLoad), 34, 120);
- g.drawLine(p.x-10, p.y, p.x+10, p.y); // Draw lines @ mouse pos
- }
- }
- public void onServerMessage(String m) {
- if(m.contains("truck is full")) {
- TFull = 1;
- }
- if(m.contains("coal in the truck")) {
- TLoad++;
- }
- if(m.contains("some coal")) {
- Mined++;
- }
- }
- 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)
- createWorker(new Looped() { //this creates a new worker 'loop'
- public int loop() {
- if(shouldKill) {
- log.log("Killed the brains. (thinker)");
- return -1;
- }
- if(!inventory.isOpen()){
- //stuff here if inventory is not open
- game.openTab(Game.TAB_INVENTORY);
- return random(1000,3000);
- }
- if(origEXP == 0) {
- origEXP = skills.getExperience(skills.SKILL_MINING);
- }
- return random(1000,3000); //stop the loop and start again in 10 seconds
- }
- });
- createWorker(new Looped() {
- public int loop() {
- if(shouldKill) {
- log.log("Killed the arms. (worker)");
- return -1;
- }
- if(!inventory.isFull()) {
- inventory.dropAllExcept(COAL_ORE_ID);
- PhysicalObject rock = objects.getClosestObject(10, COAL_ROCK_IDS);
- if(getMyPlayer().getAnimation() == -1 && rock != null) {
- rock.doAction("Mine");
- }
- } else {
- walking.walkToMM(MineCart);
- inventory.atItem(COAL_ORE_ID, "Use");
- PhysicalObject coaltruck = objects.getClosestObject(15, CART_ID);
- if(coaltruck != null) {
- coaltruck.doAction("Use");
- }
- }
- return 500;
- }
- });
- }
- }