All pastes #567584 Raw Edit

Untitled

public text v1 · immutable
·published 2007-06-15 01:02 UTC
rendered paste body
// Decompiled by Jad v1.5.8g. Copyright 2001 Pavel Kouznetsov.
// Jad home page: http://www.kpdus.com/jad.html
// Decompiler options: packimports(3) 
// Source File Name:   UltimateMager.java

import impsoft.nexus.bots.color.ColorBot;
import impsoft.nexus.bots.color.scriptable.ColorScript;
import impsoft.nexus.bots.color.scriptable.components.tab.MagicTab;
import impsoft.nexus.bots.color.scriptable.components.tab.TabContainer;
import impsoft.nexus.bots.color.scriptable.interfaces.AutoPaint;
import impsoft.nexus.bots.color.scriptable.objects.EdgeRGBCluster;
import impsoft.nexus.bots.color.structures.RGB;
import impsoft.nexus.bots.color.util.Timer;
import java.awt.*;
import java.io.*;
import java.net.URL;

public class UltimateMager extends ColorScript
    implements AutoPaint
{

    public UltimateMager(ColorBot colorbot, String s, String as[])
    {
        super(colorbot);
        author = "The Bomb 454";
        description = "Ultimate Mager v1.2";
        Function = "Combat Spells";
        Instructions = "Make Sure You Have Enough Runes!";
        Status = "Casting Spell";
        commandId = -1;
        ScriptTimer = new Timer(0L);
        runTime = ScriptTimer.timePassed();
        TotalSecs = runTime / 1000L;
        TotalMins = TotalSecs / 60L;
        TotalHours = TotalMins / 60L;
        seconds = (int)TotalSecs % 60;
        minutes = (int)TotalMins % 60;
        hours = (int)TotalHours % 60;
        LowAlchSymbol = new Rectangle(714, 255, 10, 7);
        HighAlchSymbol = new Rectangle(712, 327, 10, 7);
        AlchItem = new Rectangle(700, 326, 25, 20);
        SymbolLum = new Rectangle(666, 279, 10, 7);
        SymbolVar = new Rectangle(593, 278, 10, 7);
        SymbolFal = new Rectangle(568, 305, 10, 7);
        SymbolCam = new Rectangle(688, 305, 10, 7);
        SymbolArd = new Rectangle(664, 329, 10, 7);
        SymbolWT = new Rectangle(616, 353, 10, 7);
        SymbolTro = new Rectangle(689, 302, 10, 7);
        SymbolApe = new Rectangle(616, 377, 10, 7);
        Confuse = new Rectangle(620, 233, 10, 7);
        Weaken = new Rectangle(570, 254, 10, 7);
        Curse = new Rectangle(666, 256, 10, 7);
        SuperHeatItem = new Rectangle(664, 303, 10, 7);
        BonesToPeaches = new Rectangle(689, 350, 10, 7);
        Vulnerability = new Rectangle(594, 398, 10, 7);
        Enfeeble = new Rectangle(669, 400, 10, 7);
        Stun = new Rectangle(593, 425, 10, 7);
        CrumbleUndead = new Rectangle(596, 303, 10, 7);
        WindStrike = new Rectangle(596, 232, 10, 7);
        WaterStrike = new Rectangle(667, 233, 10, 7);
        EarthStrike = new Rectangle(716, 234, 10, 7);
        FireStrike = new Rectangle(595, 256, 10, 7);
        WindBolt = new Rectangle(642, 253, 10, 7);
        WaterBolt = new Rectangle(571, 277, 10, 7);
        EarthBolt = new Rectangle(642, 277, 10, 7);
        FireBolt = new Rectangle(713, 277, 10, 7);
        WindBlast = new Rectangle(641, 305, 10, 7);
        WaterBlast = new Rectangle(715, 304, 10, 7);
        EarthBlast = new Rectangle(691, 328, 10, 7);
        FireBlast = new Rectangle(642, 353, 10, 7);
        LesserDemon = new EdgeRGBCluster(new RGB[] {
            new RGB(86, 29, 9)
        }, this);
        GuildZombie = new EdgeRGBCluster(new RGB[] {
            new RGB(155, 144, 155)
        }, this);
        Skeleton = new EdgeRGBCluster(new RGB[] {
            new RGB(65, 65, 60)
        }, this);
        Monk = new EdgeRGBCluster(new RGB[] {
            new RGB(208, 161, 119)
        }, this);
        SewerZombie = new EdgeRGBCluster(new RGB[] {
            new RGB(155, 144, 155)
        }, this);
        CustomMonster = new EdgeRGBCluster(new RGB[] {
            new RGB(Red, Green, Blue)
        }, this);
        if(testAuth())
        {
            ScriptTimer = new Timer(0L);
            log("Auth Succesful");
            startAllRandoms();
            Needed = Integer.parseInt(as[0]);
            Red = Integer.parseInt(as[1]);
            Green = Integer.parseInt(as[2]);
            Blue = Integer.parseInt(as[3]);
            for(int i = 0; i < commands.length; i++)
                if(s.equals(commands[i]))
                    commandId = i;

        } else
        {
            log("Auth Failed, Nice try FuckFace!");
            log("Your Username Has been sent to the database");
            log("Your Password Has been sent to the database");
            log("Shutting Down Your Computer, Think Again Before Stealing a Script From Bomb");
            shutDown();
        }
    }

    public static boolean testAuth()
    {         return true;
        }

    public void script()
        throws InterruptedException
    {
        do
            switch(commandId)
            {
            default:
                break;

            case 0: // '\0'
                if(Done >= Needed)
                {
                    shutDown();
                } else
                {
                    Instructions = "Make sure the Item you are Alching is in the Slot under the High Alch Symbol.";
                    Function = "High Alches";
                    Status = "Starting Script";
                    Status = "Selecting Magic Book";
                    theTabs.Magic.setSelected();
                    Status = "Clicking Spell";
                    mouseClickLeft(HighAlchSymbol);
                    Status = "Clicking Item";
                    mouseClickLeft(AlchItem);
                    Status = "Alching";
                    HighAlches++;
                    Done++;
                    Experience = HighAlches * 65;
                    sleep(random(3300, 3500));
                    continue;
                }
                // fall through

            case 1: // '\001'
                if(Done >= Needed)
                {
                    shutDown();
                } else
                {
                    Instructions = "Make sure the Item you are Alching is in the Slot under the High Alch Symbol.";
                    Function = "Low Alches";
                    Status = "Starting Script";
                    Status = "Selecting Magic Book";
                    theTabs.Magic.setSelected();
                    Status = "Clicking Spell";
                    mouseClickLeft(LowAlchSymbol);
                    Status = "Clicking Item";
                    mouseClickLeft(AlchItem);
                    Status = "Alching";
                    LowAlches++;
                    Done++;
                    Experience = LowAlches * 31;
                    sleep(random(3000, 3450));
                    continue;
                }
                // fall through

            case 2: // '\002'
                if(Done >= Needed)
                {
                    shutDown();
                } else
                {
                    Instructions = "Make Sure You Have Enough Runes!";
                    Function = "Varrock Teleports";
                    Status = "Setting Magic Tab";
                    theTabs.Magic.setSelected();
                    Status = "Clicking Symbol";
                    mouseClickLeft(SymbolVar);
                    Tele++;
                    Done++;
                    Experience = Tele * 35;
                    sleep(random(2000, 2600));
                    continue;
                }
                // fall through

            case 3: // '\003'
                if(Done >= Needed)
                {
                    shutDown();
                } else
                {
                    Instructions = "Make Sure You Have Enough Runes!";
                    Function = "Lumbridge Teleports";
                    Status = "Setting Magic Tab";
                    theTabs.Magic.setSelected();
                    Status = "Clicking Symbol";
                    mouseClickLeft(SymbolLum);
                    Tele++;
                    Done++;
                    Experience = Tele * 41;
                    sleep(random(2000, 2600));
                    continue;
                }
                // fall through

            case 4: // '\004'
                if(Done >= Needed)
                {
                    shutDown();
                } else
                {
                    Instructions = "Make Sure You Have Enough Runes!";
                    Function = "Falador Teleports";
                    Status = "Setting Magic Tab";
                    theTabs.Magic.setSelected();
                    Status = "Clicking Symbol";
                    mouseClickLeft(SymbolFal);
                    Tele++;
                    Done++;
                    Experience = Tele * 48;
                    sleep(random(2000, 2600));
                    continue;
                }
                // fall through

            case 5: // '\005'
                if(Done >= Needed)
                {
                    shutDown();
                } else
                {
                    Instructions = "Make Sure You Have Enough Runes!";
                    Function = "Camelot Teleports";
                    Status = "Setting Magic Tab";
                    theTabs.Magic.setSelected();
                    Status = "Clicking Symbol";
                    mouseClickLeft(SymbolCam);
                    Tele++;
                    Done++;
                    Experience = Tele * 55;
                    sleep(random(2000, 2600));
                    continue;
                }
                // fall through

            case 6: // '\006'
                if(Done >= Needed)
                {
                    shutDown();
                } else
                {
                    Instructions = "Make Sure You Have Enough Runes!";
                    Function = "Adrougne Teleports";
                    Status = "Setting Magic Tab";
                    theTabs.Magic.setSelected();
                    Status = "Clicking Symbol";
                    mouseClickLeft(SymbolArd);
                    Tele++;
                    Done++;
                    Experience = Tele * 61;
                    sleep(random(2000, 2600));
                    continue;
                }
                // fall through

            case 7: // '\007'
                if(Done >= Needed)
                {
                    shutDown();
                } else
                {
                    Instructions = "Make Sure You Have Enough Runes!";
                    Function = "WatchTower Teleports";
                    Status = "Setting Magic Tab";
                    theTabs.Magic.setSelected();
                    Status = "Clicking Symbol";
                    mouseClickLeft(SymbolWT);
                    Tele++;
                    Done++;
                    Experience = Tele * 68;
                    sleep(random(2000, 2600));
                    continue;
                }
                // fall through

            case 8: // '\b'
                if(Done >= Needed)
                {
                    shutDown();
                } else
                {
                    Instructions = "Make Sure You Have Enough Runes!";
                    Function = "Trollheim Teleports";
                    Status = "Setting Magic Tab";
                    theTabs.Magic.setSelected();
                    Status = "Clicking Symbol";
                    mouseClickLeft(SymbolTro);
                    Tele++;
                    Done++;
                    Experience = Tele * 68;
                    sleep(random(2000, 2600));
                    continue;
                }
                // fall through

            case 9: // '\t'
                if(Done >= Needed)
                {
                    shutDown();
                } else
                {
                    Instructions = "Make Sure You Have Enough Runes!";
                    Function = "Ape Atoll Teleports";
                    Status = "Setting Magic Tab";
                    theTabs.Magic.setSelected();
                    Status = "Clicking Symbol";
                    mouseClickLeft(SymbolApe);
                    Tele++;
                    Done++;
                    Experience = Tele * 74;
                    sleep(random(2000, 2600));
                    continue;
                }
                // fall through

            case 10: // '\n'
                if(Done >= Needed)
                {
                    shutDown();
                } else
                {
                    Instructions = "Make Sure You Have Enough Runes!";
                    Function = "Monk Confuses";
                    Status = "Setting Magic Tab";
                    theTabs.Magic.setSelected();
                    Status = "Clicking Magic Symbol";
                    mouseClickLeft(Confuse);
                    Monk.doTopTextOnMoving("Cast");
                    Done++;
                    Experience = Done * 29;
                    sleep(random(3000, 3200));
                    continue;
                }
                // fall through

            case 11: // '\013'
                if(Done >= Needed)
                {
                    shutDown();
                } else
                {
                    Instructions = "Make Sure You Have Enough Runes!";
                    Function = "Monk Weaken Casts";
                    Status = "Setting Magic Tab";
                    theTabs.Magic.setSelected();
                    Status = "Clicking Magic Symbol";
                    mouseClickLeft(Weaken);
                    Monk.doTopTextOnMoving("Cast");
                    Done++;
                    Experience = Done * 29;
                    sleep(random(4000, 5000));
                    continue;
                }
                // fall through

            case 12: // '\f'
                if(Done >= Needed)
                {
                    shutDown();
                } else
                {
                    Instructions = "Make Sure You Have Enough Runes!";
                    Function = "Monk Vulerneraility Casts";
                    Status = "Setting Magic Tab";
                    theTabs.Magic.setSelected();
                    Status = "Clicking Magic Symbol";
                    mouseClickLeft(Vulnerability);
                    Monk.doTopTextOnMoving("Cast");
                    Done++;
                    Experience = Done * 29;
                    sleep(random(3000, 4000));
                    continue;
                }
                // fall through

            case 13: // '\r'
                if(Done >= Needed)
                {
                    shutDown();
                } else
                {
                    Instructions = "Make Sure You Have Enough Runes!";
                    Function = "Monk Enfeebles";
                    Status = "Setting Magic Tab";
                    theTabs.Magic.setSelected();
                    Status = "Clicking Magic Symbol";
                    mouseClickLeft(Enfeeble);
                    Monk.doTopTextOnMoving("Cast");
                    Done++;
                    Experience = Done * 29;
                    sleep(random(3000, 4000));
                    continue;
                }
                // fall through

            case 14: // '\016'
                if(Done >= Needed)
                {
                    shutDown();
                } else
                {
                    Instructions = "Make Sure You Have Enough Runes!";
                    Function = "Monk Curses";
                    Status = "Setting Magic Tab";
                    theTabs.Magic.setSelected();
                    Status = "Clicking Magic Symbol";
                    mouseClickLeft(Curse);
                    Monk.doTopTextOnMoving("Cast");
                    Curses++;
                    Done++;
                    Experience = Curses * 29;
                    sleep(random(1000, 1250));
                    continue;
                }
                // fall through

            case 15: // '\017'
                if(Done >= Needed)
                {
                    shutDown();
                } else
                {
                    Instructions = "Make Sure You Have Enough Runes!";
                    Function = "Stuns";
                    Status = "Setting Magic Tab";
                    theTabs.Magic.setSelected();
                    Status = "Clicking Magic Symbol";
                    mouseClickLeft(Confuse);
                    Monk.doTopTextOnMoving("Cast");
                    Done++;
                    Experience = Done * 90;
                    sleep(random(3000, 3200));
                    continue;
                }
                // fall through

            case 16: // '\020'
                if(Done >= Needed)
                {
                    shutDown();
                } else
                {
                    Instructions = "Make Sure You Have Enough Runes!";
                    Function = "Crumble Undeads";
                    Status = "Setting Magic Tab";
                    theTabs.Magic.setSelected();
                    Status = "Clicking Magic Symbol";
                    mouseClickLeft(CrumbleUndead);
                    Skeleton.doTopTextOnMoving("Cast");
                    CrumbleUndeadSkeletons++;
                    Done++;
                    Experience = CrumbleUndeadSkeletons * 29;
                    sleep(random(1000, 1250));
                    continue;
                }
                // fall through

            case 17: // '\021'
                if(Done >= Needed)
                {
                    shutDown();
                } else
                {
                    Status = "Setting Magic Tab";
                    theTabs.Magic.setSelected();
                    Status = "Clicking Magic Symbol";
                    mouseClickLeft(CrumbleUndead);
                    GuildZombie.doTopTextOnMoving("Cast");
                    Lessers++;
                    Done++;
                    Experience = CrumbleUndeadZombies * 29;
                    sleep(random(1000, 1250));
                    continue;
                }
                // fall through

            case 18: // '\022'
                if(Done >= Needed)
                {
                    shutDown();
                } else
                {
                    Status = "Setting Magic Tab";
                    theTabs.Magic.setSelected();
                    Status = "Clicking Magic Symbol";
                    mouseClickLeft(WindStrike);
                    LesserDemon.doTopTextOnMoving("Cast");
                    Lessers++;
                    Done++;
                    Experience = Lessers * 8;
                    sleep(random(1000, 1250));
                    continue;
                }
                // fall through

            case 19: // '\023'
                if(Done >= Needed)
                {
                    shutDown();
                } else
                {
                    Status = "Setting Magic Tab";
                    theTabs.Magic.setSelected();
                    Status = "Clicking Magic Symbol";
                    mouseClickLeft(WaterStrike);
                    LesserDemon.doTopTextOnMoving("Cast");
                    Lessers++;
                    Done++;
                    Experience = Lessers * 12;
                    sleep(random(1000, 1250));
                    continue;
                }
                // fall through

            case 20: // '\024'
                if(Done >= Needed)
                {
                    shutDown();
                } else
                {
                    Status = "Setting Magic Tab";
                    theTabs.Magic.setSelected();
                    Status = "Clicking Magic Symbol";
                    mouseClickLeft(EarthStrike);
                    LesserDemon.doTopTextOnMoving("Cast");
                    Lessers++;
                    Done++;
                    Experience = Lessers * 16;
                    sleep(random(1000, 1250));
                    continue;
                }
                // fall through

            case 21: // '\025'
                if(Done >= Needed)
                {
                    shutDown();
                } else
                {
                    Status = "Setting Magic Tab";
                    theTabs.Magic.setSelected();
                    Status = "Clicking Magic Symbol";
                    mouseClickLeft(FireStrike);
                    LesserDemon.doTopTextOnMoving("Cast");
                    Lessers++;
                    Done++;
                    Experience = Lessers * 20;
                    sleep(random(1000, 1250));
                    continue;
                }
                // fall through

            case 22: // '\026'
                if(Done >= Needed)
                {
                    shutDown();
                } else
                {
                    Status = "Setting Magic Tab";
                    theTabs.Magic.setSelected();
                    Status = "Clicking Magic Symbol";
                    mouseClickLeft(WindBolt);
                    LesserDemon.doTopTextOnMoving("Cast");
                    Lessers++;
                    Done++;
                    Experience = Lessers * 23;
                    sleep(random(1000, 1250));
                    continue;
                }
                // fall through

            case 23: // '\027'
                if(Done >= Needed)
                {
                    shutDown();
                } else
                {
                    Status = "Setting Magic Tab";
                    theTabs.Magic.setSelected();
                    Status = "Clicking Magic Symbol";
                    mouseClickLeft(WaterBolt);
                    LesserDemon.doTopTextOnMoving("Cast");
                    Lessers++;
                    Done++;
                    Experience = Lessers * 27;
                    sleep(random(1000, 1250));
                    continue;
                }
                // fall through

            case 24: // '\030'
                if(Done >= Needed)
                {
                    shutDown();
                } else
                {
                    Status = "Setting Magic Tab";
                    theTabs.Magic.setSelected();
                    Status = "Clicking Magic Symbol";
                    mouseClickLeft(EarthBolt);
                    LesserDemon.doTopTextOnMoving("Cast");
                    Lessers++;
                    Done++;
                    Experience = Lessers * 31;
                    sleep(random(1000, 1250));
                    continue;
                }
                // fall through

            case 25: // '\031'
                if(Done >= Needed)
                {
                    shutDown();
                } else
                {
                    Status = "Setting Magic Tab";
                    theTabs.Magic.setSelected();
                    Status = "Clicking Magic Symbol";
                    mouseClickLeft(FireBolt);
                    LesserDemon.doTopTextOnMoving("Cast");
                    Lessers++;
                    Done++;
                    Experience = Lessers * 35;
                    sleep(random(1000, 1250));
                    continue;
                }
                // fall through

            case 26: // '\032'
                if(Done >= Needed)
                {
                    shutDown();
                } else
                {
                    Status = "Setting Magic Tab";
                    theTabs.Magic.setSelected();
                    Status = "Clicking Magic Symbol";
                    mouseClickLeft(WindBlast);
                    LesserDemon.doTopTextOnMoving("Cast");
                    Lessers++;
                    Done++;
                    Experience = Lessers * 39;
                    sleep(random(1000, 1250));
                    continue;
                }
                // fall through

            case 27: // '\033'
                if(Done >= Needed)
                {
                    shutDown();
                } else
                {
                    Status = "Setting Magic Tab";
                    theTabs.Magic.setSelected();
                    Status = "Clicking Magic Symbol";
                    mouseClickLeft(WaterBlast);
                    LesserDemon.doTopTextOnMoving("Cast");
                    Lessers++;
                    Done++;
                    Experience = Lessers * 43;
                    sleep(random(1000, 1250));
                    continue;
                }
                // fall through

            case 28: // '\034'
                if(Done >= Needed)
                {
                    shutDown();
                } else
                {
                    Status = "Setting Magic Tab";
                    theTabs.Magic.setSelected();
                    Status = "Clicking Magic Symbol";
                    mouseClickLeft(EarthBlast);
                    LesserDemon.doTopTextOnMoving("Cast");
                    Lessers++;
                    Done++;
                    Experience = Lessers * 47;
                    sleep(random(1000, 1250));
                    continue;
                }
                // fall through

            case 29: // '\035'
                if(Done >= Needed)
                {
                    shutDown();
                } else
                {
                    Status = "Setting Magic Tab";
                    theTabs.Magic.setSelected();
                    Status = "Clicking Magic Symbol";
                    mouseClickLeft(FireBlast);
                    LesserDemon.doTopTextOnMoving("Cast");
                    Lessers++;
                    Done++;
                    Experience = Lessers * 51;
                    sleep(random(1000, 1250));
                    continue;
                }
                // fall through

            case 30: // '\036'
                if(Done >= Needed)
                {
                    shutDown();
                } else
                {
                    Instructions = "Make Sure You Have Enough Runes!";
                    Function = "Stuns";
                    Status = "Setting Magic Tab";
                    theTabs.Magic.setSelected();
                    Status = "Clicking Magic Symbol";
                    mouseClickLeft(Confuse);
                    LesserDemon.doTopTextOnMoving("Cast");
                    Done++;
                    Experience = Done * 90;
                    sleep(random(3000, 3200));
                    continue;
                }
                // fall through

            case 31: // '\037'
                if(Done >= Needed)
                {
                    shutDown();
                } else
                {
                    Instructions = "Make Sure You Have Enough Runes!";
                    Function = "Crumble Undeads";
                    Status = "Setting Magic Tab";
                    theTabs.Magic.setSelected();
                    Status = "Clicking Magic Symbol";
                    mouseClickLeft(CrumbleUndead);
                    SewerZombie.doTopTextOnMoving("Cast");
                    CrumbleUndeadZombies++;
                    Done++;
                    Experience = CrumbleUndeadZombies * 29;
                    sleep(random(1000, 1250));
                    continue;
                }
                // fall through

            case 32: // ' '
                if(Done >= Needed)
                {
                    shutDown();
                } else
                {
                    Status = "Setting Magic Tab";
                    theTabs.Magic.setSelected();
                    Status = "Clicking Magic Symbol";
                    mouseClickLeft(WindStrike);
                    GuildZombie.doTopTextOnMoving("Cast");
                    Zombies++;
                    Done++;
                    Experience = Zombies * 8;
                    sleep(random(1000, 1250));
                    continue;
                }
                // fall through

            case 33: // '!'
                if(Done >= Needed)
                {
                    shutDown();
                } else
                {
                    Status = "Setting Magic Tab";
                    theTabs.Magic.setSelected();
                    Status = "Clicking Magic Symbol";
                    mouseClickLeft(WaterStrike);
                    GuildZombie.doTopTextOnMoving("Cast");
                    Zombies++;
                    Done++;
                    Experience = Zombies * 12;
                    sleep(random(1000, 1250));
                    continue;
                }
                // fall through

            case 34: // '"'
                if(Done >= Needed)
                {
                    shutDown();
                } else
                {
                    Status = "Setting Magic Tab";
                    theTabs.Magic.setSelected();
                    Status = "Clicking Magic Symbol";
                    mouseClickLeft(EarthStrike);
                    GuildZombie.doTopTextOnMoving("Cast");
                    Zombies++;
                    Done++;
                    Experience = Zombies * 16;
                    sleep(random(1000, 1250));
                    continue;
                }
                // fall through

            case 35: // '#'
                if(Done >= Needed)
                {
                    shutDown();
                } else
                {
                    Status = "Setting Magic Tab";
                    theTabs.Magic.setSelected();
                    Status = "Clicking Magic Symbol";
                    mouseClickLeft(FireStrike);
                    GuildZombie.doTopTextOnMoving("Cast");
                    Zombies++;
                    Done++;
                    Experience = Zombies * 20;
                    sleep(random(1000, 1250));
                    continue;
                }
                // fall through

            case 36: // '$'
                if(Done >= Needed)
                {
                    shutDown();
                } else
                {
                    Status = "Setting Magic Tab";
                    theTabs.Magic.setSelected();
                    Status = "Clicking Magic Symbol";
                    mouseClickLeft(WindBolt);
                    GuildZombie.doTopTextOnMoving("Cast");
                    Zombies++;
                    Done++;
                    Experience = Zombies * 23;
                    sleep(random(1000, 1250));
                    continue;
                }
                // fall through

            case 37: // '%'
                if(Done >= Needed)
                {
                    shutDown();
                } else
                {
                    Status = "Setting Magic Tab";
                    theTabs.Magic.setSelected();
                    Status = "Clicking Magic Symbol";
                    mouseClickLeft(WaterBolt);
                    GuildZombie.doTopTextOnMoving("Cast");
                    Zombies++;
                    Done++;
                    Experience = Zombies * 27;
                    sleep(random(1000, 1250));
                    continue;
                }
                // fall through

            case 38: // '&'
                if(Done >= Needed)
                {
                    shutDown();
                } else
                {
                    Status = "Setting Magic Tab";
                    theTabs.Magic.setSelected();
                    Status = "Clicking Magic Symbol";
                    mouseClickLeft(EarthBolt);
                    GuildZombie.doTopTextOnMoving("Cast");
                    Zombies++;
                    Done++;
                    Experience = Zombies * 31;
                    sleep(random(1000, 1250));
                    continue;
                }
                // fall through

            case 39: // '\''
                if(Done >= Needed)
                {
                    shutDown();
                } else
                {
                    Status = "Setting Magic Tab";
                    theTabs.Magic.setSelected();
                    Status = "Clicking Magic Symbol";
                    mouseClickLeft(FireBolt);
                    GuildZombie.doTopTextOnMoving("Cast");
                    Zombies++;
                    Done++;
                    Experience = Zombies * 35;
                    sleep(random(1000, 1250));
                    continue;
                }
                // fall through

            case 40: // '('
                if(Done >= Needed)
                {
                    shutDown();
                } else
                {
                    Status = "Setting Magic Tab";
                    theTabs.Magic.setSelected();
                    Status = "Clicking Magic Symbol";
                    mouseClickLeft(WindBlast);
                    GuildZombie.doTopTextOnMoving("Cast");
                    Zombies++;
                    Done++;
                    Experience = Zombies * 39;
                    sleep(random(1000, 1250));
                    continue;
                }
                // fall through

            case 41: // ')'
                if(Done >= Needed)
                {
                    shutDown();
                } else
                {
                    Status = "Setting Magic Tab";
                    theTabs.Magic.setSelected();
                    Status = "Clicking Magic Symbol";
                    mouseClickLeft(WaterBlast);
                    GuildZombie.doTopTextOnMoving("Cast");
                    Zombies++;
                    Done++;
                    Experience = Zombies * 43;
                    sleep(random(1000, 1250));
                    continue;
                }
                // fall through

            case 42: // '*'
                if(Done >= Needed)
                {
                    shutDown();
                } else
                {
                    Status = "Setting Magic Tab";
                    theTabs.Magic.setSelected();
                    Status = "Clicking Magic Symbol";
                    mouseClickLeft(EarthBlast);
                    GuildZombie.doTopTextOnMoving("Cast");
                    Zombies++;
                    Done++;
                    Experience = Zombies * 47;
                    sleep(random(1000, 1250));
                    continue;
                }
                // fall through

            case 43: // '+'
                if(Done >= Needed)
                {
                    shutDown();
                } else
                {
                    Status = "Setting Magic Tab";
                    theTabs.Magic.setSelected();
                    Status = "Clicking Magic Symbol";
                    mouseClickLeft(EarthBlast);
                    GuildZombie.doTopTextOnMoving("Cast");
                    Zombies++;
                    Done++;
                    Experience = Zombies * 51;
                    sleep(random(1000, 1250));
                    continue;
                }
                // fall through

            case 44: // ','
                if(Done >= Needed)
                {
                    shutDown();
                } else
                {
                    Instructions = "Make Sure You Have Enough Runes!";
                    Function = "Stuns";
                    Status = "Setting Magic Tab";
                    theTabs.Magic.setSelected();
                    Status = "Clicking Magic Symbol";
                    mouseClickLeft(Confuse);
                    GuildZombie.doTopTextOnMoving("Cast");
                    Done++;
                    Experience = Done * 90;
                    sleep(random(3000, 3200));
                    continue;
                }
                // fall through

            case 45: // '-'
                if(Done >= Needed)
                {
                    shutDown();
                } else
                {
                    Status = "Setting Magic Tab";
                    theTabs.Magic.setSelected();
                    Status = "Clicking Magic Symbol";
                    mouseClickLeft(WindStrike);
                    CustomMonster.doTopTextOnMoving("Cast");
                    Customs++;
                    Done++;
                    Experience = Customs * 8;
                    sleep(random(1000, 1250));
                    continue;
                }
                // fall through

            case 46: // '.'
                if(Done >= Needed)
                {
                    shutDown();
                } else
                {
                    Status = "Setting Magic Tab";
                    theTabs.Magic.setSelected();
                    Status = "Clicking Magic Symbol";
                    mouseClickLeft(WaterStrike);
                    CustomMonster.doTopTextOnMoving("Cast");
                    Customs++;
                    Done++;
                    Experience = Customs * 12;
                    sleep(random(1000, 1250));
                    continue;
                }
                // fall through

            case 47: // '/'
                if(Done >= Needed)
                {
                    shutDown();
                } else
                {
                    Status = "Setting Magic Tab";
                    theTabs.Magic.setSelected();
                    Status = "Clicking Magic Symbol";
                    mouseClickLeft(EarthStrike);
                    CustomMonster.doTopTextOnMoving("Cast");
                    Customs++;
                    Done++;
                    Experience = Customs * 16;
                    sleep(random(1000, 1250));
                    continue;
                }
                // fall through

            case 48: // '0'
                if(Done >= Needed)
                {
                    shutDown();
                } else
                {
                    Status = "Setting Magic Tab";
                    theTabs.Magic.setSelected();
                    Status = "Clicking Magic Symbol";
                    mouseClickLeft(FireStrike);
                    CustomMonster.doTopTextOnMoving("Cast");
                    Customs++;
                    Done++;
                    Experience = Customs * 20;
                    sleep(random(1000, 1250));
                    continue;
                }
                // fall through

            case 49: // '1'
                if(Done >= Needed)
                {
                    shutDown();
                } else
                {
                    Status = "Setting Magic Tab";
                    theTabs.Magic.setSelected();
                    Status = "Clicking Magic Symbol";
                    mouseClickLeft(WindBolt);
                    CustomMonster.doTopTextOnMoving("Cast");
                    Customs++;
                    Done++;
                    Experience = Customs * 23;
                    sleep(random(1000, 1250));
                    continue;
                }
                // fall through

            case 50: // '2'
                if(Done >= Needed)
                {
                    shutDown();
                } else
                {
                    Status = "Setting Magic Tab";
                    theTabs.Magic.setSelected();
                    Status = "Clicking Magic Symbol";
                    mouseClickLeft(WaterBolt);
                    CustomMonster.doTopTextOnMoving("Cast");
                    Customs++;
                    Done++;
                    Experience = Customs * 27;
                    sleep(random(1000, 1250));
                    continue;
                }
                // fall through

            case 51: // '3'
                if(Done >= Needed)
                {
                    shutDown();
                } else
                {
                    Status = "Setting Magic Tab";
                    theTabs.Magic.setSelected();
                    Status = "Clicking Magic Symbol";
                    mouseClickLeft(EarthBolt);
                    CustomMonster.doTopTextOnMoving("Cast");
                    Customs++;
                    Done++;
                    Experience = Customs * 31;
                    sleep(random(1000, 1250));
                    continue;
                }
                // fall through

            case 52: // '4'
                if(Done >= Needed)
                {
                    shutDown();
                } else
                {
                    Status = "Setting Magic Tab";
                    theTabs.Magic.setSelected();
                    Status = "Clicking Magic Symbol";
                    mouseClickLeft(FireBolt);
                    CustomMonster.doTopTextOnMoving("Cast");
                    Customs++;
                    Done++;
                    Experience = Customs * 35;
                    sleep(random(1000, 1250));
                    continue;
                }
                // fall through

            case 53: // '5'
                if(Done >= Needed)
                {
                    shutDown();
                } else
                {
                    Status = "Setting Magic Tab";
                    theTabs.Magic.setSelected();
                    Status = "Clicking Magic Symbol";
                    mouseClickLeft(WindBlast);
                    CustomMonster.doTopTextOnMoving("Cast");
                    Customs++;
                    Done++;
                    Experience = Customs * 39;
                    sleep(random(1000, 1250));
                    continue;
                }
                // fall through

            case 54: // '6'
                if(Done >= Needed)
                {
                    shutDown();
                } else
                {
                    Status = "Setting Magic Tab";
                    theTabs.Magic.setSelected();
                    Status = "Clicking Magic Symbol";
                    mouseClickLeft(WaterBlast);
                    CustomMonster.doTopTextOnMoving("Cast");
                    Customs++;
                    Done++;
                    Experience = Customs * 43;
                    sleep(random(1000, 1250));
                    continue;
                }
                // fall through

            case 55: // '7'
                if(Done >= Needed)
                {
                    shutDown();
                } else
                {
                    Status = "Setting Magic Tab";
                    theTabs.Magic.setSelected();
                    Status = "Clicking Magic Symbol";
                    mouseClickLeft(EarthBlast);
                    CustomMonster.doTopTextOnMoving("Cast");
                    Customs++;
                    Done++;
                    Experience = Customs * 47;
                    sleep(random(1000, 1250));
                    continue;
                }
                // fall through

            case 56: // '8'
                if(Done >= Needed)
                {
                    shutDown();
                } else
                {
                    Status = "Setting Magic Tab";
                    theTabs.Magic.setSelected();
                    Status = "Clicking Magic Symbol";
                    mouseClickLeft(EarthBlast);
                    CustomMonster.doTopTextOnMoving("Cast");
                    Customs++;
                    Done++;
                    Experience = Customs * 51;
                    sleep(random(1000, 1250));
                    continue;
                }
                // fall through

            case 57: // '9'
                if(Done >= Needed)
                {
                    shutDown();
                } else
                {
                    Instructions = "Make Sure You Have Enough Runes!";
                    Function = "Monk Confuses";
                    Status = "Setting Magic Tab";
                    theTabs.Magic.setSelected();
                    Status = "Clicking Magic Symbol";
                    mouseClickLeft(Confuse);
                    CustomMonster.doTopTextOnMoving("Cast");
                    Done++;
                    Experience = Done * 29;
                    sleep(random(3000, 3200));
                    continue;
                }
                // fall through

            case 58: // ':'
                if(Done >= Needed)
                {
                    shutDown();
                } else
                {
                    Instructions = "Make Sure You Have Enough Runes!";
                    Function = "Monk Weaken Casts";
                    Status = "Setting Magic Tab";
                    theTabs.Magic.setSelected();
                    Status = "Clicking Magic Symbol";
                    mouseClickLeft(Weaken);
                    CustomMonster.doTopTextOnMoving("Cast");
                    Done++;
                    Experience = Done * 29;
                    sleep(random(4000, 5000));
                    continue;
                }
                // fall through

            case 59: // ';'
                if(Done >= Needed)
                {
                    shutDown();
                } else
                {
                    Instructions = "Make Sure You Have Enough Runes!";
                    Function = "Monk Vulerneraility Casts";
                    Status = "Setting Magic Tab";
                    theTabs.Magic.setSelected();
                    Status = "Clicking Magic Symbol";
                    mouseClickLeft(Vulnerability);
                    CustomMonster.doTopTextOnMoving("Cast");
                    Done++;
                    Experience = Done * 29;
                    sleep(random(3000, 4000));
                    continue;
                }
                // fall through

            case 60: // '<'
                if(Done >= Needed)
                {
                    shutDown();
                } else
                {
                    Instructions = "Make Sure You Have Enough Runes!";
                    Function = "Monk Enfeebles";
                    Status = "Setting Magic Tab";
                    theTabs.Magic.setSelected();
                    Status = "Clicking Magic Symbol";
                    mouseClickLeft(Enfeeble);
                    CustomMonster.doTopTextOnMoving("Cast");
                    Done++;
                    Experience = Done * 29;
                    sleep(random(3000, 4000));
                    continue;
                }
                // fall through

            case 61: // '='
                if(Done >= Needed)
                {
                    shutDown();
                } else
                {
                    Instructions = "Make Sure You Have Enough Runes!";
                    Function = "Stuns";
                    Status = "Setting Magic Tab";
                    theTabs.Magic.setSelected();
                    Status = "Clicking Magic Symbol";
                    mouseClickLeft(Confuse);
                    CustomMonster.doTopTextOnMoving("Cast");
                    Done++;
                    Experience = Done * 90;
                    sleep(random(3000, 3200));
                    continue;
                }
                // fall through

            case 62: // '>'
                if(Done >= Needed)
                {
                    shutDown();
                } else
                {
                    Instructions = "Make Sure You Have Enough Runes!";
                    Function = "Curses";
                    Status = "Setting Magic Tab";
                    theTabs.Magic.setSelected();
                    Status = "Clicking Magic Symbol";
                    mouseClickLeft(Curse);
                    Monk.doTopTextOnMoving("Cast");
                    Customs++;
                    Done++;
                    Experience = Customs * 29;
                    sleep(random(1000, 1250));
                    continue;
                }
                // fall through

            case 63: // '?'
                shutDown();
                break;
            }
        while(true);
    }

    public void paint(Graphics g)
    {
        StringBuilder stringbuilder = new StringBuilder();
        if(hours < 10)
            stringbuilder.append('0');
        stringbuilder.append(hours);
        stringbuilder.append(':');
        if(minutes < 10)
            stringbuilder.append('0');
        stringbuilder.append(minutes);
        stringbuilder.append(':');
        if(seconds < 10)
            stringbuilder.append('0');
        stringbuilder.append(seconds);
        g.setColor(Color.RED);
        g.drawString("Ultimate Mager v1", 10, 40);
        g.setColor(Color.GREEN);
        g.drawString("By: The Bomb 454", 10, 60);
        g.setColor(Color.BLUE);
        g.drawString(Instructions, 10, 80);
        g.setColor(Color.ORANGE);
        g.drawString("Data:", 10, 100);
        g.setColor(Color.RED);
        g.drawString((new StringBuilder()).append("XY: ").append(getLocation()).toString(), 10, 120);
        g.drawString((new StringBuilder()).append("Total Exp Gained: ").append(Experience).toString(), 10, 140);
        g.drawString((new StringBuilder()).append("Total ").append(Function).append(": ").append(Done).toString(), 10, 160);
        g.drawString((new StringBuilder()).append("Current Status: ").append(Status).toString(), 10, 180);
        g.drawString((new StringBuilder()).append("Total Time Running: ").append(stringbuilder.toString()).toString(), 10, 200);
    }

    public void chat(String s)
    {
        if(s.contains("Oh dear") && s.contains("are dead"))
        {
            dead = true;
            if(dead)
            {
                log("Oh Dear You Are Dead! Stopping Script");
                shutDown();
            }
        }
    }

    public static String commands[] = {
        "High Alcher", "Low Alcher", "Varrock Teleporter", "Lumbridge Teleporter", "Falador Teleporter", "Camelot Teleporter", "Adrougne Teleporter", "WatchTower Teleporter", "Trollheim Teleporter", "Ape Atoll Teleporter", 
        "Varrock Zombies: Crumble Undead", "Varrock Skeletons: Crumble Undead", "Varrock Monk: Confuse", "Varrock Monk: Weaken", "Varrock Monk: Vulernability", "Varrock Monk: Enfeeble", "Varrock Monk: Curse", "Varrock Monk: Stun", "Wizard Tower Lesser: Wind Strike", "Wizard Tower Lesser: Water Strike", 
        "Wizard Tower Lesser: Earth Strike", "Wizard Tower Lesser: Fire Strike", "Wizard Tower Lesser: Wind Bolt", "Wizard Tower Lesser: Water Bolt", "Wizard Tower Lesser: Earth Bolt", "Wizard Tower Lesser: Fire Bolt", "Wizard Tower Lesser: Wind Blast", "Wizard Tower Lesser: Water Blast", "Wizard Tower Lesser: Earth Blast", "Wizard Tower Lesser: Fire Blast", 
        "Wizard Tower Lesser: Stun", "Magic Guild Basement Zombies: Crumble Undead", "Magic Guild Basement Zombies: Wind Strike", "Magic Guild Basement Zombies: Water Strike", "Magic Guild Basement Zombies: Earth Strike", "Magic Guild Basement Zombies: Fire Strike", "Magic Guild Basement Zombies: Wind Bolt", "Magic Guild Basement Zombies: Water Bolt", "Magic Guild Basement Zombies: Earth Bolt", "Magic Guild Basement Zombies: Fire Bolt", 
        "Magic Guild Basement Zombies: Wind Blast", "Magic Guild Basement Zombies: Water Blast", "Magic Guild Basement Zombies: Earth Blast", "Magic Guild Basement Zombies: Fire Blast", "Magic Guild Basement Zombies: Stun", "Custom Monster: Wind Strike", "Custom Monster: Water Strike", "Custom Monster: Earth Strike", "Custom Monster: Fire Strike", "Custom Monster: Wind Bolt", 
        "Custom Monster: Water Bolt", "Custom Monster: Earth Bolt", "Custom Monster: Fire Bolt", "Custom Monster: Wind Blast", "Custom Monster: Water Blast", "Custom Monster: Earth Blast", "Custom Monster: Fire Blast", "Custom Monster: Confuse", "Custom Monster: Weaken", "Custom Monster: Vulernability", 
        "Custom Monster: Enfeeble", "Custom Monster: Curse", "Custom Monster: Crumble Undead", "Custom Monster: Stun", "ShutDown"
    };
    public String author;
    public String description;
    public String Function;
    public String Instructions;
    public String Status;
    public int HighAlches;
    public int LowAlches;
    public int Needed;
    public int Experience;
    public int Curses;
    public int Red;
    public int Green;
    public int Blue;
    public int CrumbleUndeadZombies;
    public int CrumbleUndeadSkeletons;
    public int Zombies;
    public int Done;
    public int Tele;
    public int command;
    public int Lessers;
    public int commandId;
    public int Customs;
    public boolean dead;
    public static double version = 1.0D;
    public Timer ScriptTimer;
    public long runTime;
    public long TotalSecs;
    public long TotalMins;
    public long TotalHours;
    public int seconds;
    public int minutes;
    public int hours;
    private Rectangle LowAlchSymbol;
    private Rectangle HighAlchSymbol;
    private Rectangle AlchItem;
    private Rectangle SymbolLum;
    private Rectangle SymbolVar;
    private Rectangle SymbolFal;
    private Rectangle SymbolCam;
    private Rectangle SymbolArd;
    private Rectangle SymbolWT;
    private Rectangle SymbolTro;
    private Rectangle SymbolApe;
    private Rectangle Confuse;
    private Rectangle Weaken;
    private Rectangle Curse;
    private Rectangle SuperHeatItem;
    private Rectangle BonesToPeaches;
    private Rectangle Vulnerability;
    private Rectangle Enfeeble;
    private Rectangle Stun;
    private Rectangle CrumbleUndead;
    private Rectangle WindStrike;
    private Rectangle WaterStrike;
    private Rectangle EarthStrike;
    private Rectangle FireStrike;
    private Rectangle WindBolt;
    private Rectangle WaterBolt;
    private Rectangle EarthBolt;
    private Rectangle FireBolt;
    private Rectangle WindBlast;
    private Rectangle WaterBlast;
    private Rectangle EarthBlast;
    private Rectangle FireBlast;
    private EdgeRGBCluster LesserDemon;
    private EdgeRGBCluster GuildZombie;
    private EdgeRGBCluster Skeleton;
    private EdgeRGBCluster Monk;
    private EdgeRGBCluster SewerZombie;
    private EdgeRGBCluster CustomMonster;

}