TheTechGuide Forum

General Category => Frag Fest => General Discussion => Topic started by: Mr K on December 10, 2008, 01:20:26 AM

Title: Need something...
Post by: Mr K on December 10, 2008, 01:20:26 AM
I need 1 of 2 things. 1. Either a good FREE autofighter that can heal itself on Monks, or one that can just eat food at a certain HP level, and log out when it runs out and gets low. Or 2. an auto-woodcutter that banks everything.

Both need anti-random capabilities too.. Thanks.

P.S.: I can't seem to find one free that actually works.
Title: Need something...
Post by: Yded on December 10, 2008, 06:23:04 PM
use scar with scar scripts?
Title: Need something...
Post by: b3auman on December 11, 2008, 02:38:22 PM
Does anyone make a script like that though? I too am looking for something along those lines.
Title: Need something...
Post by: Descrete on December 11, 2008, 02:52:15 PM
here u go buddy, if it dosent work in scar pm me and ill give u more info on a dif autoer u can use that comes with 75-117 scripts

import com.speljohan.rsbot.script.Script;
import com.speljohan.rsbot.script.Skills;
import com.speljohan.rsbot.script.wrappers.*;
import com.speljohan.rsbot.event.listeners.PaintListener;
import com.speljohan.rsbot.bot.*;
import java.awt.*;

public class MonkMasher2 extends Script implements PaintListener{

    /* Variable declaration */
    int State; //State var
    int fightStyle; //var from args
    int antiBanned, walkbacked, lost, hometeled, fled; //counters
    int currentPlane; //environment variables
    int maxHP, startXP; //player stat
    int runInt = random(1, 100);
    int XPThing = 0;
    double monksKilled;

    int attack = Skills.getStatIndex("Attack");
    int strength = Skills.getStatIndex("Strength");
    int defence = Skills.getStatIndex("Defence");
    int hitpoints = Skills.getStatIndex("Hitpoints");
    int startAtkXp = skills.getCurrentSkillExp(attack);
    int startStrXp = skills.getCurrentSkillExp(strength);
    int startDefXp = skills.getCurrentSkillExp(defence);
    int startHPXp = skills.getCurrentSkillExp(hitpoints);
    int startAtkLvl = skills.getCurrentSkillLevel(attack);
    int startStrLvl = skills.getCurrentSkillLevel(strength);
    int startDefLvl = skills.getCurrentSkillLevel(defence);

    boolean heal; //healing related vars
    boolean globalDebug = true; //Gloabal settings
    boolean timeDebug = true;

    long startTime;

    Graphics repaint;

    RSNPC temp;

    //Deathwalk Tiles
    public static final RSTile[] walkback1 = new RSTile[] {
        new RSTile(3234, 3219), new RSTile(3228, 3232),
        new RSTile(3222, 3246), new RSTile(3217, 3260),
        new RSTile(3216, 3273), new RSTile(3203, 3279),
        new RSTile(3189, 3287), new RSTile(3189, 3300),
        new RSTile(3176, 3310), new RSTile(3160, 3310),
        new RSTile(3149, 3318), new RSTile(3145, 3329),
        new RSTile(3144, 3343), new RSTile(3141, 3356),
        new RSTile(3137, 3369), new RSTile(3129, 3382),
        new RSTile(3127, 3383), new RSTile(3112, 3390),
        new RSTile(3103, 3400), new RSTile(3089, 3400),
        new RSTile(3080, 3408), new RSTile(3070, 3419),
        new RSTile(3066, 3433), new RSTile(3056, 3441),
        new RSTile(3051, 3454), new RSTile(3052, 3466),
        new RSTile(3052, 3481), new RSTile(3051, 3489)};

    public static final RSTile[] walkback2 = new RSTile[]{
        new RSTile(3233, 3218), new RSTile(3230, 3231),
        new RSTile(3222, 3239), new RSTile(3218, 3253),
        new RSTile(3216, 3263), new RSTile(3216, 3276),
        new RSTile(3203, 3279), new RSTile(3190, 3283),
        new RSTile(3176, 3284), new RSTile(3161, 3286),
        new RSTile(3149, 3295), new RSTile(3134, 3296),
        new RSTile(3125, 3305), new RSTile(3124, 3317),
        new RSTile(3132, 3328), new RSTile(3135, 3340),
        new RSTile(3136, 3352), new RSTile(3137, 3365),
        new RSTile(3133, 3377), new RSTile(3122, 3384),
        new RSTile(3110, 3391), new RSTile(3102, 3400),
        new RSTile(3089, 3399), new RSTile(3076, 3401),
        new RSTile(3069, 3414), new RSTile(3067, 3428),
        new RSTile(3064, 3439), new RSTile(3053, 3447),
        new RSTile(3045, 3458), new RSTile(3052, 3470),
        new RSTile(3052, 3476), new RSTile(3052, 3476)};

    public RSTilePath toAbby = new RSTilePath(randomizePath(walkback1, 2, 3), this);
    /* END Variable declaration */


    /* Script and argument setup. */
    public double getVersion() {
        return(2.10);
    }

    public String getName() {
        return("Monk Masher v.2!");
    }

    public String getAuthor( ) {
        return("Ruroken");
    }

    public String getScriptCategory() {
        return("Fighting - By Ruroken");
    }

    public String getScriptDescription() {
        String html = "";

        html += "<html>\n";
        html += "<body>\n";
        html += "<h2>" + getName() + " v" + getVersion() + "</h2><br>\n";
        html += "Author: " + getAuthor() + "<br><br>\n";
        html += "Description: Fights monks, heals at the abbot, if lost will tele to lumby and walkback, if dead will deathwalk.";
        html += "<br>";
        html += "Please enter an attack style. 0 = atk. 1 = str. 2 = def. 3 = shared xp.";
        html += "<br>";
        html += "<br>";
        html += "Arguments:<input type=\"text\" name=\"args\">";;
        html += "</body>\n";
        html += "</html\n";

        return(html);
    }

    public boolean onStart(String[] args) {
        Bot.getEventManager().addListener(PaintListener.class, this);
        startTime = System.currentTimeMillis();
        fightStyle = Integer.parseInt(args[0]);
        if (fightStyle < 0 || fightStyle > 4 || args[0] == null){
            log("Please enter a CORRECT argument below.");
            log("0 = atk. 1 = str. 2 = def. 3 = mixed XP.");
        }
        State = 0;
        return(true);
    }

    public void onFinish() {
        Bot.getEventManager( ).removeListener(PaintListener.class, this);
    }
    /* END script and argument setup. */

    public int loop(){
    try
    {
        switch (State)
        {
            case 0: //The first time setup. Will set all the vars and settings to default.
                setCameraAltitude(true);
                ruroSetRun(true, globalDebug);
                enableRetaliate(true, globalDebug);
                setFightMode(fightStyle);
                maxHP = skills.getLvlByExp(skills.getCurrentSkillExp(hitpoints));
                monksKilled = 0;
                antiBanned = 0;
                walkbacked = 0;
                hometeled = 0;
                lost = 0;
                heal = false;
                State++;
                if (globalDebug) log("Finished the setup.");
                return random(100, 200);
            case 1: //Run this after every loop. Will tell the script where to go next.
                maxHP = skills.getLvlByExp(skills.getCurrentSkillExp(hitpoints));
                if ((skills.getCurrentSkillLevel(hitpoints) >= maxHP)) heal = false;
                if (heal(false)) heal = true;
                currentPlane = getPlane();
                runInt = random(1, 100);
                //if (globalDebug) progressReport();
                if (findCombatRandoms()){
                    ruroSetRun(true, globalDebug);
                       flee();
                   }
                temp = getNearestFreeNPCByName("Monk");
                if (random(1, 100) +- 5 == 5 || (temp == null && inMonkArea())){
                    State = 6;
                    if (globalDebug) log("STATE = "+State);
                    return random(100, 200);
                }
                if (inMonkArea() && !heal){
                    State = 2; //Fight monks
                    if (globalDebug) log("STATE = "+State);
                    return random(100, 200);
                }
                if (heal && !getMyPlayer().isInCombat() && !getMyPlayer().isMoving() &&
                        getMyPlayer().getAnimation() != 0 && inMonkArea()){
                    State = 3; //Heal @ Abbot
                    if (globalDebug) log("STATE = "+State);
                    return random(500, 1000);
                }
                if (inLumby()){
                    State = 4; //Deathwalk
                    if (globalDebug) log("STATE = "+State);
                    return random(500, 1000);
                }
                if (!inMonkArea() && !inLumby() || currentPlane != 0){
                    State = 5; //Lost + Tele
                    if (globalDebug) log("STATE = "+State);
                    return random(500, 1000);
                }
                //if (globalDebug) log("State = "+State);
                if (globalDebug) log("Couldnt pick a state!");
                return random(100, 200);
            case 2: //Fight the Monks
                if (runInt+-random(20, 30) == getEnergy() && !isRunning() || getEnergy() == 100) ruroSetRun(true, globalDebug);
                attackMonk();
                State = 1;
                return random(0, 500);
            case 3: //Heal if needed
                ruroSetRun(true, globalDebug);
                talkToAbbot(globalDebug);
                State = 1;
                return random(500, 1000);
            case 4: //Deathwalk
                int a = random(1, 3);
                if (a != 3){
                    toAbby = new RSTilePath(randomizePath(walkback1, 3, 3), this);
                }else toAbby = new RSTilePath(randomizePath(walkback2, 3, 3), this);
                toAbby.walkToEnd();
                if (getMyPlayer().isMoving()) wait(random(1000, 1500));
                walkbacked++;
                State = 1;
                return random(500, 1000);
            case 5: //Lost + Tele
                if (currentPlane != 0 && globalDebug) log("Plane is NOT zero. Lost.");
                if (globalDebug) log("LOST!");
                lost++;
                homeTele();
                State = 1;
                return random(500, 1000);
            case 6: //anti-ban
                antiBan();
                antiBanned++;
                State = 1;
                return random(500, 1000);
            default: //If it somehow messes up, it will bring it back to stage 1.
                log("RETURNING TO SATGE 1");
                State = 1;
                return random(100, 200);
        }
    }
    catch (Exception e){
        e.printStackTrace();
    }
        return random(500,1500);
    }

    /*ANTI-BAN*/
    public void antiBan(){
        int b = getFightMode();
        int randFightMode = random(0, 3);
        int x = Math.round(random(1, 10));
            if (x == 2)
                moveMouse(random(1, 450), random(1, 600));
            if (x == 3)
                openTab(random(0, 13));
            if (x == 4)
                clickMouse(random(1, 515), random(1, 337), false);
            if (x == 5)
                setCameraRotation(random(0, 360));
            if (x == 6){
                setFightMode(randFightMode);
                wait(random(500, 1000));
                setFightMode(/cool.gif\' class=\'bbc_emoticon\' alt=\'B)\' />;
            }
            /*if (x == 7)
                wait(random(500, 700));
            if (x == 8)
                wait(random(0, 10000));
            if (x == 9)
                wait(random(100, 400));*/
        }
    /*END ANTI-BAN*/

     /* User Controlled Random Detection */
    public boolean findCombatRandoms(){
        String[] BAD_MONSTERS = {"Rock Golem", "Tree Spirit",
            "Shade", "Evil Chicken", "Swarm", "River Troll", "Strange plant"};
        int[] BAD_IDS = {421};
        if (!isLoggedIn()){
            return false;
        }
        RSCharacter interact = getMyPlayer().getInteracting();
        if (interact instanceof RSNPC) {
            RSNPC npc = (RSNPC) interact;
            String name = npc.getName();
            for (int n : BAD_IDS) {
                if (npc.getID() == n) {
                    return true;
                }
            }
            for (String n : BAD_MONSTERS) {
                if (n.equals(name)) {
                    return true;
                }
            }
        }
        return false;
    }

    //SecurityBook, StrangeBox, Lamp, Talking
    public boolean findFastRandoms(){
        if (inventoryContains(9003)) return true;
        if (inventoryContains(3062)) return true;
        if (inventoryContains(2528)) return true;
        String[] RandomNames = {"Mysterious Old Man",
            "Drunken Dwarf", "Genie", "Security Guard", "Rick Turpentine",
            "Dr Jekyll", "Cap'n Hand"};
        RSNPC talker = getNearestNPCByName(RandomNames);
        if (talker != null
                && talker.getMessage().contains(getMyPlayer().getName())) return true;
        return false;
    }

    //NEED TO INCLUDE PILLORY AND GRAVE DIGGER.
    //Certer, DrillDemon, FreakyForester, Frog, LostAndFound, Maze, Mime, Molly, PrisonPete.
    //QuizShow, SandwichLady, ScapeRuneIsland.
    public boolean findRandoms(){
        if (findFastRandoms()) return true;
        String[] randomNames = {"Niles", "Miles", "Giles"};
        RSNPC rNPC = getNearestNPCByName(randomNames);
        if (rNPC != null && rNPC.getMessage().contains(getMyPlayer().getName())) {
            return true;
        }
        RSNPC demon = getNearestNPCByID(2790);
        RSObject sign = findObject(10068);
        if (sign != null || demon != null) return true;
        RSNPC forester = getNearestNPCByName("Freaky Forester");
        if (forester != null) {
            wait(random(2000, 3000));
            forester = getNearestNPCByName("Freaky Forester");
            if (forester != null) return true;
        }
        RSTile frogTile = new RSTile(2464, 4782);
        RSNPC frog = getNearestNPCByID(2470);
        if((distanceTo(frogTile) <= 25) ||
                (frog != null && frog.getMessage().contains(getMyPlayer().getName()))) return true;
        RSTile LOSTANDFOUND = new RSTile(2338, 4747);
        if (distanceTo(LOSTANDFOUND) <= 25) return true;
        if (findObject(3626) != null) return true;
        if (getNearestNPCByID(1056) != null) return true;
        RSNPC molly = getNearestNPCByName("Molly");
        RSObject chair = findObject(14997);
        RSObject claw = findObject(14978);
        if (molly != null && chair != null || claw != null) return true;

        int[] tags = new int[] {15000, 15002, 15004, 15006, 15008};
        if (findObject(15, tags) != null) return true;
        if(getNearestNPCByID(3118) != null && distanceTo(new RSTile(2100, 4467)) < 30) return false;
        RSNPC quizer = getNearestFreeNPCByID(2477);
        if (quizer != null && RSInterface.getInterface(191).isValid());
        RSNPC lady = getNearestNPCByID(3117);
        if (lady.isInteractingWithLocalPlayer()) return true;
        if (findObject(8985) != null) return true;
        return false;
    }
    /* END User Controlled Random Detection */

    /*SETTINGS SETTERS AND DETECTORS*/
    public boolean enableRetaliate(boolean Do, boolean debug){
        if (isRetaliateEnabled() == Do){
            if (debug) log("isRetaliateEnabled = "+isRetaliateEnabled());
            if (debug) log("!isRetaliateEnabled = "+!isRetaliateEnabled());
            if (debug) log("!isRetaliateEnabled() == Do");
            return false;
        }else{
            if (debug) log("isRetaliateEnabled = "+isRetaliateEnabled());
            if (debug) log("!isRetaliateEnabled = "+!isRetaliateEnabled());
            openTab(TAB_ATTACK);
            wait(random(0, 1000));
            clickMouse(random(575, 710), random(360, 395), true);
            wait(random(0, 1000));
            return true;
        }
    }

    //by Guthan, edit by me.
    public int runPercent(){
        RSInterfaceChild runEnergy = RSInterface.getChildInterface(750, 4);
        return(Integer.parseInt(runEnergy.getText()));
    }

    public void ruroSetRun(boolean enable, boolean debug) {
        if (isRunning() == enable) {
            if (debug) log("isRunning = "+isRunning());
            if (debug) log("!isRunning = "+!isRunning());
            if (debug) log("isRunning() == enable");
            return;
        }
        if (debug) log("isRunning = "+isRunning());
        if (debug) log("!isRunning = "+!isRunning());
        if (getCurrentTab() != TAB_OPTIONS) {
            openTab(TAB_OPTIONS);
        }
        clickMouse(random(627, 656), random(417, 440), true);
    }
    /*END SETTING SETTERS AND DETECTORS*/

    /*PROGRESS REPORT METHODS*/
    public void progressReport(){
        //Time calculations by Aelin
        long hours = 0, minutes = 0, seconds = 0;
        long time;
        time = System.currentTimeMillis( ) - startTime;
        seconds = (time / 1000);
        if ( seconds >= 60 ) {
            minutes = (seconds / 60);
            seconds -= (minutes * 60);
        }
        if ( minutes >= 60 ) {
            hours = (minutes / 60);
            minutes -= (hours * 60);
        }
        log("Attacked "+ monksKilled + " monks."+
                " Walked back: "+walkbacked+". Lost: "+lost+". Teleported: "+hometeled+". Anti-Banned: "+antiBanned+". " +
                        "Fled: "+fled+".");
        log("Gained " + (skills.getCurrentSkillLevel(attack) - startAtkLvl) + " ATK lvls, "
                + (skills.getCurrentSkillLevel(strength) - startStrLvl) + " STR lvls, "
                + (skills.getCurrentSkillLevel(defence) - startDefLvl) + " DEF lvls, "
                + ((hitpointsLvl()) + " HP lvls."));
        log("Gained " + (skills.getCurrentSkillExp(attack) - startAtkXp) + " ATK XP, "
                + (skills.getCurrentSkillExp(strength) - startStrXp) + " STR XP, "
                + (skills.getCurrentSkillExp(defence) - startDefXp) + " DEF XP, "
                + (skills.getCurrentSkillExp(hitpoints) - startHPXp) + " HP XP.");
        log(skills.getXPToNextLevel(attack) + " xp to the next ATK lvl. "+skills.getPercentToNextLevel(attack)+"% done.");
        log(skills.getXPToNextLevel(strength) + " xp to the next STR lvl. "+skills.getPercentToNextLevel(strength)+"% done.");
        log(skills.getXPToNextLevel(defence) + " xp to the next DEF lvl. "+skills.getPercentToNextLevel(defence)+"% done.");
        if (hitpointsLvl() == maxHP) log(skills.getXPToNextLevel(hitpoints) + " xp to the next HP lvl. "+skills.getPercentToNextLevel(hitpoints)+"% done.");
        log("Time Running: "+hours+" Hours, "+minutes+" Minutes, "+seconds+" Seconds.");
    }
    /*END PROGRESS REPORT METHODS*/

   /*AREA DETECTION*/
    public boolean inArea (int x1, int y1, int x2, int y2, boolean debug) {
        int CurX, CurY;
        CurX = getMyPlayer().getLocation().getX();
        CurY = getMyPlayer().getLocation().getY();
        if (x1 < x2 && y1 < y2) {
            if (CurX >= x1 && CurY >= y1 && CurX <= x2 && CurY <= y2){
                return true;
            }
        }
        if (debug) {
            log("NOT in the area of " + x1 + ", " + y1 + ", " + x2 + ", " + y2 + ".");
        }
        return false;
    }

   public boolean inMonkArea(){
       return(inArea(3041, 3479, 3062, 3501, false));
   }

   public boolean inLumby(){
       return(inArea(3217, 3213, 3226, 3225, false));
   }
   /*END AREA DETECTION*/

   /*HEALING RELATED*/
   public boolean heal(boolean debug){
       double a = skills.getCurrentSkillLevel(hitpoints);
       double z = random(5, 9);
       if (debug) log("Health is : " + a + ". Will heal at : " + z);
       if (a == z +- 2 || a <= 5) return true;
       return false;
   }

   public int hitpointsLvl(){
       if (skills.getCurrentSkillLevel(hitpoints) >= skills.getLvlByExp(startHPXp)){
           maxHP = skills.getLvlByExp(hitpoints);
           return skills.getCurrentSkillLevel(hitpoints) - skills.getLvlByExp(startHPXp);
       }
       return 0;
   }
   /*END HEALING RELATED*/

   /*ATTACKING METHODS*/
   public boolean attackMonk(){
    RSNPC monk = getNearestFreeNPCByName("Monk");
    int startHPXP = skills.getCurrentSkillExp(STAT_HITPOINTS);
    if (monk != null && !monk.isInCombat() && !monk.isInteractingWithLocalPlayer()){
        atNPC(monk, "Attack");
           wait(500);
           while (getMyPlayer().isMoving()) wait(random(100, 200));
           wait(random(2500, 3000));
           while (skills.getCurrentSkillExp(STAT_HITPOINTS) < startHPXP + Math.round(15 * 1.3333)
                   && getMyPlayer().isInCombat()){
               wait(100);
               log((startHPXP + Math.round(15 * 1.3333))+":"+skills.getCurrentSkillExp(STAT_HITPOINTS));
           }
           if (globalDebug) log("Done fighting");
           wait(1500);
           return true;
       }
    return false;
   }
   /*ATTACKING METHODS*/

   /*ABBOT RELATED METHODS*/
   public void recalibrate(){
       RSTile c = new RSTile(random(3048, 3059), random(3489, 3492));
       walkTileMM©;
       wait(random(100, 300));
       while (getMyPlayer().isMoving()) wait(random(100, 300));
   }

   public void toAbbot(){
       RSTile c = new RSTile(random(3055, 3059), random(3489, 3493));
       RSTile d = new RSTile(random(3058, 3059), random(3485, 3488));
       int f = random(1, 2);
       if (!inArea(3054, 3481, 3059, 3488, true)) recalibrate();
       wait(500 + random(200, 400) - random(0, 200));
       while (getMyPlayer().isMoving() || getMyPlayer().isInCombat())
            wait(200 + random(200, 400) - random(0, 200));
       if (f == 1 && !inArea(3054, 3481, 3059, 3488, true)){
           walkTileMM©;
       } if (f == 2 && !inArea(3054, 3481, 3059, 3488, true)) {
           walkTileMM(d);
       }
       wait(500 + random(200, 400) - random(0, 200));
       while (getMyPlayer().isMoving()) wait(200 + random(200, 400) - random(0, 200));
   }

   public void talkToAbbot(boolean debug){
       if (!inArea(3054, 3481, 3059, 3488, true)) recalibrate();
       if (getMyPlayer().isInCombat() || getMyPlayer().isMoving()) {
           if (debug){
                log("Waiting to get out of combat / movement before talking.");
            }
           wait(500 + random(200, 400) - random(0, 200));
           while (getMyPlayer().isMoving() || getMyPlayer().isInCombat())
                 wait(200 + random(200, 400) - random(0, 200));
       }
       RSNPC abbot = getNearestNPCByID(801);
       if (debug) log("Tried to find the abbot by ID.");
       if (abbot == null){
           log("Abbot is null!");
           return;
       }else log("Abbot has been found.");
       RSTile me = new RSTile(getMyPlayer().getLocation().getX(), getMyPlayer().getLocation().getY());
       RSTile him = new RSTile(abbot.getLocation().getX(), abbot.getLocation().getY());
       if (distanceBetween(me, him) > 10 || !tileOnMap(him)){
           toAbbot();
       }
       while (getMyPlayer().isMoving()) wait(random(400, 100));
       wait(random(100, 400));
       while (getMyPlayer().isMoving()) wait(random(400, 100));
       abbot = getNearestNPCByID(801);
       atNPC(abbot, "talk");
       wait(2000 + random(200, 400) - random(0, 200));
       while (getMyPlayer().isMoving()) wait(random(400, 100));
       wait(random(1000, 2000));
       if (canContinue()){
           clickContinue();
           wait(random(1000, 2000));
           clickMouse(random(160, 360), random(390, 400), true);
           wait(random(1000, 2000));
           while (canContinue()) clickContinue();
       }
   }
   /*END ABBOT RELEATED METHODS*/

   /*HOME TELE/LOST RELATED METHODS*/
   public boolean isTeleing(){
       int[] teleAnims = {1722, 1723, 1724, 1725, 2798, 2799, 2800, 3195,
               4643, 4645, 4847, 4848, 4850, 4851, 4852};
       for(int i = 0; i < teleAnims.length; i++) {
            if(getMyPlayer().getAnimation() == teleAnims)
            {
                return true;
            }
        }
        return false;
   }

   /**
    * public void logout(int w)
    * By: Ruroken
    * Use: Use to logout.
    * @param w : how log you want to logout for. -1 if you want to logout and stop all scripts.
    */
   public void logout(int w){
       int a = 0;
       clickMouse(753, 9, 5, 10, true);
       wait(random(300, 700));
       if (getCurrentTab() == TAB_LOGOUT){
           clickMouse(578, 366, 120, 20,true);//coords by alowaniak
           if (w == -1) stopAllScripts();
           wait(w);
           login();
       }else{
           log("LOGOUT TAB IS GONE! TIMING OUT!");
            while (!isLoginScreen() || a < 2400) {
               wait(100);
               a++;
           }
           if (isLoggedIn()) log("TIMEOUT FAILED! STOPING ALL SCRIPTS ANYWAY!");
           stopAllScripts();
       }
   }

   public boolean homeTele(){
       if (!isTeleing()){
           if(getCurrentTab() != TAB_MAGIC){
               openTab(TAB_MAGIC);
               wait(random(500, 2000));
           }
           if (getCurrentTab() == TAB_MAGIC) {
               castSpell(1);
           }
           wait(random(2000, 2500));
           if (!isTeleing() && getCurrentTab() == TAB_MAGIC && !inLumby()) {
               log("Home Telport is still cooling down. Waiting.");
               logout(1800000 + random(300000 / 2, 300000));
               return false;
           }else{
               while (isTeleing()) wait(random(2000, 2500));
               wait(random(2000, 2500));
               hometeled++;
               return inLumby();
           }
        }
       return false;
   }
   /*HOME TELE/LOST RELATED METHODS*/

 //By Darkmax, modded to my liking. No sense reinventing the wheel /tongue.gif\' class=\'bbc_emoticon\' alt=\':P\' />
   public boolean flee() {
        RSTile a, b, c;
        a = getMyPlayer().getLocation();
        b = new RSTile(a.getX() +- 10 +- random(0, 3), a.getY() +- 10 +- random(0, 3));
        walkTileMM(/cool.gif\' class=\'bbc_emoticon\' alt=\'B)\' />;
        wait(random(10000, 20000));
        c = new RSTile(a.getX() +- random(0, 2), a.getY() +- random(0, 2));
        walkTileMM©;
        if (globalDebug) log("FLED!");
        fled++;
        return true;
    }

   //A good portion of this is only here thanks to the guidance and borrowed code of Guthan.
   //Three cheers for Guthan!
   public void onRepaint(Graphics g){
       int d;
       Color BLACK = new Color(0, 0, 0, 100);
       Color GREEN = new Color(0, 255, 0, 255);
       Color ORANGE = new Color(255, 128, 0, 255);
       if(isLoggedIn()){
           StringBuilder b = new StringBuilder();
           attack = Skills.getStatIndex("Attack");
           strength = Skills.getStatIndex("Strength");
           defence = Skills.getStatIndex("Defence");
           hitpoints = Skills.getStatIndex("Hitpoints");
           long runTime = System.currentTimeMillis() - startTime;
           long TotalSecs = runTime / 1000;
           long TotalMins = TotalSecs / 60;
           long TotalHours = TotalMins / 60;
           int seconds = (int) TotalSecs % 60;
           int minutes = (int) TotalMins % 60;
           int hours = (int) TotalHours % 60;
           if (hours < 10) b.append('0');
           b.append(hours);
           b.append(':');
           if (minutes < 10) b.append('0');
           b.append(minutes);
           b.append(':');
           if (seconds < 10) b.append('0');
           b.append(seconds);
           g.setColor(BLACK);
           g.fill3DRect(5, 215, 350, 122, true);
           g.setColor(GREEN);
           g.drawString("Time Running " + b, 9, 230);
           g.setColor(ORANGE);
           monksKilled = Math.floor(((skills.getCurrentSkillExp(hitpoints) - startHPXp) / 1.3333) / 15);
           g.drawString("Killed "+ monksKilled + " monks."+" Anti-Banned: "+antiBanned+". " +"Fled: "+fled+".", 9, 245);
           d = (walkbacked-hometeled);
           if (d < 0) d = 0;
           g.drawString("Died: "+ d +". Walked back: "+walkbacked+". Lost: "+lost+". Teleported: "+hometeled+".", 9, 260);
           g.drawString(skills.getXPToNextLevel(attack) + " xp to the next ATK lvl. "+skills.getPercentToNextLevel(attack)+"% done.", 9, 275);
           g.drawString(skills.getXPToNextLevel(strength) + " xp to the next STR lvl. "+skills.getPercentToNextLevel(strength)+"% done.", 9, 290);
           g.drawString(skills.getXPToNextLevel(defence) + " xp to the next DEF lvl. "+skills.getPercentToNextLevel(defence)+"% done.", 9, 305);
           g.drawString("Gained " + (skills.getCurrentSkillLevel(attack) - startAtkLvl) + " ATK lvls. "
                    + (skills.getCurrentSkillLevel(strength) - startStrLvl) + " STR lvls. "
                    + (skills.getCurrentSkillLevel(defence) - startDefLvl) + " DEF lvls. "
                    + ((hitpointsLvl()) + " HP lvls."), 9, 320);
           g.drawString("Gained " + (skills.getCurrentSkillExp(attack) - startAtkXp) + " ATK XP. "
                       + (skills.getCurrentSkillExp(strength) - startStrXp) + " STR XP. "
                    + (skills.getCurrentSkillExp(defence) - startDefXp) + " DEF XP. "
                    + (skills.getCurrentSkillExp(hitpoints) - startHPXp) + " HP XP.", 9, 335);
        }
    }
}


srry bout the lengthy reply guys =S
Title: Need something...
Post by: Pyro Raccoon on December 11, 2008, 04:27:19 PM
seems like a good code. My only concern is all the spelling mistakes :s and that smiley face. lol
Title: Need something...
Post by: Descrete on December 11, 2008, 04:34:07 PM
ha, srry some of the stuff must have converted wen i pasted or sumthing idk
Title: Need something...
Post by: Stop Reading My Name on December 11, 2008, 11:38:59 PM
code tags bro, l2 use them.
Title: Need something...
Post by: ÅмзЯĉăИ дЯмy on December 12, 2008, 12:21:58 AM
even tho descrete got all his autos from me if u want some autos i got a legit one that does randoms and takes break like every 15-45 min then logs you back in, and you never get banned with it if u auto while ur near comp and u dont f up the randoms

IZ AMAZN and descrete has it too so if im not on and that doosh is skippin school again like he said he did today then get it from him or u can wait for me cuz im so much cooler
Title: Need something...
Post by: death_angel07 on December 12, 2008, 12:34:35 AM
i got a sweet 1 is does everyting
Title: Need something...
Post by: Descrete on December 12, 2008, 07:44:40 AM
i didnt get any of my scripts from american arm -.-
but death angel could u send me ur msn or that script?