/* ÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛ ÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛ BeezKneez ÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛ ÛÛÛÛÛÛ ...... proudly presents....... ÛÛÛÛÛÛ ÛÛ ÛÛ ........ ÛÛ ÛÛ ÛÛ ÛÛ ÛÛ ÛÛ ÛÛÛÛÛÛ -=² Advanced Flax Spinner v1.0 ²=- ÛÛÛÛÛÛ ÛÛ ÛÛ ÛÛ ÛÛ ÛÛ ÛÛ ÛÛ ÛÛ ÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛ ÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛ ÛÛÛÛÛÛ ±±±²² RELEASE INFO ²²±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±± ÛÛÛÛÛÛ ÛÛÛÛÛÛ ± ± ÛÛÛÛÛÛ ÛÛ ÛÛ ± Version: 1.0 ± ÛÛ ÛÛ ÛÛ ÛÛ ± ± ÛÛ ÛÛ ÛÛÛÛÛÛ ± ± ÛÛÛÛÛÛ ÛÛÛÛÛÛ ± Features: ± ÛÛÛÛÛÛ ÛÛÛÛÛÛ ± Spins flax in Lumbridge ± ÛÛÛÛÛÛ ÛÛÛÛÛÛ ± Progress report ± ÛÛÛÛÛÛ ÛÛÛÛÛÛ ± Flawless Stairs Walking ± ÛÛÛÛÛÛ ÛÛÛÛÛÛ ± Full support if needed ± ÛÛÛÛÛÛ ÛÛÛÛÛÛ ± ± ÛÛÛÛÛÛ ÛÛÛÛÛÛ ± ± ÛÛÛÛÛÛ ÛÛÛÛÛÛ ± Features to come: ± ÛÛÛÛÛÛ ÛÛÛÛÛÛ ± Convert to nexus 14.x ± ÛÛÛÛÛÛ ÛÛÛÛÛÛ ± Door Check ± ÛÛÛÛÛÛ ÛÛ ÛÛ ± Faster core ± ÛÛ ÛÛ ÛÛ ÛÛ ± Better anti-randoms ± ÛÛ ÛÛ ÛÛÛÛÛÛ ± Death Walkback ± ÛÛÛÛÛÛ ÛÛÛÛÛÛ ± If lost, gets back to spinning ± ÛÛÛÛÛÛ ÛÛ ÛÛ ± ± ÛÛ ÛÛ ÛÛ ÛÛ ± ± ÛÛ ÛÛ ÛÛÛÛÛÛ ±±±²² Contact ²²±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±± ÛÛÛÛÛÛ ÛÛ ÛÛ ± ± ÛÛ ÛÛ ÛÛ ÛÛ ± E-mail/MSN: Beezkneez2007@hotmail.com ± ÛÛ ÛÛ ÛÛÛÛÛÛ ± AIM: Mrbeezknez ± ÛÛÛÛÛÛ ÛÛÛÛÛÛ ± PM: Beezkneez2005 ± ÛÛÛÛÛÛ ÛÛ ÛÛ ± www.rscheata.net ± ÛÛ ÛÛ ÛÛÛÛÛÛ ±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±± ÛÛÛÛÛÛ */ import impsoft.nexus.bots.color.constants.Info; import impsoft.nexus.bots.color.methods.ColorScript; import impsoft.nexus.bots.color.scriptobjects.RGBCluster; import impsoft.nexus.bots.color.scriptobjects.RGB; import impsoft.nexus.bots.color.constants.*; import impsoft.nexus.bots.color.scriptobjects.RGBClusters.*; import impsoft.nexus.bots.reflection.scriptobjects.walking.*; import impsoft.nexus.bots.color.scriptobjects.*; import impsoft.nexus.bots.color.scripts.interfaces.*; import java.awt.*; public class AdvancedFlaxSpinner extends ColorScript implements AutoPaint { public static double version = 1.0; public static String[] commands = new String[] { "" }; public String author = "Beezkneez"; public String description = "Advanced Flaxer Spinner v1.0"; private BankBooth lumbyBank = new BankBooth(this); private RGB BankBoothCloseButton = new RGB(484, 38); public int TotalStringsStrung; public int Trips; public Timer StartTimer; // Declare tiles and paths. AryanTile Lumby_Bank = new AryanTile(3208, 3220, 0, this); AryanTile Bank_Stairs = new AryanTile(3205, 3209, 0, this); AryanTile Flax_Room = new AryanTile(3209, 3215, 0, this); AryanTile Flax_Stairs = new AryanTile(3206, 3211, 0, this); // K1ttens method of random clicking. private int randomClick(int start, int range) { if (random(0, 1) == 0) // negative return start + random(-range, 0); return start + random(range, 0); } // Solars method of random sleep time. private long rsleep(int min, int max) throws InterruptedException { long time = random(min, max); sleep(time); return time; } public boolean doStart(String cmd, String[] args) throws InterruptedException { lumbyBank = new BankBooth(new RGB[] { new RGB(119, 92, 56) }, this); return true; } public void paint(Graphics g) { g.setColor(Color.GREEN); g.drawString("Total Flax Picked: " + TotalStringsStrung, 10, 55); g.setColor(Color.RED); g.drawString("Total Trips to the Bank: " + Trips, 10, 70); g.setColor(Color.BLACK); g.drawString("Total Time Running: " + StartTimer.timePassed(), 10, 85); } public void script() throws InterruptedException { log("******** Advanced Flax Stringer v1.0 ********"); log("******* By: Beezkneez *******"); log("****** Questions/Comments? ******"); log("*** MSN: Beezkneez2007@hotmail.com ***"); log("***********************************"); setTab(Info.TAB_INVENTORY); //WithdrawFlaxStart(); while (isLoggedIn()) { rsleep(500, 1000); Bank_Stairs.walkTo(); DownStairs(); rsleep(1000, 1200); Flax_Room.walkTo(); spinFlax(); SendText("9"); rsleep(250, 500); SendText("9"); rsleep(250, 500); SendKey(10); rsleep(51000, 52000); TotalStringsStrung = TotalStringsStrung + 28; Flax_Stairs.walkTo(); rsleep(500, 1000); UpStairs(); rsleep(500, 1000); Lumby_Bank.walkTo(); DepositAndWithdraw(); Trips++; } } private void WithdrawFlaxStart() throws InterruptedException { log("Withdrawing Flax from the bank."); lumbyBank.openBankInterface(); sleep(random(300, 700)); Rectangle FirstBankSlot = new Rectangle(81, 63, 25, 25); mouseMove(FirstBankSlot); rsleep(300, 700); if (getTopText().contains("lax")) { log("Walking to stairs."); } else { log("You have no Flax. Stopping script."); shutDown(); } sleep(random(1, 100)); mouseClickRight(currentMouseXY()); sleep(random(200, 700)); getMenu(Areas.GAME, 2000).selectContains("ll"); sleep(random(200, 700)); log("Closing bank."); lumbyBank.closeBankInterface(); CloseBankInterface(); } private void WithdrawFlax() throws InterruptedException { Rectangle FirstBankSlot = new Rectangle(81, 63, 25, 25); mouseMove(FirstBankSlot); rsleep(300, 700); if (getTopText().contains("lax")) { log("Walking to stairs."); } else { log("You have no Flax. Stopping script."); shutDown(); } sleep(random(1, 100)); mouseClickRight(currentMouseXY()); sleep(random(200, 700)); getMenu(Areas.GAME, 2000).selectContains("ll"); sleep(random(200, 700)); log("Closing bank."); lumbyBank.closeBankInterface(); CloseBankInterface(); } private void StoreStrings() throws InterruptedException { log("Storing Completed Bow Strings."); lumbyBank.openBankDepositAllBut(new String[] { "lax" }); rsleep(500, 700); } private void CloseBankInterface() throws InterruptedException { if (getRGB(484, 38).r == BankBoothCloseButton.r) { log("Bank booth is open, closing."); lumbyBank.closeBankInterface(); rsleep(1000, 1500); } else { log("Bank booth is already closed."); } } private RGB GetBankCloseButtonColour() throws InterruptedException { return getRGB(484, 38); } private void DepositAndWithdraw() throws InterruptedException { StoreStrings(); WithdrawFlax(); } private void spinFlax() throws InterruptedException { while (Flax_Room.distanceTo() < 2) { RGBCluster spinner = new RGBCluster( new RGB[] { new RGB(122, 83, 12) }, this); spinner.gatherNewPoints(20); spinner.doTopTextAndMenu("Spinning", "Spin Spinning"); rsleep(1000, 1500); mouseClickRight(randomClick(260, 3), randomClick(127, 3)); Rectangle spinX = new Rectangle(currentMouseXY().x + (230 - 219), currentMouseXY().y + (182 - 118), 42, 9); rsleep(1000, 1200); mouseClickLeft(spinX); rsleep(1500, 2000); } } private void DownStairs() throws InterruptedException { while (Bank_Stairs.distanceTo() < 1) { RGBCluster bankStairs = new RGBCluster(new RGB[] { new RGB(80, 54, 8) }, this); bankStairs.gatherNewPoints(20); bankStairs.doTopTextAndMenu("Staircase", "down"); rsleep(500,1000); } } private void UpStairs() throws InterruptedException { while (Flax_Stairs.distanceTo() < 2) { RGBCluster spinnerStairs = new RGBCluster(new RGB[] { new RGB(74, 50, 8) }, this); spinnerStairs.gatherNewPoints(20); spinnerStairs.doTopTextAndMenu("Staircase", "up Staircase"); rsleep(1500,2000); } } }