Adblock breaks this site

.:[~]Official RSBot Scripts+Requests Sticky!{RSBot}[~]:.

Discussion in 'Archives' started by MatthewGor123, Dec 1, 2008.

Thread Status:
Not open for further replies.
  1. Tettres

    Tettres Active Member

    Joined:
    Feb 27, 2008
    Posts:
    166
    Referrals:
    0
    Sythe Gold:
    0
    .:[~]Official RSBot Scripts+Requests Sticky!{RSBot}[~]:.

    love this damn nice collection
     
  2. XxSyth3xX

    XxSyth3xX Member
    Banned

    Joined:
    Sep 30, 2008
    Posts:
    68
    Referrals:
    0
    Sythe Gold:
    0
    .:[~]Official RSBot Scripts+Requests Sticky!{RSBot}[~]:.

    is AIOFMER version 3.6?
     
  3. sawdeykolin

    sawdeykolin Forum Addict
    Banned

    Joined:
    Dec 14, 2008
    Posts:
    365
    Referrals:
    1
    Sythe Gold:
    0
    .:[~]Official RSBot Scripts+Requests Sticky!{RSBot}[~]:.

    I think a ardy vial buyer and banker would be a very good script.. i mean you buy em for 10gp ea at the store and they sell 87 gp last i checked in the G.E.
     
  4. wooblah1

    wooblah1 Apprentice

    Joined:
    Jun 25, 2008
    Posts:
    659
    Referrals:
    0
    Sythe Gold:
    0
    .:[~]Official RSBot Scripts+Requests Sticky!{RSBot}[~]:.

    there already is an ardy vial buyer :)
     
  5. scripter3

    scripter3 Newcomer

    Joined:
    Jan 29, 2009
    Posts:
    15
    Referrals:
    0
    Sythe Gold:
    0
    .:[~]Official RSBot Scripts+Requests Sticky!{RSBot}[~]:.

  6. pureatking

    pureatking Active Member

    Joined:
    Dec 11, 2008
    Posts:
    140
    Referrals:
    0
    Sythe Gold:
    0
    .:[~]Official RSBot Scripts+Requests Sticky!{RSBot}[~]:.

    if someone is to update this, on rsbot.org there is scripts saying valid or invalid you could add.

    I see he don't have a Up-to-date magic cutter, which is in rsbot scripts.
     
  7. Idi

    Idi Newcomer

    Joined:
    Dec 12, 2008
    Posts:
    18
    Referrals:
    0
    Sythe Gold:
    0
    .:[~]Official RSBot Scripts+Requests Sticky!{RSBot}[~]:.

  8. JustWondering

    JustWondering Active Member

    Joined:
    Jan 23, 2009
    Posts:
    127
    Referrals:
    0
    Sythe Gold:
    0
    .:[~]Official RSBot Scripts+Requests Sticky!{RSBot}[~]:.

    I love Dontpanic's scripts they are the best out there and they work so perfectly every time and are all in one organized little Dontpanic folder...I only use his scripts mostly. Best scripter ever! :D
     
  9. Rune Shadow

    Rune Shadow Guru
    Banned

    Joined:
    Jun 23, 2007
    Posts:
    1,805
    Referrals:
    2
    Sythe Gold:
    0
    .:[~]Official RSBot Scripts+Requests Sticky!{RSBot}[~]:.

    Mas.. i needed auto alcher since looooong time and i finally found it! thx bro
     
  10. perc

    perc Apprentice

    Joined:
    Feb 1, 2007
    Posts:
    830
    Referrals:
    1
    Sythe Gold:
    0
    .:[~]Official RSBot Scripts+Requests Sticky!{RSBot}[~]:.

    I need a working script that will attack any monster please. For some reason, im banned from rsbot :p
     
  11. PinMaster

    PinMaster Newcomer
    Banned

    Joined:
    Jan 30, 2009
    Posts:
    0
    Referrals:
    0
    Sythe Gold:
    0
    .:[~]Official RSBot Scripts+Requests Sticky!{RSBot}[~]:.

    penisbot pls?
     
  12. doom1130

    doom1130 Newcomer

    Joined:
    Feb 4, 2009
    Posts:
    1
    Referrals:
    0
    Sythe Gold:
    0
    .:[~]Official RSBot Scripts+Requests Sticky!{RSBot}[~]:.

    import com.speljohan.rsbot.script.Script;
    import com.speljohan.rsbot.script.wrappers.*;

    public class GoblinTrainer extends Script {

    // misc
    public int state = 1;
    public int equipThis;
    int GambleInteger;

    @Override
    public String getScriptCategory() {
    return "Fighting";
    }

    // normal ID's
    public static final int[] doorClosed = new int[] { 1530 };

    // walk path
    public RSTile[] toGoblins = new RSTile[] { new RSTile(3229, 3218),
    new RSTile(3236, 3225), new RSTile(3251, 3226) };

    public String getName() {
    return "GoblinTrainer";
    }

    public double getVersion() {
    return 3.5;
    }

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

    public boolean onStart(String[] args) {
    if (args.length < 1) {
    log("You need to enter in your argument! >:3");
    log("It's the ID of your weapon.");
    return false;
    }
    try {
    equipThis = Integer.parseInt(args[0]);
    } catch (NumberFormatException e) {
    log("You need to enter in the ID of your weapon, sheesh!");
    return false;
    }
    return true;
    }

    public int loop() {
    if (getMyPlayer().isInCombat() || getMyPlayer().isMoving()) {
    return random(500, 1000);
    }
    switch (state) {
    case 1:
    wieldItems();
    case 2:
    walkToGoblin();
    case 3:
    fightGoblin();
    }
    return random(1000, 2000);
    }

    public void wieldItems() {
    if (inventoryContains(equipThis)) {
    atInventoryItem(equipThis, "Wield");
    }
    }

    public void walkToGoblin() {
    if (distanceTo(toGoblins[0]) < 18) {
    setRun(true);
    walkPathMM(randomizePath(toGoblins, 2, 2), 20);
    antiBan();
    }
    }

    public boolean openDoor() {
    RSObject door = findObject(doorClosed);
    if (door != null) {
    if (distanceTo(findObject(doorClosed)) <= 2) {
    atDoor(findObject(doorClosed), "East", "Open");
    wait(random(1000, 2000));
    return true;
    }
    antiBan();
    }
    return false;
    }

    /*
    * Method below by mx1000
    */
    private int antiBan() {
    GambleInteger = random(1, 3);
    if (GambleInteger == 1) {
    wait(random(2000, 2000));
    }
    if (GambleInteger == 2) {
    int intx = random(0, 750);
    int inty = random(0, 500);
    moveMouse(0, 0, intx, inty);
    }
    return random(1000, 1500);
    }

    public int fightGoblin() {
    RSNPC npc = getNearestFreeNPCByName("Goblin");
    openDoor();
    if (npc != null && !npc.isInCombat()) {
    atNPC(npc, "attack");
    wait(random(1000, 2000));
    return random(1000, 2000);
    } else {
    return random(100, 500);
    }
    }

    public int letsWait() {
    return random(1000, 2000);
    }

    }
     
  13. k4l4sh4s

    k4l4sh4s Forum Addict
    Banned

    Joined:
    Oct 26, 2008
    Posts:
    269
    Referrals:
    0
    Sythe Gold:
    0
    .:[~]Official RSBot Scripts+Requests Sticky!{RSBot}[~]:.

    Cud someone post a script for making flax into bowstrings?
     
  14. brandon dye

    brandon dye Newcomer
    Banned

    Joined:
    Mar 10, 2007
    Posts:
    4
    Referrals:
    0
    Sythe Gold:
    0
    .:[~]Official RSBot Scripts+Requests Sticky!{RSBot}[~]:.

    just wondering... are these scripts up to date. (2/5/09) cause i'm probably going to get some but i want to make sure there still running fine. thanks:)
     
  15. gridfun

    gridfun Member

    Joined:
    Jan 3, 2006
    Posts:
    43
    Referrals:
    0
    Sythe Gold:
    0
    .:[~]Official RSBot Scripts+Requests Sticky!{RSBot}[~]:.


    PHP:
    import com.speljohan.rsbot.accessors.NPC;
    import com.speljohan.rsbot.bot.Bot;
    import com.speljohan.rsbot.event.listeners.PaintListener;
    import com.speljohan.rsbot.plugin.NonPluginClass;
    import com.speljohan.rsbot.script.Calculations;
    import com.speljohan.rsbot.script.Script;
    import com.speljohan.rsbot.script.wrappers.RSInterface;
    import com.speljohan.rsbot.script.wrappers.RSItemTile;
    import com.speljohan.rsbot.script.wrappers.RSNPC;
    import com.speljohan.rsbot.script.wrappers.RSPlayer;
    import com.speljohan.rsbot.script.wrappers.RSTile;
    import java.awt.Color;
    import java.awt.Graphics;
    import java.awt.Point;
    import java.awt.event.ActionEvent;
    import java.io.File;
    import java.io.FileInputStream;
    import java.io.FileOutputStream;
    import java.io.IOException;
    import java.util.List;
    import java.util.Properties;
    import java.awt.event.ActionListener;
    import java.util.ArrayList;
    import java.util.Map;

    public class 
    RuskisFighter extends Script implements ActionListenerPaintListener {

        @
    Override
        
    public int loop() {
            try {
                
    int action getAction();
                switch (
    action) {
                    case 
    ATTACK:
                        
    RSNPC npc npcBase.npc;
                        if (
    clickNPC(npc"Attack")) {
                            return 
    random(11202310);
                        } else {
                            return 
    random(240610);
                        }
                    case 
    WALK:
                        if (
    tileBase.useHalfTile) {
                            
    RSTile tile tileBase.getHalfWayTile();
                            if (
    tileOnMap(tile)) {
                                
    tileBase.setUseHalfTile(false);
                                if (
    walkTileMM(tile)) {
                                    return 
    random(8201410);
                                } else {
                                    return 
    random(140510);
                                }
                            } else {
                                
    RSTile halfWayTile tileBase.calcHalfWayTile(getLocation(), tile);
                                
    tileBase.setHalfWayTile(halfWayTile);
                                return 
    random(150410);
                            }
                        } else {
                            
    RSTile tile tileBase.tile;
                            if (
    tileOnMap(tile)) {
                                
    tileBase.setUseHalfTile(false);
                                if (
    walkTileMM(tile)) {
                                    return 
    random(8201410);
                                } else {
                                    return 
    random(140510);
                                }
                            } else {
                                
    RSTile halfWayTile tileBase.calcHalfWayTile(getLocation(), tile);
                                
    tileBase.setHalfWayTile(halfWayTile);
                                
    tileBase.setUseHalfTile(true);
                                return 
    random(130410);
                            }
                        }

                    case 
    EAT:
                        if (
    getInventoryCount(FOODID) > 0) {
                            
    clickInventoryFood(FOODID);
                            return 
    random(14122413);
                        } else {
                            return 
    random(140410);
                        }
                    case 
    PICKUP:
                        
    RSItemTile itemTile pickUpItemSet.tile;
                        try {
                            if (
    pickUpItem(itemTile)) {
                                
    pickUpFail 0;
                                return 
    random(7102310);
                            } else {
                                
    pickUpFail++;
                                if (
    pickUpFail >= random(24)) {
                                    
    pickUpFail 0;
                                    
    int randomNum random(01);
                                    switch (
    randomNum) {
                                        case 
    0:
                                            
    setCameraRotation(getCameraAngle() + random(35150));
                                            return 
    random(320710);
                                        case 
    1:
                                            
    setCameraRotation(getCameraAngle() - random(35150));
                                            return 
    random(3201410);
                                    }
                                }
                            }
                        } catch (
    Exception e) {
                            
    System.out.print("pick up item error: " e);
                            return 
    random(120541);
                        }

                    case 
    WAIT:
                        return 
    random(waitRange.range[0], waitRange.range[1]);
                    case 
    KILLSCRIPT:
                        while(
    getMyPlayer().isInCombat()) {
                            
    wait(random(13107244));
                        }
                        
    stopAllScripts();
                        return -
    1;
                }
            } catch (
    Exception e) {
                
    System.out.print("loop() error: " e);
            }
            return 
    random(320520);
        }

        @
    Override
        
    public String getAuthor() {
            return 
    "Ruski";
        }

        @
    Override
        
    public String getName() {
            return 
    "RuskisFighter";
        }

        @
    Override
        
    public double getVersion() {
            return 
    1.5;
        }

        @
    Override
        
    public String getScriptCategory() {
            return 
    "Ruski/Combat";
        }

        @
    Override
        
    public String getScriptDescription() {
            
    String html "<hmtl>";
            
    html += "<center>";
            
    html += "<p>All settings can be set on the GUI, select your character and Start!</p>";
            
    html += "</center>";
            
    html += "</html>";
            return 
    html;
        }
        
        @
    Override
        
    public void onFinish() {
            
    Bot.getEventManager().removeListener(PaintListener.class, this);
        }

        @
    Override
        
    public boolean onStart(Map<StringStringargs) {
            if (
    settings.settingsExist(settingsFileName)) {
                
    showSettingsInterface();
                try {
                    
    settings.setSettings();
                    
    npcIDText.setText(settings.intArrayToString(settings.getNPCIDs()));
                    
    pickUpItemsCheck.setSelected(settings.getPickUpItems());
                    if (
    settings.getPickUpItems()) {
                        
    itemIDText.setText(settings.intArrayToString(settings.getItemIDs()));
                        
    itemNameText.setText(settings.stringArrayToString(settings.getItemNames()));
                    }
                    
    eatFoodCheck.setSelected(settings.getEatFood());
                    
    stopScriptWhenNoFoodCheck.setSelected(settings.getStopScriptWhenNoFood());
                    
    speedSlider.setValue(settings.getSpeed());
                } catch (
    Exception e) {
                    
    System.out.print("error getting settings: " e);
                }
            } else {
                
    showSettingsInterface();
            }
            while (!
    START_SCRIPT) {
                
    wait(10);
            }

            
    log("*******************************************");
            
    log("Ruskis Fighter V" getVersion());
            if (
    settings.getEatFood()) {
                
    log("Food eating is enabled");
            }
            if (
    settings.getPickUpItems()) {
                
    log("Picking up items: " settings.stringArrayToString(settings.getItemNames()));
            }
            if (
    settings.getStopScriptWhenNoFood()) {
                
    log("Stopping script, when run out of food");
            }
            
    log("*******************************************");
            
    Bot.getEventManager().addListener(PaintListener.class, this);
            
    START_SCRIPT false;
            return 
    true;
        }

        private 
    int getAction() {
            if (!
    isLoggedIn() || !isFullyLoggedIn()) {
                return -
    1;
            }
            if (
    healthCheck()) {
                if (
    settings.getStopScriptWhenNoFood() && getInventoryCount(FOODID) == && isFullyLoggedIn()) {
                    
    log("Run out of food, stopping script!!!");
                    return 
    KILLSCRIPT;
                }
                if (
    settings.getEatFood() && getInventoryCount(FOODID) > 0) {
                    return 
    EAT;
                }
            }
            
    RSPlayer thisPlayer getMyPlayer();
            if (
    thisPlayer.isMoving()) {
                
    waitRange.range = new int[]{320610};
                return 
    WAIT;
            }
            if (
    thisPlayer.getInteracting() != null) {
                
    waitRange.range = new int[]{210310};
                return 
    WAIT;
            }

            if (
    settings.getPickUpItems()) {
                
    RSItemTile itemTile getNearestGroundItemByID(10settings.getItemIDs());
                if (
    itemTile != null && canPickUpItem(itemTile.getItem().getID())) {
                    
    pickUpItemSet.setItemTile(itemTile);
                    try {
                        
    Point itemPoint Calculations.tileToScreen(itemTile);
                        if (
    pointOnScreen(itemPoint)) {
                            return 
    PICKUP;
                        } else {
                            
    tileBase.setTile(itemTile);
                            return 
    WALK;
                        }
                    } catch (
    Exception e) {
                        
    System.out.print("itemPoint error: " e);
                    }

                }
            }
            
    RSNPC npc getNearestNPC(settings.getNPCIDs());
            if (
    npc != null) {
                
    npcCheck false;
                if (!
    canReach(npc.getLocation(), false)) {
                    
    npc getNextNearestNPC(settings.getNPCIDs());
                }
                
    npcBase.setNPC(npc);
                
    Point npcScreen npc.getScreenLocation();
                if (!
    pointOnScreen(npcScreen)) {
                    
    tileBase.setTile(npc.getLocation());
                    return 
    WALK;
                }
                return 
    ATTACK;
            } else {
                if (!
    npcCheck) {
                    
    lastNPCCheck System.currentTimeMillis();
                    
    npcCheck true;
                }
                if (
    npcCheck) {
                    if (
    System.currentTimeMillis() - lastNPCCheck >= 50000) {
                        
    log("No npcs around for 50 seconds, killing script");
                        return 
    KILLSCRIPT;
                    }
                }
            }
            return 
    WAIT;
        }
        
    long healthRandomTime 0;
        
    int hpToHealAt 10;

        private 
    boolean healthCheck() {
            try {
                if (
    System.currentTimeMillis() - healthRandomTime 120000) {
                    
    healthRandomTime System.currentTimeMillis();
                    
    hpToHealAt = (int) random(skills.getRealSkillLevel(3) / 3skills.getRealSkillLevel(3) / 1.5);
                }
                return (
    skills.getCurrentSkillLevel(3) <= hpToHealAt);
            } catch (
    Exception e) {
                
    System.out.print("healthCheck() error: " e);
            }
            return 
    false;
        }

        public 
    RSNPC getNearestNPC(int... ids) {
            
    int Dist 20;
            
    RSNPC closest null;
            
    int[] validNPCs Bot.getClient().getNPCIndexArray();
            
    NPC[] npcs Bot.getClient().getNPCArray();

            for (
    int element validNPCs) {
                if (
    npcs[element] == null) {
                    continue;
                }
                
    RSNPC Monster = new RSNPC(npcs[element]);
                try {
                    for (
    int id ids) {
                        if (
    id != Monster.getID() || Monster.isInCombat()) {
                            continue;
                        }
                        
    int distance distanceTo(Monster);
                        if (
    distance Dist) {
                            
    Dist distance;
                            
    closest Monster;
                        }
                    }
                } catch (
    Exception e) {
                }
            }
            
    lastNPC closest;
            return 
    closest;
        }
        
    RSNPC lastNPC null;

        public 
    RSNPC getNextNearestNPC(int... ids) {
            
    int Dist 20;
            
    RSNPC closest null;
            
    int[] validNPCs Bot.getClient().getNPCIndexArray();
            
    NPC[] npcs Bot.getClient().getNPCArray();

            for (
    int element validNPCs) {
                if (
    npcs[element] == null) {
                    continue;
                }
                
    RSNPC Monster = new RSNPC(npcs[element]);
                if (
    Monster.equals(lastNPC)) {
                    continue;
                }
                try {
                    for (
    int id ids) {
                        if (
    id != Monster.getID() || Monster.isInCombat()) {
                            continue;
                        }
                        
    int distance distanceTo(Monster);
                        if (
    distance Dist) {
                            
    Dist distance;
                            
    closest Monster;
                        }
                    }
                } catch (
    Exception e) {
                }
            }
            
    lastNPC closest;
            return 
    closest;
        }

        public 
    boolean pickUpItem(RSItemTile tile) {
            try {
                
    Point location Calculations.tileToScreen(tile);
                if (
    location.== -|| location.== -1) {
                    return 
    false;
                }
                
    String itemName "";
                for (
    int a 05a++) {
                    
    location Calculations.tileToScreen(tile);
                    
    moveMouse(location, -1515);
                    if (
    getMenuItems().get(0).contains("Take")) {
                        break;
                    }
                    if (!
    itemName.equals("")) {
                        break;
                    }

                    if (
    getMouseLocation().equals(location)) {
                        break;
                    }
                }
                
    String[] itemNames settings.getItemNames();
                for (
    int c 0itemNames.lengthc++) {
                    if (
    getMenuItems().get(0).contains(itemNames[c])) {
                        
    clickMouse(true);
                        return 
    true;
                    }
                    for (
    int x 0getMenuItems().size(); x++) {
                        if (
    getMenuItems().get(x).contains(itemNames[c])) {
                            if (!
    atMenu(itemNames[c])) {
                                return 
    false;
                            } else {
                                return 
    true;
                            }
                        }
                    }
                }
                return 
    false;
            } catch (
    Exception e) {
                
    System.out.print("pickUpItem(RSTile, RSItem) error: " e);
                return 
    false;
            }
        }

        private 
    boolean isFullyLoggedIn() {        
            return 
    RSInterface.getInterface(77).isValid();
        }

        public 
    RSItemTile getNearestGroundItemByID(int rangeint[] ids) {
            
    int pX getMyPlayer().getLocation().getX();
            
    int pY getMyPlayer().getLocation().getY();
            
    int minX pX range;
            
    int minY pY range;
            
    int maxX pX range;
            
    int maxY pY range;
            
    int dist 100;
            
    RSItemTile nItem null;
            for (
    int x minX<= maxXx++) {
                for (
    int y minY<= maxYy++) {
                    if (
    Calculations.canReach(new RSTile(xy), false)) {
                        
    RSItemTile[] items getGroundItemsAt(xy);
                        for (
    RSItemTile item items) {
                            
    int iId item.getItem().getID();
                            for (
    int id ids) {
                                if (
    iId == id) {
                                    if (
    distanceTo(new RSTile(xy)) < dist) {
                                        
    dist distanceTo(new RSTile(xy));
                                        
    nItem item;
                                    }
                                }
                            }
                        }
                    }
                }
            }
            return 
    nItem;
        }

        private 
    boolean clickInventoryFood(int... ids) {
            try {
                if (
    getCurrentTab() != TAB_INVENTORY && !RSInterface.getInterface(INTERFACE_BANK).isValid() && !RSInterface.getInterface(INTERFACE_STORE).isValid()) {
                    
    openTab(TAB_INVENTORY);
                }
                
    int[] items getInventoryArray();
                
    java.util.List<Integerpossible = new ArrayList<Integer>();
                for (
    int i 0items.lengthi++) {
                    for (
    int item ids) {
                        if (
    items[i] == item) {
                            
    possible.add(i);
                        }
                    }
                }
                if (
    possible.size() == 0) {
                    return 
    false;
                }
                
    int idx possible.get(random(0possible.size()));
                
    Point t getInventoryItemPoint(idx);
                
    clickMouse(t55false);
                return 
    atMenu("Eat");
            } catch (
    Exception e) {
                
    System.out.print("clickInventoryFood(int...) error: " e);
                return 
    false;
            }
        }

        private 
    boolean canPickUpItem(int itemID) {
            if (
    getInventoryCount() < 28) {
                return 
    true;
            } else {
                if (
    getInventoryCount(itemID) > && getInventoryItemByID(itemID).getStackSize() > 1) {
                    return 
    true;
                }
            }
            return 
    false;
        }

        private 
    boolean clickNPC(RSNPC npcString action) {
            if (
    npc == null) {
                return 
    false;
            }
            
    RSTile tile npc.getLocation();
            if (!
    tile.isValid()) {
                return 
    false;
            }

            try {
                
    Point screenLoc npc.getScreenLocation();
                if (
    distanceTo(tile) > || !pointOnScreen(screenLoc)) {
                    
    turnToTile(tile);
                }
                if (
    distanceTo(tile) > 20) {
                    
    walkTileMM(tile);
                    return 
    false;
                }
                for (
    int i 012i++) {
                    
    screenLoc npc.getScreenLocation();
                    if (!
    npc.isValid() || !pointOnScreen(screenLoc)) {
                        return 
    false;
                    }
                    
    moveMouse(screenLoc, -1515);
                    if (
    getMenuItems().get(0).toLowerCase().contains(npc.getName().toLowerCase())) {
                        break;
                    }
                    if (
    getMouseLocation().equals(screenLoc)) {
                        break;
                    }
                }
                List<
    StringmenuItems getMenuItems();
                if (
    menuItems.isEmpty()) {
                    return 
    false;
                }
                for (
    int a 0menuItems.size(); a++) {
                    if (
    menuItems.get(a).toLowerCase().contains(npc.getName().toLowerCase())) {
                        if (
    menuItems.get(0).toLowerCase().contains(action.toLowerCase())) {
                            
    clickMouse(true);
                            return 
    true;
                        } else {
                            
    clickMouse(false);
                            return 
    atMenu(action);
                        }
                    }
                }
            } catch (
    Exception e) {
                
    System.out.print("clickNPC(RSNPC, String) error: " e);
                return 
    false;
            }
            return 
    false;
        }

        public 
    void onRepaint(Graphics g) {
            if (
    isLoggedIn()) {
                if(
    startTime == 0) {
                    
    startTime System.currentTimeMillis();
                }
                
    ArrayList<StringreportList = new ArrayList<String>();
                
    reportList.add("RuskisFight V" getVersion());
                
    int startAttackExp experienceHandler.getSkillExp(STAT_ATTACK);
                
    int startStrengthExp experienceHandler.getSkillExp(STAT_STRENGTH);
                
    int startDefenseExp experienceHandler.getSkillExp(STAT_DEFENSE);
                
    int startHitpointsExp experienceHandler.getSkillExp(STAT_HITPOINTS);
                
    int startRangeExp experienceHandler.getSkillExp(STAT_RANGE);
                
    int startMagicExp experienceHandler.getSkillExp(STAT_MAGIC);
                
    int currentAttackExp skills.getCurrentSkillExp(STAT_ATTACK);
                
    int currentStrengthExp skills.getCurrentSkillExp(STAT_STRENGTH);
                
    int currentDefenseExp skills.getCurrentSkillExp(STAT_DEFENSE);
                
    int currentHitpointsExp skills.getCurrentSkillExp(STAT_HITPOINTS);
                
    int currentRangeExp skills.getCurrentSkillExp(STAT_RANGE);
                
    int currentMagicExp skills.getCurrentSkillExp(STAT_MAGIC);

                if (
    startAttackExp == 0) {
                    
    experienceHandler.setExperiencePoints(STAT_ATTACKskills.getCurrentSkillExp(STAT_ATTACK));
                }
                
    int attackExpChange currentAttackExp startAttackExp;
                if (
    attackExpChange 0) {
                    
    reportList.add("Attack Exp: " attackExpChange);
                }
                if (
    startStrengthExp == 0) {
                    
    experienceHandler.setExperiencePoints(STAT_STRENGTHskills.getCurrentSkillExp(STAT_STRENGTH));
                }
                
    int strengthExpChange currentStrengthExp startStrengthExp;
                if (
    strengthExpChange 0) {
                    
    reportList.add("Strength Exp: " strengthExpChange);
                }
                if (
    startDefenseExp == 0) {
                    
    experienceHandler.setExperiencePoints(STAT_DEFENSEskills.getCurrentSkillExp(STAT_DEFENSE));
                }
                
    int defenseExpChange currentDefenseExp startDefenseExp;
                if (
    defenseExpChange 0) {
                    
    reportList.add("Defense Exp: " defenseExpChange);
                }
                if (
    startHitpointsExp == 0) {
                    
    experienceHandler.setExperiencePoints(STAT_HITPOINTSskills.getCurrentSkillExp(STAT_HITPOINTS));
                }
                
    int hitpointsExpChange currentHitpointsExp startHitpointsExp;
                if (
    hitpointsExpChange 0) {
                    
    reportList.add("Hitpoints Exp: " hitpointsExpChange);
                }
                if (
    startRangeExp == 0) {
                    
    experienceHandler.setExperiencePoints(STAT_RANGEskills.getCurrentSkillExp(STAT_RANGE));
                }
                
    int rangeExpChange currentRangeExp startRangeExp;
                if (
    rangeExpChange 0) {
                    
    reportList.add("Range Exp: " rangeExpChange);
                }
                if (
    startMagicExp == 0) {
                    
    experienceHandler.setExperiencePoints(STAT_MAGICskills.getCurrentSkillExp(STAT_MAGIC));
                }
                
    int magicExpChange currentMagicExp startMagicExp;
                if (
    magicExpChange 0) {
                    
    reportList.add("Magic Exp: " magicExpChange);
                }


                
    long millis System.currentTimeMillis() - startTime;
                
    long hours millis / (1000 60 60);
                
    millis -= hours 1000 60 60;
                
    long minutes millis / (1000 60);
                
    millis -= minutes 1000 60;
                
    long seconds millis 1000;
                
    reportList.add("Runtime: " hours ":" minutes ":" seconds);

                
    Point str = new Point(35025);
                
    g.setColor(new Color(6015520050));
                
    g.fill3DRect(34010165reportList.size() * 20 6true);
                
    g.setColor(new Color(6015520050));
                
    g.fill3DRect(34111163reportList.size() * 20 4true);
                
    g.setColor(Color.WHITE);
                for (
    int a 0reportList.size(); a++) {
                    
    g.drawString(reportList.get(a), str.xstr.y);
                    
    str = new Point(str.xstr.20);
                }
            }
        }
        private final 
    int ATTACK 0;
        private final 
    int WALK 1;
        private final 
    int EAT 2;
        private final 
    int PICKUP 3;
        private final 
    int WAIT 4;
        private final 
    int KILLSCRIPT 999;
        private 
    long startTime 0;
        private 
    int pickUpFail 0;
        private 
    boolean npcCheck false;
        private 
    long lastNPCCheck 0;
        private 
    NPCBase npcBase = new NPCBase();
        private 
    TileBase tileBase = new TileBase();
        private 
    PickUpItemSet pickUpItemSet = new PickUpItemSet();
        private 
    Settings settings = new Settings();
        private 
    ExperienceHandler experienceHandler = new ExperienceHandler();
        private 
    WaitRange waitRange = new WaitRange(new int[]{5001000});
        private final 
    String settingsFileName "RuskisFighterSettings.ini";
        private 
    int[] FOODID = {
            
    189518931891429321422912140322899807223,
            
    6297629362956299752199887228287875682343,
            
    1861134333153253193144347355333339,
            
    3513293381361101365003379365373,
            
    7946385397391336933713373230923252333,
            
    2327233123232335717871807188719071987200,
            
    7208721072187220200320112289229122932295,
            
    2297229923012303189118931895189718991901,
            
    7072706270787064708470827066706819426701,
            
    6703705467057056706021301985199319891978,
            
    5763576519135747190557391909574319071911,
            
    5745295557495751575357555757575957612084,
            
    2034204820362217221322052209205420402080,
            
    2277222522552221225322192281222722232191,
            
    2233209220322074203022812235206420282187,
            
    21852229
        
    }; //Thanks to Bug for ids

        //GUI    

        
    private void showSettingsInterface() {

            
    mainFrame = new javax.swing.JFrame("Ruskis Fighter V" getVersion());
            
    jPanel1 = new javax.swing.JPanel();
            
    jLabel1 = new javax.swing.JLabel();
            
    jPanel2 = new javax.swing.JPanel();
            
    jLabel2 = new javax.swing.JLabel();
            
    npcIDText = new javax.swing.JTextField();
            
    jLabel3 = new javax.swing.JLabel();
            
    jPanel3 = new javax.swing.JPanel();
            
    jLabel4 = new javax.swing.JLabel();
            
    itemIDText = new javax.swing.JTextField();
            
    jLabel5 = new javax.swing.JLabel();
            
    pickUpItemsCheck = new javax.swing.JCheckBox();
            
    jLabel7 = new javax.swing.JLabel();
            
    itemNameText = new javax.swing.JTextField();
            
    jLabel8 = new javax.swing.JLabel();
            
    jPanel4 = new javax.swing.JPanel();
            
    jLabel6 = new javax.swing.JLabel();
            
    eatFoodCheck = new javax.swing.JCheckBox();
            
    stopScriptWhenNoFoodCheck = new javax.swing.JCheckBox();
            
    startButton = new javax.swing.JButton();
            
    saveSettingsCheck = new javax.swing.JCheckBox();
            
    jPanel5 = new javax.swing.JPanel();
            
    jLabel9 = new javax.swing.JLabel();
            
    speedSlider = new javax.swing.JSlider();
            
    jLabel10 = new javax.swing.JLabel();
            
    jLabel11 = new javax.swing.JLabel();

            
    mainFrame.setDefaultCloseOperation(javax.swing.WindowConstants.DISPOSE_ON_CLOSE);
            
    mainFrame.setAlwaysOnTop(true);
            
    mainFrame.setResizable(false);

            
    jPanel1.setBorder(javax.swing.BorderFactory.createTitledBorder(null"Welcome"javax.swing.border.TitledBorder.DEFAULT_JUSTIFICATIONjavax.swing.border.TitledBorder.DEFAULT_POSITION, new java.awt.Font("Tahoma"111))); // NOI18N

            
    jLabel1.setText("<html>Fill out the below form to start auto fighting. You can also click on \"Save Settings\" to save the form input for future use.</html>");

            
    javax.swing.GroupLayout jPanel1Layout = new javax.swing.GroupLayout(jPanel1);
            
    jPanel1.setLayout(jPanel1Layout);
            
    jPanel1Layout.setHorizontalGroup(
                    
    jPanel1Layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING).addGroup(jPanel1Layout.createSequentialGroup().addContainerGap().addComponent(jLabel1javax.swing.GroupLayout.DEFAULT_SIZE331Short.MAX_VALUE).addContainerGap()));
            
    jPanel1Layout.setVerticalGroup(
                    
    jPanel1Layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING).addGroup(jPanel1Layout.createSequentialGroup().addComponent(jLabel1).addContainerGap(javax.swing.GroupLayout.DEFAULT_SIZEShort.MAX_VALUE)));

            
    jPanel2.setBorder(javax.swing.BorderFactory.createTitledBorder(null"NPCs"javax.swing.border.TitledBorder.DEFAULT_JUSTIFICATIONjavax.swing.border.TitledBorder.DEFAULT_POSITION, new java.awt.Font("Tahoma"111))); // NOI18N

            
    jLabel2.setText("NPC IDs:");

            
    jLabel3.setFont(new java.awt.Font("Tahoma"211));
            
    jLabel3.setText("(separate npc ids with a comma, e.g: 123, 423, 23)");

            
    javax.swing.GroupLayout jPanel2Layout = new javax.swing.GroupLayout(jPanel2);
            
    jPanel2.setLayout(jPanel2Layout);
            
    jPanel2Layout.setHorizontalGroup(
                    
    jPanel2Layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING).addGroup(jPanel2Layout.createSequentialGroup().addContainerGap().addComponent(jLabel2).addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.UNRELATED).addGroup(jPanel2Layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING).addComponent(jLabel3).addComponent(npcIDTextjavax.swing.GroupLayout.DEFAULT_SIZE278Short.MAX_VALUE)).addContainerGap()));
            
    jPanel2Layout.setVerticalGroup(
                    
    jPanel2Layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING).addGroup(jPanel2Layout.createSequentialGroup().addGroup(jPanel2Layout.createParallelGroup(javax.swing.GroupLayout.Alignment.BASELINE).addComponent(jLabel2).addComponent(npcIDTextjavax.swing.GroupLayout.PREFERRED_SIZEjavax.swing.GroupLayout.DEFAULT_SIZEjavax.swing.GroupLayout.PREFERRED_SIZE)).addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED).addComponent(jLabel3).addContainerGap(javax.swing.GroupLayout.DEFAULT_SIZEShort.MAX_VALUE)));

            
    jPanel3.setBorder(javax.swing.BorderFactory.createTitledBorder(null"Item pickup"javax.swing.border.TitledBorder.DEFAULT_JUSTIFICATIONjavax.swing.border.TitledBorder.DEFAULT_POSITION, new java.awt.Font("Tahoma"111))); // NOI18N

            
    jLabel4.setText("Item IDs:");

            
    jLabel5.setFont(new java.awt.Font("Tahoma"211));
            
    jLabel5.setText("(separate item ids with a comma, e.g: 123, 423, 23)");

            
    pickUpItemsCheck.setText("Pick up items?");

            
    jLabel7.setText("Item Names:");

            
    jLabel8.setFont(new java.awt.Font("Tahoma"211));
            
    jLabel8.setText("(separate item names with a comma, e.g: coins, arrow)");

            
    javax.swing.GroupLayout jPanel3Layout = new javax.swing.GroupLayout(jPanel3);
            
    jPanel3.setLayout(jPanel3Layout);
            
    jPanel3Layout.setHorizontalGroup(
                    
    jPanel3Layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING).addGroup(jPanel3Layout.createSequentialGroup().addContainerGap().addGroup(jPanel3Layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING).addGroup(jPanel3Layout.createSequentialGroup().addComponent(jLabel4).addGap(181818).addGroup(jPanel3Layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING).addComponent(itemIDTextjavax.swing.GroupLayout.DEFAULT_SIZE268Short.MAX_VALUE).addComponent(jLabel5javax.swing.GroupLayout.DEFAULT_SIZE268Short.MAX_VALUE).addComponent(pickUpItemsCheck).addComponent(jLabel8).addComponent(itemNameTextjavax.swing.GroupLayout.DEFAULT_SIZE268Short.MAX_VALUE))).addComponent(jLabel7)).addContainerGap()));
            
    jPanel3Layout.setVerticalGroup(
                    
    jPanel3Layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING).addGroup(jPanel3Layout.createSequentialGroup().addComponent(pickUpItemsCheck).addGap(101010).addGroup(jPanel3Layout.createParallelGroup(javax.swing.GroupLayout.Alignment.BASELINE).addComponent(jLabel4).addComponent(itemIDTextjavax.swing.GroupLayout.PREFERRED_SIZEjavax.swing.GroupLayout.DEFAULT_SIZEjavax.swing.GroupLayout.PREFERRED_SIZE)).addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED).addComponent(jLabel5).addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.UNRELATED).addGroup(jPanel3Layout.createParallelGroup(javax.swing.GroupLayout.Alignment.BASELINE).addComponent(jLabel7).addComponent(itemNameTextjavax.swing.GroupLayout.PREFERRED_SIZEjavax.swing.GroupLayout.DEFAULT_SIZEjavax.swing.GroupLayout.PREFERRED_SIZE)).addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATEDjavax.swing.GroupLayout.DEFAULT_SIZEShort.MAX_VALUE).addComponent(jLabel8).addContainerGap()));

            
    jPanel4.setBorder(javax.swing.BorderFactory.createTitledBorder(null"Eating/Food"javax.swing.border.TitledBorder.DEFAULT_JUSTIFICATIONjavax.swing.border.TitledBorder.DEFAULT_POSITION, new java.awt.Font("Tahoma"111))); // NOI18N

            
    jLabel6.setFont(new java.awt.Font("Tahoma"211)); // NOI18N

            
    jLabel6.setText("<html>(food is automatically found in inventory)</html>");

            
    eatFoodCheck.setText("Eat food?");

            
    stopScriptWhenNoFoodCheck.setText("Stop script when no food?");

            
    javax.swing.GroupLayout jPanel4Layout = new javax.swing.GroupLayout(jPanel4);
            
    jPanel4.setLayout(jPanel4Layout);
            
    jPanel4Layout.setHorizontalGroup(
                    
    jPanel4Layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING).addGroup(jPanel4Layout.createSequentialGroup().addContainerGap().addGroup(jPanel4Layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING).addGroup(jPanel4Layout.createSequentialGroup().addComponent(eatFoodCheck).addGap(181818).addComponent(stopScriptWhenNoFoodCheck)).addComponent(jLabel6javax.swing.GroupLayout.PREFERRED_SIZE313javax.swing.GroupLayout.PREFERRED_SIZE)).addContainerGap(28Short.MAX_VALUE)));
            
    jPanel4Layout.setVerticalGroup(
                    
    jPanel4Layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING).addGroup(jPanel4Layout.createSequentialGroup().addGroup(jPanel4Layout.createParallelGroup(javax.swing.GroupLayout.Alignment.BASELINE).addComponent(eatFoodCheck).addComponent(stopScriptWhenNoFoodCheck)).addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED).addComponent(jLabel6).addContainerGap(javax.swing.GroupLayout.DEFAULT_SIZEShort.MAX_VALUE)));

            
    startButton.setText("START SCRIPT!");
            
    startButton.addActionListener(this);
            
    saveSettingsCheck.setText("Save Settings?");

            
    jPanel5.setBorder(javax.swing.BorderFactory.createTitledBorder(null"Speed"javax.swing.border.TitledBorder.DEFAULT_JUSTIFICATIONjavax.swing.border.TitledBorder.DEFAULT_POSITION, new java.awt.Font("Tahoma"111))); // NOI18N

            
    jLabel9.setText("<html>Have a try at adjusting to different speeds of the script, different<br> training locations could benefit different speeds, so it's up to you.</html> ");

            
    speedSlider.setMajorTickSpacing(25);
            
    speedSlider.setPaintTicks(true);
            
    speedSlider.setSnapToTicks(true);

            
    jLabel10.setText("Min");

            
    jLabel11.setText("Max");

            
    javax.swing.GroupLayout jPanel5Layout = new javax.swing.GroupLayout(jPanel5);
            
    jPanel5.setLayout(jPanel5Layout);
            
    jPanel5Layout.setHorizontalGroup(
                    
    jPanel5Layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING).addGroup(jPanel5Layout.createSequentialGroup().addGroup(jPanel5Layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING).addGroup(jPanel5Layout.createSequentialGroup().addContainerGap().addComponent(jLabel9)).addGroup(javax.swing.GroupLayout.Alignment.TRAILINGjPanel5Layout.createSequentialGroup().addContainerGap().addComponent(jLabel10).addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.UNRELATED).addComponent(speedSliderjavax.swing.GroupLayout.PREFERRED_SIZEjavax.swing.GroupLayout.DEFAULT_SIZEjavax.swing.GroupLayout.PREFERRED_SIZE).addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED).addComponent(jLabel11).addGap(272727))).addContainerGap(25Short.MAX_VALUE)));
            
    jPanel5Layout.setVerticalGroup(
                    
    jPanel5Layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING).addGroup(jPanel5Layout.createSequentialGroup().addComponent(jLabel9).addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.UNRELATED).addGroup(jPanel5Layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING).addComponent(speedSliderjavax.swing.GroupLayout.PREFERRED_SIZEjavax.swing.GroupLayout.DEFAULT_SIZEjavax.swing.GroupLayout.PREFERRED_SIZE).addComponent(jLabel10).addComponent(jLabel11)).addContainerGap(javax.swing.GroupLayout.DEFAULT_SIZEShort.MAX_VALUE)));

            
    javax.swing.GroupLayout layout = new javax.swing.GroupLayout(mainFrame.getContentPane());
            
    mainFrame.getContentPane().setLayout(layout);
            
    layout.setHorizontalGroup(
                    
    layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING).addComponent(jPanel1javax.swing.GroupLayout.DEFAULT_SIZEjavax.swing.GroupLayout.DEFAULT_SIZEShort.MAX_VALUE).addComponent(jPanel2javax.swing.GroupLayout.DEFAULT_SIZEjavax.swing.GroupLayout.DEFAULT_SIZEShort.MAX_VALUE).addComponent(jPanel4javax.swing.GroupLayout.DEFAULT_SIZEjavax.swing.GroupLayout.DEFAULT_SIZEShort.MAX_VALUE).addComponent(jPanel3javax.swing.GroupLayout.DEFAULT_SIZEjavax.swing.GroupLayout.DEFAULT_SIZEShort.MAX_VALUE).addComponent(jPanel5javax.swing.GroupLayout.DEFAULT_SIZEjavax.swing.GroupLayout.DEFAULT_SIZEShort.MAX_VALUE).addGroup(layout.createSequentialGroup().addGap(130130130).addComponent(saveSettingsCheck).addContainerGap(136Short.MAX_VALUE)).addGroup(layout.createSequentialGroup().addContainerGap().addComponent(startButtonjavax.swing.GroupLayout.DEFAULT_SIZE343Short.MAX_VALUE).addContainerGap()));
            
    layout.setVerticalGroup(
                    
    layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING).addGroup(layout.createSequentialGroup().addComponent(jPanel1javax.swing.GroupLayout.PREFERRED_SIZEjavax.swing.GroupLayout.DEFAULT_SIZEjavax.swing.GroupLayout.PREFERRED_SIZE).addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED).addComponent(jPanel2javax.swing.GroupLayout.PREFERRED_SIZEjavax.swing.GroupLayout.DEFAULT_SIZEjavax.swing.GroupLayout.PREFERRED_SIZE).addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED).addComponent(jPanel3javax.swing.GroupLayout.PREFERRED_SIZEjavax.swing.GroupLayout.DEFAULT_SIZEjavax.swing.GroupLayout.PREFERRED_SIZE).addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED).addComponent(jPanel4javax.swing.GroupLayout.PREFERRED_SIZEjavax.swing.GroupLayout.DEFAULT_SIZEjavax.swing.GroupLayout.PREFERRED_SIZE).addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED).addComponent(jPanel5javax.swing.GroupLayout.PREFERRED_SIZEjavax.swing.GroupLayout.DEFAULT_SIZEjavax.swing.GroupLayout.PREFERRED_SIZE).addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.UNRELATED).addComponent(saveSettingsCheck).addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.UNRELATED).addComponent(startButton).addContainerGap(27Short.MAX_VALUE)));

            
    mainFrame.pack();
            
    mainFrame.setVisible(true);
        }

        public 
    void actionPerformed(ActionEvent action) {
            
    Object event action.getSource();
            if (
    event.equals(startButton)) {
                
    settings.setNPCIDs(settings.extractIntegers(npcIDText.getText()));
                
    settings.setEatFood(eatFoodCheck.isSelected());
                
    settings.setStopScriptWhenNoFood(stopScriptWhenNoFoodCheck.isSelected());
                
    settings.setPickUpItems(pickUpItemsCheck.isSelected());
                if (
    settings.getPickUpItems()) {
                    
    settings.setItemIDs(settings.extractIntegers(itemIDText.getText()));
                    
    settings.setItemNames(settings.extractStrings(itemNameText.getText()));
                }
                
    settings.setSpeed(speedSlider.getValue());
                if (
    saveSettingsCheck.isSelected()) {
                    try {
                        
    settings.saveSettings(settings.getSettingsArray(), settingsFileName);
                        
    log("Successfully saved settings at RuskisFighterSettings.ini");
                    } catch (
    Exception e) {
                        
    System.out.print("saving settings error: " e);
                    }
                }
                
    mainFrame.setVisible(false);
                
    mainFrame.dispose();
                
    START_SCRIPT true;
            }
        }
        private 
    boolean START_SCRIPT false;
        private 
    javax.swing.JCheckBox eatFoodCheck;
        private 
    javax.swing.JTextField itemIDText;
        private 
    javax.swing.JTextField itemNameText;
        private 
    javax.swing.JLabel jLabel1;
        private 
    javax.swing.JLabel jLabel10;
        private 
    javax.swing.JLabel jLabel11;
        private 
    javax.swing.JLabel jLabel2;
        private 
    javax.swing.JLabel jLabel3;
        private 
    javax.swing.JLabel jLabel4;
        private 
    javax.swing.JLabel jLabel5;
        private 
    javax.swing.JLabel jLabel6;
        private 
    javax.swing.JLabel jLabel7;
        private 
    javax.swing.JLabel jLabel8;
        private 
    javax.swing.JLabel jLabel9;
        private 
    javax.swing.JPanel jPanel1;
        private 
    javax.swing.JPanel jPanel2;
        private 
    javax.swing.JPanel jPanel3;
        private 
    javax.swing.JPanel jPanel4;
        private 
    javax.swing.JPanel jPanel5;
        private 
    javax.swing.JTextField npcIDText;
        private 
    javax.swing.JCheckBox pickUpItemsCheck;
        private 
    javax.swing.JCheckBox saveSettingsCheck;
        private 
    javax.swing.JSlider speedSlider;
        private 
    javax.swing.JButton startButton;
        private 
    javax.swing.JCheckBox stopScriptWhenNoFoodCheck;
        private 
    javax.swing.JFrame mainFrame;
    }

    class 
    WaitRange implements NonPluginClass {

        
    int[] range = new int[2];

        public 
    WaitRange(int[] range) {
            
    this.range[0] = range[0];
            
    this.range[1] = range[1];
        }
    }

    class 
    NPCBase implements NonPluginClass {

        
    RSNPC npc;

        public 
    NPCBase() {
        }

        public 
    void setNPC(RSNPC npc) {
            
    this.npc npc;
        }
    }

    class 
    TileBase implements NonPluginClass {

        
    RSTile tile;
        
    RSTile halfWayTile;
        
    boolean useHalfTile false;

        public 
    TileBase() {
        }

        public 
    void setUseHalfTile(boolean a) {
            
    this.useHalfTile a;
        }

        public 
    void setTile(RSTile tile) {
            
    this.tile tile;
        }

        public 
    RSTile calcHalfWayTile(RSTile locationRSTile tile) {
            return new 
    RSTile((tile.getX() + location.getX()) / 2, (tile.getY() + location.getY()) / 2);
        }

        public 
    void setHalfWayTile(RSTile tile) {
            
    this.halfWayTile tile;
        }

        public 
    RSTile getHalfWayTile() {
            return 
    this.halfWayTile;
        }
    }

    class 
    PickUpItemSet implements NonPluginClass {

        
    RSItemTile tile;

        public 
    PickUpItemSet() {
        }

        public 
    void setItemTile(RSItemTile tile) {
            
    this.tile tile;
        }
    }

    class 
    ExperienceHandler implements NonPluginClass {

        
    int[][] skillExp = new int[24][1];

        public 
    ExperienceHandler() {
        }

        public 
    void setExperiencePoints(int skillint exp) {
            
    this.skillExp[skill][0] = exp;
        }

        public 
    int getSkillExp(int skill) {
            return 
    this.skillExp[skill][0];
        }
    }

    class 
    Settings implements NonPluginClass {

        protected 
    int[] npcIDs = new int[50];
        protected 
    int[] itemIDs = new int[50];
        protected 
    String[] itemNames = new String[50];
        protected 
    boolean pickUpItems false;
        protected 
    boolean stopScriptWhenNoFood false;
        protected 
    boolean eatFood false;
        protected 
    int speed 0;

        public 
    Settings() {
        }

        public 
    void setNPCIDs(int[] ids) {
            
    this.npcIDs ids;
        }

        public 
    void setItemIDs(int[] ids) {
            
    this.itemIDs ids;
        }

        public 
    void setItemNames(String[] names) {
            
    this.itemNames names;
        }

        public 
    void setPickUpItems(boolean a) {
            
    this.pickUpItems a;
        }

        public 
    void setStopScriptWhenNoFood(boolean a) {
            
    this.stopScriptWhenNoFood a;
        }

        public 
    void setEatFood(boolean a) {
            
    this.eatFood a;
        }

        public 
    void setSpeed(int speed) {
            
    this.speed speed;
        }

        public 
    int[] getNPCIDs() {
            return 
    this.npcIDs;
        }

        public 
    int[] getItemIDs() {
            return 
    this.itemIDs;
        }

        public 
    String[] getItemNames() {
            return 
    this.itemNames;
        }

        public 
    boolean getPickUpItems() {
            return 
    this.pickUpItems;
        }

        public 
    boolean getStopScriptWhenNoFood() {
            return 
    this.stopScriptWhenNoFood;
        }

        public 
    boolean getEatFood() {
            return 
    this.eatFood;
        }

        public 
    int getSpeed() {
            return 
    this.speed;
        }

        public 
    int[] extractIntegers(String text) {
            
    int[] ints null;
            try {
                
    text text.replaceAll(" """);
                
    String[] strInts text.split(",");
                
    ints = new int[strInts.length];
                for (
    int a 0strInts.lengtha++) {
                    
    ints[a] = Integer.parseInt(strInts[a]);
                }
            } catch (
    Exception e) {
                
    System.out.print("extractIntegers(String) error: " e);
            }
            return 
    ints;
        }

        public 
    String[] extractStrings(String text) {
            return 
    text.split(",");
        }

        public 
    boolean extractBoolean(String text) {
            return (
    text.equals("true"));
        }

        public 
    String booleanToString(boolean a) {
            if (
    a) {
                return 
    "true";
            } else {
                return 
    "false";
            }
        }

        public 
    void setSettings() {
            try {
                
    String filename "RuskisFighterSettings.ini";
                
    this.npcIDs extractIntegers(getSetting("NPCIDS"filename));
                
    this.eatFood extractBoolean(getSetting("EATFOOD"filename));
                
    this.pickUpItems extractBoolean(getSetting("PICKUPITEMS"filename));
                
    this.stopScriptWhenNoFood extractBoolean(getSetting("STOPSCRIPTWHENNOFOOD"filename));
                
    this.speed Integer.parseInt(getSetting("SPEED"filename));
                if (
    this.pickUpItems) {
                    
    this.itemIDs extractIntegers(getSetting("ITEMIDS"filename));
                    
    this.itemNames extractStrings(getSetting("ITEMNAMES"filename));
                }
            } catch (
    Exception e) {
                
    System.out.print("setSettings error: " e);
            }
        }

        public 
    String getSetting(String settingNameString filename) {
            try {
                
    Properties p = new Properties();
                
    p.load(new FileInputStream(filename));
                return 
    p.getProperty(settingName);
            } catch (
    IOException ioe) {
                
    System.out.print("loadSettings(String) error: " ioe);
                return 
    null;
            }
        }

        public 
    String intArrayToString(int[] array) {
            
    String intArray "";
            for (
    int a 0< array.lengtha++) {
                if (array[
    a] != 0) {
                    
    intArray += array[a];
                    if (
    != array.length 1) {
                        
    intArray += ",";
                    }
                }
            }
            return 
    intArray;
        }

        public 
    String stringArrayToString(String[] array) {
            
    String strArray "";
            if (array.
    length <= 0) {
                return 
    "";
            }
            for (
    int a 0< array.lengtha++) {
                if (!array[
    a].equals(null) && !array[a].equals("")) {
                    
    strArray += array[a];
                    if (
    != array.length 1) {
                        
    strArray += ",";
                    }
                }
            }
            return 
    strArray;
        }

        public 
    String[][] getSettingsArray() {
            
    String[][] settingsArray;
            if (
    getPickUpItems()) {
                
    settingsArray = new String[7][2];
            } else {
                
    settingsArray = new String[5][2];
            }
            
    settingsArray[0][0] = "NPCIDS";
            
    settingsArray[0][1] = intArrayToString(getNPCIDs());
            
    settingsArray[1][0] = "PICKUPITEMS";
            
    settingsArray[1][1] = booleanToString(getPickUpItems());
            if (
    getPickUpItems()) {
                
    settingsArray[2][0] = "ITEMIDS";
                
    settingsArray[2][1] = intArrayToString(getItemIDs());
                
    settingsArray[3][0] = "ITEMNAMES";
                
    settingsArray[3][1] = stringArrayToString(getItemNames());
                
    settingsArray[4][0] = "STOPSCRIPTWHENNOFOOD";
                
    settingsArray[4][1] = booleanToString(getStopScriptWhenNoFood());
                
    settingsArray[5][0] = "EATFOOD";
                
    settingsArray[5][1] = booleanToString(getEatFood());
                
    settingsArray[6][0] = "SPEED";
                
    settingsArray[6][1] = "" getSpeed();
            } else {
                
    settingsArray[2][0] = "STOPSCRIPTWHENNOFOOD";
                
    settingsArray[2][1] = booleanToString(getStopScriptWhenNoFood());
                
    settingsArray[3][0] = "EATFOOD";
                
    settingsArray[3][1] = booleanToString(getEatFood());
                
    settingsArray[4][0] = "SPEED";
                
    settingsArray[4][1] = "" getSpeed();
            }

            return 
    settingsArray;
        }

        public 
    void saveSettings(String[][] settingsString filename) {
            try {
                
    Properties p = new Properties();
                
    File file = new File(filename);
                
    file.createNewFile();
                
    p.load(new FileInputStream(filename));
                for (
    int a 0settings.lengtha++) {
                    
    p.setProperty(settings[a][0], settings[a][1]);
                }
                
    FileOutputStream out = new FileOutputStream(filename);
                
    p.store(out"");
            } catch (
    IOException ioe) {
                
    System.out.print("saveSettings(String[][]) error: " ioe);
            }
        }

        public 
    boolean settingsExist(String filename) {
            
    File settingsFile = new File(filename);
            return 
    settingsFile.exists();
        }
    }
     
  16. cpljacksparrow

    cpljacksparrow Member

    Joined:
    Jan 21, 2009
    Posts:
    66
    Referrals:
    0
    Sythe Gold:
    0
    .:[~]Official RSBot Scripts+Requests Sticky!{RSBot}[~]:.

    SatansSon script pack blows this out of the water
     
  17. Iwantlvl99

    Iwantlvl99 Apprentice
    Banned

    Joined:
    Jan 24, 2009
    Posts:
    726
    Referrals:
    0
    Sythe Gold:
    0
    .:[~]Official RSBot Scripts+Requests Sticky!{RSBot}[~]:.

    i needed antibans like chat responder :) thnx so much;)
     
  18. deadlywario0

    deadlywario0 Active Member

    Joined:
    Nov 29, 2008
    Posts:
    129
    Referrals:
    0
    Sythe Gold:
    0
    .:[~]Official RSBot Scripts+Requests Sticky!{RSBot}[~]:.

    can you use scripts without RS bot cause mine is down as of Feb. 6th 2009, says its out of date HELP PL0X
     
  19. Zach7662

    Zach7662 Newcomer

    Joined:
    Feb 6, 2009
    Posts:
    4
    Referrals:
    0
    Sythe Gold:
    0
    .:[~]Official RSBot Scripts+Requests Sticky!{RSBot}[~]:.

    I am looking for a miner that will mine the 31 coal deposits above edgeville in the wilderness and i would like it to bank in edgeville.
     
  20. xenocide

    xenocide Active Member

    Joined:
    Jan 4, 2009
    Posts:
    160
    Referrals:
    0
    Sythe Gold:
    0
    .:[~]Official RSBot Scripts+Requests Sticky!{RSBot}[~]:.

    it would be great if someone could make a seers yew cutter :) all my other wc scripts are messing up >.>
     
< Scammed by Thugs | cyber cry scammed me me 36 d stones >
Thread Status:
Not open for further replies.


 
 
Adblock breaks this site