//Imports import impsoft.nexus.bots.color.ColorBot; import impsoft.nexus.bots.color.scriptable.interfaces.AutoPaint; import impsoft.nexus.bots.color.scriptable.*; import impsoft.nexus.bots.color.scriptable.objects.EdgeRGBCluster; import impsoft.nexus.bots.color.structures.RGB; import impsoft.nexus.bots.color.util.Timer; import javax.swing.*; import java.awt.*; import java.lang.Integer; import java.awt.event.*; import javax.swing.JFrame; public class JakesMager extends ColorScript implements AutoPaint { public JakesMager(ColorBot b, String cmd, String args[]) { super(b); log("Starting Jakes Mager v1.0"); for (int i = 0; i < commands.length; i++) { if (cmd.equals(commands[i])) { commandId = i; } } } // Commands public static String[] commands = new String[] { "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", }; // Strings public static String author = "Jake1105"; public static String description = "Jakes Mager v1.0"; public static String Function = "Combat Spells"; public static String Instructions = "Make Sure You Have Enough Runes!"; public static String Status = "Casting Spell"; // Ints public static int HighAlches; public static int LowAlches; public static int Needed = 100; public static int Experience; public static int Curses; // Custom Monster Ints public static int Red = 0; public static int Green = 0; public static int Blue = 0; // Normal Ints public static int CrumbleUndeadZombies; public static int CrumbleUndeadSkeletons; public static int Zombies; public static int Done; public static int Tele; public static int command; public static int Lessers; public static int commandId = -1; public static int Customs; public static boolean dead; public static boolean ScriptReady = false; public static String ScriptType = ""; public static double version = 1.5; public static String[] settings = new String[4]; public static Timer ScriptTimer; public static Timer BreakTimer = new Timer(7000000); // Alching private Rectangle LowAlchSymbol = new Rectangle(714, 255, 10, 7); private Rectangle HighAlchSymbol = new Rectangle(712, 327, 10, 7); private Rectangle AlchItem = new Rectangle(700, 326, 25, 20); // Teleports private Rectangle SymbolLum = new Rectangle(666, 279, 10, 7); //World Rectangles private Rectangle WorldButton = new Rectangle(12, 467, 23, 83); private Rectangle LeastPlayersButton = new Rectangle(393, 7, 6, 6); private Rectangle FreeWorldButton = new Rectangle(613, 7, 6, 6); private Rectangle PayWorldButton = new Rectangle(628, 7, 6, 6); private Rectangle BottomWorld = new Rectangle(621, 405, 10, 81); // private Rectangle SymbolVar = new Rectangle(593, 278, 10, 7); private Rectangle SymbolFal = new Rectangle(568, 305, 10, 7); private Rectangle SymbolCam = new Rectangle(688, 305, 10, 7); private Rectangle SymbolArd = new Rectangle(664, 329, 10, 7); private Rectangle SymbolWT = new Rectangle(616, 353, 10, 7); private Rectangle SymbolTro = new Rectangle(689, 302, 10, 7); private Rectangle SymbolApe = new Rectangle(616, 377, 10, 7); // Non-Combat Casting Spells private Rectangle Confuse = new Rectangle(620, 233, 10, 7); private Rectangle Weaken = new Rectangle(570, 254, 10, 7); private Rectangle Curse = new Rectangle(666, 256, 10, 7); private Rectangle SuperHeatItem = new Rectangle(664, 303, 10, 7); private Rectangle BonesToPeaches = new Rectangle(689, 350, 10, 7); private Rectangle Vulnerability = new Rectangle(594, 398, 10, 7); private Rectangle Enfeeble = new Rectangle(669, 400, 10, 7); private Rectangle Stun = new Rectangle(593, 425, 10, 7); // Combat Spells private Rectangle CrumbleUndead = new Rectangle(596, 303, 10, 7); // Strikes private Rectangle WindStrike = new Rectangle(596, 232, 10, 7); private Rectangle WaterStrike = new Rectangle(667, 233, 10, 7); private Rectangle EarthStrike = new Rectangle(716, 234, 10, 7); private Rectangle FireStrike = new Rectangle(595, 256, 10, 7); // Bolts private Rectangle WindBolt = new Rectangle(642, 253, 10, 7); private Rectangle WaterBolt = new Rectangle(571, 277, 10, 7); private Rectangle EarthBolt = new Rectangle(642, 277, 10, 7); private Rectangle FireBolt = new Rectangle(713, 277, 10, 7); // Blasts private Rectangle WindBlast = new Rectangle(641, 305, 10, 7); private Rectangle WaterBlast = new Rectangle(715, 304, 10, 7); private Rectangle EarthBlast = new Rectangle(691, 328, 10, 7); private Rectangle FireBlast = new Rectangle(642, 353, 10, 7); // Rgbs RGB LesserDemon1 = new RGB(107, 43, 26); RGB LesserDemon2 = new RGB(123, 59, 43); RGB LesserDemon3 = new RGB(91, 35, 20); RGB LesserDemon4 = new RGB(86, 29, 9); private EdgeRGBCluster LesserDemon = new EdgeRGBCluster(new RGB[] { LesserDemon1, LesserDemon2, LesserDemon3, LesserDemon4 }, this); private EdgeRGBCluster GuildZombie = new EdgeRGBCluster( new RGB[] { new RGB(155, 144, 155) }, this); private EdgeRGBCluster Skeleton = new EdgeRGBCluster(new RGB[] { new RGB( 65, 65, 60) }, this); private EdgeRGBCluster Monk = new EdgeRGBCluster(new RGB[] { new RGB(208, 161, 119) }, this); private EdgeRGBCluster SewerZombie = new EdgeRGBCluster( new RGB[] { new RGB(155, 144, 155) }, this); private EdgeRGBCluster CustomMonster = new EdgeRGBCluster( new RGB[] { new RGB(Red, Green, Blue) }, this); // Script public void script() throws InterruptedException { JFrame windo = new JakesMagerGUI(); windo.setVisible(true); while (true) { while (ScriptReady) { switch (commandId) { // Spells case 0: if (Done >= Needed) { shutDown(); } else { //Break(600000, 1200000); // High Alching ScriptType = "Pay"; 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, 4000)); break; } case 1: if (Done >= Needed) { shutDown(); } else { //Break(600000, 1200000); // Low Alching Instructions = "Make sure the Item you are Alching is in the Slot under the High Alch Symbol."; Function = "Low Alches"; ScriptType = "Free"; 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, 4000)); break; } case 2: if (Done >= Needed) { shutDown(); } else { //Break(600000, 1200000); // Varrock Teleport Instructions = "Make Sure You Have Enough Runes!"; Function = "Varrock Teleports"; ScriptType = "Free"; Status = "Setting Magic Tab"; theTabs.Magic.setSelected(); Status = "Clicking Symbol"; mouseClickLeft(SymbolVar); Tele++; Done++; Experience = Tele * 35; sleep(random(2000, 2750)); break; } case 3: if (Done >= Needed) { shutDown(); } else { //Break(600000, 1200000); // Lumbridge Teleport Instructions = "Make Sure You Have Enough Runes!"; Function = "Lumbridge Teleports"; ScriptType = "Free"; Status = "Setting Magic Tab"; theTabs.Magic.setSelected(); Status = "Clicking Symbol"; mouseClickLeft(SymbolLum); Tele++; Done++; Experience = Tele * 41; sleep(random(2000, 2750)); break; } case 4: if (Done >= Needed) { shutDown(); } else { //Break(600000, 1200000); // Falador Teleport Instructions = "Make Sure You Have Enough Runes!"; Function = "Falador Teleports"; ScriptType = "Free"; Status = "Setting Magic Tab"; theTabs.Magic.setSelected(); Status = "Clicking Symbol"; mouseClickLeft(SymbolFal); Tele++; Done++; Experience = Tele * 48; sleep(random(2000, 2750)); break; } case 5: if (Done >= Needed) { shutDown(); } else { //Break(600000, 1200000); // Camelot Teleport ScriptType = "Pay"; 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, 2750)); break; } case 6: if (Done >= Needed) { shutDown(); } else { //Break(600000, 1200000); // Adrougne Teleport ScriptType = "Pay"; 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, 2750)); break; } case 7: if (Done >= Needed) { shutDown(); } else { //Break(600000, 1200000); // WatchTower Teleport ScriptType = "Pay"; 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, 2750)); break; } case 8: if (Done >= Needed) { shutDown(); } else { //Break(600000, 1200000); // Trollheim Teleport ScriptType = "Pay"; 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, 2750)); break; } case 9: if (Done >= Needed) { shutDown(); } else { //Break(600000, 1200000); // Ape Atoll Teleporter ScriptType = "Pay"; 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, 2750)); break; } case 10: if (Done >= Needed) { shutDown(); } else { //Break(600000, 1200000); // Varock Monk Confuser Instructions = "Make Sure You Have Enough Runes!"; Function = "Monk Confuses"; ScriptType = "Free"; Status = "Setting Magic Tab"; theTabs.Magic.setSelected(); Status = "Clicking Magic Symbol"; mouseClickLeft(Confuse); Monk.doTopTextOnMoving("Cast"); Done++; Experience = Done * 29; sleep(random(3000, 3750)); break; } case 11: if (Done >= Needed) { shutDown(); } else { //Break(600000, 1200000); // Varock Monk Weakener Instructions = "Make Sure You Have Enough Runes!"; Function = "Monk Weaken Casts"; ScriptType = "Free"; Status = "Setting Magic Tab"; theTabs.Magic.setSelected(); Status = "Clicking Magic Symbol"; mouseClickLeft(Weaken); Monk.doTopTextOnMoving("Cast"); Done++; Experience = Done * 29; sleep(random(4000, 5000)); break; } case 12: if (Done >= Needed) { shutDown(); } else { //Break(600000, 1200000); ScriptType = "Pay"; // Varock Monk Vulnerability 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(3100, 4000)); break; } case 13: if (Done >= Needed) { shutDown(); } else { //Break(600000, 1200000); ScriptType = "Pay"; // Varock Monk Enfeebler 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, 4250)); break; } case 14: if (Done >= Needed) { shutDown(); } else { //Break(600000, 1200000); // Varock Monk Curser Instructions = "Make Sure You Have Enough Runes!"; Function = "Monk Curses"; Status = "Setting Magic Tab"; ScriptType = "Free"; theTabs.Magic.setSelected(); Status = "Clicking Magic Symbol"; mouseClickLeft(Curse); Monk.doTopTextOnMoving("Cast"); Curses++; Done++; Experience = Curses * 29; sleep(random(2000, 2500)); break; } case 15: if (Done >= Needed) { shutDown(); } else { //Break(600000, 1200000); // Monk Stunner ScriptType = "Pay"; 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, 3500)); break; } case 16: if (Done >= Needed) { shutDown(); } else { //Break(600000, 1200000); // Varrock Sewers Skeleton Crumble Undead Instructions = "Make Sure You Have Enough Runes!"; Function = "Crumble Undeads"; Status = "Setting Magic Tab"; ScriptType = "Free"; theTabs.Magic.setSelected(); Status = "Clicking Magic Symbol"; mouseClickLeft(CrumbleUndead); Skeleton.doTopTextOnMoving("Cast"); CrumbleUndeadSkeletons++; Done++; Experience = CrumbleUndeadSkeletons * 29; sleep(random(1750, 2250)); break; } case 17: if (Done >= Needed) { shutDown(); } else { //Break(600000, 1200000); ScriptType = "Pay"; // Magic Guild Basement Zombie Crumble Undead 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)); break; } case 18: if (Done >= Needed) { shutDown(); } else { //Break(600000, 1200000); ScriptType = "Free"; // Wizard Tower Lesser Demon: // Wind Strike Status = "Setting Magic Tab"; theTabs.Magic.setSelected(); Status = "Clicking Magic Symbol"; ScriptType = "Free"; mouseClickLeft(WindStrike); LesserDemon.doTopTextOnMoving("Cast"); Lessers++; Done++; Experience = Lessers * 8; sleep(random(1000, 1250)); break; } case 19: if (Done >= Needed) { shutDown(); } else { //Break(600000, 1200000); ScriptType = "Free"; // Wizard Tower Lesser Demon: // Water Strike 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)); break; } case 20: if (Done >= Needed) { shutDown(); } else { //Break(600000, 1200000); ScriptType = "Free"; // Wizard Tower Lesser Demon: // Earth Strike 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)); break; } case 21: if (Done >= Needed) { shutDown(); } else { //Break(600000, 1200000); ScriptType = "Free"; // Wizard Tower Lesser Demon: // Fire Strike 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)); break; } case 22: if (Done >= Needed) { shutDown(); } else { //Break(600000, 1200000); ScriptType = "Free"; // Wizard Tower Lesser Demon: // Wind Bolt 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)); break; } case 23: if (Done >= Needed) { shutDown(); } else { //Break(600000, 1200000); ScriptType = "Free"; // Wizard Tower Lesser Demon: // Water Bolt 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)); break; } case 24: if (Done >= Needed) { shutDown(); } else { //Break(600000, 1200000); ScriptType = "Free"; // Wizard Tower Lesser Demon: // Earth Bolt 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)); break; } case 25: if (Done >= Needed) { shutDown(); } else { //Break(600000, 1200000); ScriptType = "Free"; // Wizard Tower Lesser Demon: // Fire Bolt 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)); break; } case 26: if (Done >= Needed) { shutDown(); } else { //Break(600000, 1200000); ScriptType = "Free"; // Wizard Tower Lesser Demon: // Wind Blast 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)); break; } case 27: if (Done >= Needed) { shutDown(); } else { //Break(600000, 1200000); ScriptType = "Free"; // Wizard Tower Lesser Demon: // Water Blast 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)); break; } case 28: if (Done >= Needed) { shutDown(); } else { //Break(600000, 1200000); ScriptType = "Free"; // Wizard Tower Lesser Demon: // Earth Blast 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)); break; } case 29: if (Done >= Needed) { shutDown(); } else { //Break(600000, 1200000); ScriptType = "Free"; // Wizard Tower Lesser Demon: // Fire Blast 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)); break; } case 30: if (Done >= Needed) { shutDown(); } else { //Break(600000, 1200000); // Stunner ScriptType = "Pay"; 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)); break; } case 31: if (Done >= Needed) { shutDown(); } else { //Break(600000, 1200000); // Varrock Sewers Zombie Crumble Undead ScriptType = "Free"; 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)); break; } case 32: if (Done >= Needed) { shutDown(); } else { //Break(600000, 1200000); ScriptType = "Pay"; // Magic Guild Basement Zombies: Wind Strike 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)); break; } case 33: if (Done >= Needed) { shutDown(); } else { //Break(600000, 1200000); ScriptType = "Pay"; // Magic Guild Basement Zombies: Water Strike 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)); break; } case 34: if (Done >= Needed) { shutDown(); } else { //Break(600000, 1200000); ScriptType = "Pay"; // Magic Guild Basement Zombies: Earth Strike 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)); break; } case 35: if (Done >= Needed) { shutDown(); } else { //Break(600000, 1200000); ScriptType = "Pay"; // Magic Guild Basement Zombies: Fire Strike 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)); break; } case 36: if (Done >= Needed) { shutDown(); } else { //Break(600000, 1200000); ScriptType = "Pay"; // Magic Guild Basement Zombies: Wind Bolt 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)); break; } case 37: if (Done >= Needed) { shutDown(); } else { //Break(600000, 1200000); ScriptType = "Pay"; // Magic Guild Basement Zombies: Water Bolt 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)); break; } case 38: if (Done >= Needed) { shutDown(); } else { //Break(600000, 1200000); ScriptType = "Pay"; // Magic Guild Basement Zombies: Earth Bolt 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)); break; } case 39: if (Done >= Needed) { shutDown(); } else { //Break(600000, 1200000); ScriptType = "Pay"; // Magic Guild Basement Zombies: Fire Bolt 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)); break; } case 40: if (Done >= Needed) { shutDown(); } else { //Break(600000, 1200000); ScriptType = "Pay"; // Magic Guild Basement Zombies: Wind Blast 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)); break; } case 41: if (Done >= Needed) { shutDown(); } else { //Break(600000, 1200000); ScriptType = "Pay"; // Magic Guild Basement Zombies: Water Blast 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)); break; } case 42: if (Done >= Needed) { shutDown(); } else { //Break(600000, 1200000); ScriptType = "Pay"; // Magic Guild Basement Zombies: Earth Blast 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)); break; } case 43: if (Done >= Needed) { shutDown(); } else { //Break(600000, 1200000); ScriptType = "Pay"; // Magic Guild Basement Zombies: Fire Blast 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)); break; } case 44: if (Done >= Needed) { shutDown(); } else { //Break(600000, 1200000); // Stunner ScriptType = "Pay"; 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)); break; } case 45: if (Done >= Needed) { shutDown(); } else { //Break(600000, 1200000); // Custom Monster: Wind Strike 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)); break; } case 46: if (Done >= Needed) { shutDown(); } else { //Break(600000, 1200000); // Custom Monster: Water Strike 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)); break; } case 47: if (Done >= Needed) { shutDown(); } else { //Break(600000, 1200000); // Custom Monster: Earth Strike 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)); break; } case 48: if (Done >= Needed) { shutDown(); } else { //Break(600000, 1200000); // Custom Monster: Fire Strike 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)); break; } case 49: if (Done >= Needed) { shutDown(); } else { //Break(600000, 1200000); // Custom Monster: Wind Bolt 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)); break; } case 50: if (Done >= Needed) { shutDown(); } else { //Break(600000, 1200000); // Custom Monster: Water Bolt 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)); break; } case 51: if (Done >= Needed) { shutDown(); } else { //Break(600000, 1200000); // Custom Monster: Earth Bolt 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)); break; } case 52: if (Done >= Needed) { shutDown(); } else { //Break(600000, 1200000); // Custom Monster: Fire Bolt 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)); break; } case 53: if (Done >= Needed) { shutDown(); } else { //Break(600000, 1200000); // Custom Monster: Wind Blast 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)); break; } case 54: if (Done >= Needed) { shutDown(); } else { //Break(600000, 1200000); // Custom Monster: Water Blast 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)); break; } case 55: if (Done >= Needed) { shutDown(); } else { //Break(600000, 1200000); // Custom Monster: Earth Blast 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)); break; } case 56: if (Done >= Needed) { shutDown(); } else { //Break(600000, 1200000); // Custom Monster: Fire Blast 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)); break; } case 57: if (Done >= Needed) { shutDown(); } else { //Break(600000, 1200000); // Custom Monster Confuser 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)); break; } case 58: if (Done >= Needed) { shutDown(); } else { //Break(600000, 1200000); // Custom Monster Weakener 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)); break; } case 59: if (Done >= Needed) { shutDown(); } else { //Break(600000, 1200000); // Custom Monster Vulnerability 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)); break; } case 60: if (Done >= Needed) { shutDown(); } else { //Break(600000, 1200000); // Custom Monster Enfeebler 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)); break; } case 61: if (Done >= Needed) { shutDown(); } else { //Break(600000, 1200000); // Stunner 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, 3750)); break; } case 62: if (Done >= Needed) { shutDown(); } else { //Break(600000, 1200000); // Custom Monster Curser 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, 2000)); break; } } } } } public static boolean ReadyToBreak() throws InterruptedException { if (BreakTimer.isUp()) { return true; } else { return false; } } public void Break(int minimum, int max) throws InterruptedException { if (ReadyToBreak()) { log("Break Time!"); log("Taking a " + minimum + "ms to " + max + "ms Break, Turning off All of the Randoms"); sleep(random(minimum, max)); if (ScriptType.contains("Free")) { log("Script Type is Free World, Switching to Another Free World"); switchToLowestFreeServer(); log("World Switched"); sleep(5000); } if (ScriptType.contains("Pay")) { log("Script Type is Pay World, Switching to Another Pay World"); switchToLowestPayServer(); log("World Switched"); sleep(5000); } log("Break Over, Turning on All of the Randoms"); sleep(500); BreakTimer.reset(); }else{ log("Jake owns yoU!"); } } // Visual Progress Report public void paint(Graphics g) { long runTime = ScriptTimer.timePassed(); long TotalSecs = runTime / 1000; long TotalMins = TotalSecs / 60; long TotalHours = TotalMins / 60; int seconds = (int) TotalSecs % 60; int minutes = (int) TotalMins % 60; int hours = (int) TotalHours % 60; StringBuilder Time = new StringBuilder(); if (hours < 10) Time.append('0'); Time.append(hours); Time.append(':'); if (minutes < 10) Time.append('0'); Time.append(minutes); Time.append(':'); if (seconds < 10) Time.append('0'); Time.append(seconds); g.setColor(Color.RED); g.drawString("Jakes Mager v1.0", 10, 40); g.setColor(Color.GREEN); g.drawString("By: Jake", 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("XY: " + getLocation(), 10, 120); g.drawString("Total Exp Gained: " + Experience, 10, 140); g.drawString("Total " + Function + ": " + Done, 10, 160); g.drawString("Current Status: " + Status, 10, 180); g.drawString("Total Time Running: " + Time.toString(), 10, 200); } public void chat(String message) { if (message.contains("dear") && message.contains("dead")) { dead = true; if (dead) { log("Oh Dear You Are Dead! - Was Found! Stopping Script"); shutDown(); } } } public void switchToLowestPayServer() throws InterruptedException { stopAllRandoms(); logOut(); mouseClickLeft(WorldButton); sleep(random(500,750)); mouseClickLeft(LeastPlayersButton); sleep(random(500,750)); mouseClickLeft(PayWorldButton); sleep(random(500,750)); mouseClickLeft(BottomWorld); sleep(random(500,750)); startAllRandoms(); } public void switchToLowestFreeServer() throws InterruptedException { stopAllRandoms(); logOut(); mouseClickLeft(WorldButton); sleep(random(500,750)); mouseClickLeft(LeastPlayersButton); sleep(random(500,750)); mouseClickLeft(FreeWorldButton); sleep(random(500,750)); mouseClickLeft(BottomWorld); sleep(random(500,750)); startAllRandoms(); } public void logOut() throws InterruptedException { theTabs.Logout.setSelected(); sleep(1000); theTabs.Logout.clickLogOut(); sleep(2000); } class JakesMagerGUI extends JFrame { // Variables declaration private JLabel jLabel1; private JLabel jLabel2; private JLabel jLabel3; private JLabel jLabel4; private JTextField jTextField1; private JTextField jTextField2; private JTextField jTextField3; private JTextField jTextField4; private JButton jButton3; private JPanel UMSPane; // End of variables declaration public JakesMagerGUI() { super(); initializeComponent(); // // TODO: Add any constructor code after initializeComponent call // } /** * This method is called from within the constructor to initialize the form. * WARNING: Do NOT modify this code. The content of this method is always * regenerated by the Windows Form Designer. Otherwise, retrieving design * might not work properly. Tip: If you must revise this method, please * backup this GUI file for JFrameBuilder to retrieve your design properly * in future, before revising this method. */ private void initializeComponent() { jLabel1 = new JLabel(); jLabel2 = new JLabel(); jLabel3 = new JLabel(); jLabel4 = new JLabel(); jTextField1 = new JTextField(); jTextField2 = new JTextField(); jTextField3 = new JTextField(); jTextField4 = new JTextField(); jButton3 = new JButton(); UMSPane = (JPanel) this.getContentPane(); // // jLabel1 // jLabel1.setText("Casts:"); // // jLabel2 // jLabel2.setText("Red:"); // // jLabel3 // jLabel3.setText("Green:"); // // jLabel4 // jLabel4.setText("Blue:"); // // jTextField1 // jTextField1.setText("500"); jTextField1.setPreferredSize(new Dimension(30, 21)); jTextField1.addActionListener(new ActionListener() { public void actionPerformed(ActionEvent e) { jTextField1_actionPerformed(e); } }); // // jTextField2 // jTextField2.setText("0"); jTextField2.setPreferredSize(new Dimension(30, 21)); jTextField2.addActionListener(new ActionListener() { public void actionPerformed(ActionEvent e) { jTextField2_actionPerformed(e); } }); // // jTextField3 // jTextField3.setText("0"); jTextField3.setPreferredSize(new Dimension(30, 20)); jTextField3.addActionListener(new ActionListener() { public void actionPerformed(ActionEvent e) { jTextField3_actionPerformed(e); } }); // // jTextField4 // jTextField4.setText("0"); jTextField4.setPreferredSize(new Dimension(30, 20)); jTextField4.addActionListener(new ActionListener() { public void actionPerformed(ActionEvent e) { jTextField4_actionPerformed(e); } }); // // jButton3 // jButton3.setHorizontalAlignment(SwingConstants.LEADING); jButton3.setHorizontalTextPosition(SwingConstants.LEADING); jButton3.setText("Submit"); jButton3.addActionListener(new ActionListener() { public void actionPerformed(ActionEvent e) { jButton3_actionPerformed(e); } }); // // UMSPane // UMSPane.setLayout(new FlowLayout(FlowLayout.CENTER, 5, 5)); UMSPane.add(jLabel1, 0); UMSPane.add(jTextField1, 1); UMSPane.add(jLabel2, 2); UMSPane.add(jTextField2, 3); UMSPane.add(jLabel3, 4); UMSPane.add(jTextField3, 5); UMSPane.add(jLabel4, 6); UMSPane.add(jTextField4, 7); UMSPane.add(jButton3, 8); UMSPane.setBackground(new Color(218, 179, 101)); // // JakesMagerGUI // this.setTitle("JakesMager Settings Panel"); this.setLocation(new Point(194, 32)); this.setSize(new Dimension(300, 200)); this.setDefaultCloseOperation(WindowConstants.DISPOSE_ON_CLOSE); } // // TODO: Add any appropriate code in the following Event Handling Methods // private void jTextField1_actionPerformed(ActionEvent e) { } private void jTextField2_actionPerformed(ActionEvent e) { } private void jTextField3_actionPerformed(ActionEvent e) { } private void jTextField4_actionPerformed(ActionEvent e) { } private void jButton3_actionPerformed(ActionEvent e) { JakesMager.Needed = Integer.parseInt(jTextField1.getText()); JakesMager.Red = Integer.parseInt(jTextField2.getText()); JakesMager.Green = Integer.parseInt(jTextField3.getText()); JakesMager.Blue = Integer.parseInt(jTextField4.getText()); this.setVisible(false); JakesMager.ScriptReady = true; } } }