Sunteți pe pagina 1din 39

import java.awt.

*;
import org.rsbot.event.events.ServerMessageEvent;
import org.rsbot.script.Script;
import org.rsbot.script.ScriptManifest;
import org.rsbot.script.wrappers.RSArea;
import org.rsbot.script.wrappers.RSCharacter;
import org.rsbot.script.wrappers.RSComponent;
import org.rsbot.script.wrappers.RSInterface;
import org.rsbot.script.wrappers.RSNPC;
import org.rsbot.script.wrappers.RSTile;
import java.awt.BasicStroke;
import java.awt.Color;
import java.awt.Font;
import java.awt.Graphics;
import java.awt.Graphics2D;
import java.awt.Image;
import java.awt.Point;
import java.awt.RenderingHints;
import java.awt.image.BufferedImage;
import java.io.BufferedReader;
import java.io.BufferedWriter;
import java.io.File;
import java.io.FileWriter;
import java.io.IOException;
import java.io.InputStreamReader;
import java.io.PrintWriter;
import java.net.MalformedURLException;
import java.net.URL;
import java.net.URLConnection;
import java.util.regex.Matcher;
import java.util.regex.Pattern;
import javax.imageio.ImageIO;
import javax.swing.JFileChooser;
import javax.swing.JOptionPane;
import org.rsbot.event.events.ServerMessageEvent;
import org.rsbot.event.listeners.PaintListener;
import org.rsbot.event.listeners.ServerMessageListener;
import org.rsbot.script.Script;
import org.rsbot.script.ScriptManifest;
import org.rsbot.script.methods.Game;
import org.rsbot.script.wrappers.RSArea;
import org.rsbot.script.wrappers.RSNPC;
import org.rsbot.script.wrappers.RSTile;
import org.rsbot.util.GlobalConfiguration;
import java.awt.Color;
import java.awt.Font;
import java.awt.Graphics;
import java.awt.Rectangle;
import org.rsbot.event.events.ServerMessageEvent;
import org.rsbot.script.Script;
import org.rsbot.script.ScriptManifest;
import org.rsbot.script.wrappers.RSArea;
import org.rsbot.script.wrappers.RSCharacter;
import org.rsbot.script.wrappers.RSComponent;
import org.rsbot.script.wrappers.RSInterface;
import org.rsbot.script.wrappers.RSNPC;
import org.rsbot.script.wrappers.RSTile;
import java.awt.BasicStroke;
import java.awt.Color;
import java.awt.Container;
import java.awt.Dimension;
import java.awt.Font;
import java.awt.Graphics;
import java.awt.Graphics2D;
import java.awt.Image;
import java.awt.Insets;
import java.awt.Point;
import java.awt.RenderingHints;
import java.awt.SystemColor;
import java.awt.image.BufferedImage;
import java.io.BufferedReader;
import java.io.BufferedWriter;
import java.io.File;
import java.io.FileWriter;
import java.io.IOException;
import java.io.InputStreamReader;
import java.net.MalformedURLException;
import java.net.URL;
import java.net.URLConnection;
import javax.imageio.ImageIO;
import javax.swing.ImageIcon;
import javax.swing.JButton;
import javax.swing.JFileChooser;
import javax.swing.JFrame;
import javax.swing.JLabel;
import javax.swing.JOptionPane;
import javax.swing.JPanel;
import javax.swing.UIManager;
import java.awt.event.ActionEvent;
import java.awt.event.ActionListener;
import java.awt.event.MouseEvent;
import java.awt.event.MouseListener;
import java.awt.event.MouseMotionListener;
import org.rsbot.event.events.ServerMessageEvent;
import org.rsbot.event.listeners.PaintListener;
import org.rsbot.event.listeners.ServerMessageListener;
import org.rsbot.script.Script;
import org.rsbot.script.ScriptManifest;
import org.rsbot.script.methods.Game;
import org.rsbot.script.methods.Skills;
import org.rsbot.script.wrappers.RSArea;
import org.rsbot.script.wrappers.RSNPC;
import org.rsbot.script.wrappers.RSTile;
/*
Author: LegendOwnz
Converted To 2.XX By: Idominateall
Side note: Removed Any Useless Code In The Script
I Keep My Promise I Will Update Now :]
*/
@SuppressWarnings({ "unused", "deprecation" })
@ScriptManifest(authors = { "LegendOwnz" }, name = "Legend Sudoku", version = 6.
0, description = "The Best & Orginal Sudoku Solver")
public class LegendSudoku extends Script implements PaintListener,
ServerMessageListener {
private int speed;
private int clicks;
private int[][] Solve;
private Boolean exited;
private int failcount;
private int failed;
private int solved;
private boolean stop;;
private long screentime;
private Items items;
private long start_gold;
private long start_weath;
private RSArea gameArea;
public LegendSudoku() {
this.speed = 1;
this.clicks = 0;
this.Solve = new int[9][9];
this.exited = Boolean.valueOf(false);
this.failcount = 0;
this.failed = 0;
this.solved = 0;
this.stop = false;
this.starttime = System.currentTimeMillis();
this.screentime = (this.starttime + 300000L);
this.items = null;
this.start_gold = 0L;
this.start_weath = 0L;
this.gameArea = new RSArea(new RSTile(3301, 3209), new RSTile(33
06,
3214));
}
public String state = "Loading Legend Sudoku";
private int naturePrice;
private int cosmicPrice;
private int bloodPrice;
private int deathPrice;
private int chaosPrice;
private int mindPrice;
private int soulPrice;
private int bodyPrice;
private int lawPrice;
private final RSArea gameArea1 = new RSArea(new RSTile(3301, 3209),
new RSTile(3306, 3214));
private long starttime;
long getRuneCosts() {
if (this.items == null)
return 0L;
long l = this.inventory.getCount(true,
new int[] { this.items.natureID }) * this.items.
nature_price;
l += this.inventory.getCount(true, new int[] { this.items.cosmic
ID })
* this.items.cosmic_price;
l += this.inventory.getCount(true, new int[] { this.items.bloodI
D })
* this.items.blood_price;
l += this.inventory.getCount(true, new int[] { this.items.deathI
D })
* this.items.death_price;
l += this.inventory.getCount(true, new int[] { this.items.chaosI
D })
* this.items.chaos_price;
l += this.inventory.getCount(true, new int[] { this.items.mindID
})
* this.items.mind_price;
l += this.inventory.getCount(true, new int[] { this.items.soulID
})
* this.items.soul_price;
l += this.inventory.getCount(true, new int[] { this.items.bodyID
})
* this.items.body_price;
l += this.inventory.getCount(true, new int[] { this.items.lawID
})
* this.items.law_price;
return l;
}
private int natureInvID = 561;
private int cosmicInvID = 564;
private int bloodInvID = 565;
private int deathInvID = 560;
private int chaosInvID = 562;
private int mindInvID = 558;
private int soulInvID = 566;
private int bodyInvID = 559;
private int lawInvID = 563;
private boolean started = false;
private int profit = 0;
private int startMoney = 0;
private int startCash = 0;
private int startRunes = 0;
private long HOUR_MS = 0;
private int currentMoney = 0;
private int currentCash = 0;
private int currentRunes = 0;
private static final String UPDATER_FILE_NAME = "LegendSudoku.java";
private static final String UPDATER_URL = "http://legendownz.webs.com/Le
gend%20Sudoku/LegendSudoku.java";
private static final Pattern UPDATER_VERSION_PATTERN = Pattern
.compile("version\\s*=\\s*([0-9.]+)");
boolean messedUp = false;
boolean sudokuOpen = false;
boolean sudokuSolved = false;
boolean talked = false;
public ScriptManifest properties = getClass().getAnnotation(
ScriptManifest.class);
private int[][] sudokuGrid = new int[9][9];
private int mindID = 8982;
private int fireID = 8980;
private int airID = 8975;
private int waterID = 8987;
private int earthID = 8979;
private int bodyID = 8976;
private int deathID = 8978;
private int chaosID = 8977;
private int lawID = 8981;
long scriptStartTIME = 0;
int aliID = 1862;
int moneyID = 995;
private long perHour(long paramLong1, long paramLong2) {
double d1 = 0.0D;
long l1 = 0L;
long l2 = 0L;
long l3 = 0L;
if (paramLong2 >= 1000L) {
l1 = paramLong2 / 1000L;
}
if (l1 >= 60L) {
l2 = l1 / 60L;
l1 -= l2 * 60L;
}
if (l2 >= 60L) {
l3 = l2 / 60L;
l2 -= l3 * 60L;
}
if (l3 > 0L)
d1 = l3 * 60L * 60L;
if (l2 > 0L)
d1 += l2 * 60L;
if (l1 > 0L) {
d1 += l1;
}
double d2 = paramLong1 / d1;
double d3 = d2 * 60.0D;
return Math.round(d3 * 60.0D);
}
private String formatLong(long paramLong) {
if (paramLong >= 1000000000L) {
return paramLong / 1000000000L + "BIL";
}
if (paramLong >= 10000000L) {
return paramLong / 1000000L + "MIL";
}
if (paramLong >= 1000L) {
return paramLong / 1000L + "K";
}
return "" + paramLong;
}
String formatTime(long paramLong) {
if (paramLong <= 0L)
return "00:00:00";
long l1 = 0L;
long l2 = 0L;
long l3 = 0L;
String str = "";
if (paramLong >= 1000L) {
l1 = paramLong / 1000L;
}
if (l1 >= 60L) {
l2 = l1 / 60L;
l1 -= l2 * 60L;
}
if (l2 >= 60L) {
l3 = l2 / 60L;
l2 -= l3 * 60L;
}
if (l3 < 10L)
str = str + "0" + l3 + ":";
else
str = str + Long.toString(l3) + ":";
if (l2 < 10L)
str = str + "0" + l2 + ":";
else
str = str + Long.toString(l2) + ":";
if (l1 < 10L)
str = str + "0" + l1;
else
str = str + Long.toString(l1);
if (l3 >= 10000L)
return "00:00:00";
return str;
}
public Boolean Hi() throws InterruptedException {
if (!inArea(aliArea))
return Faill();
return true;
}
long getProfit() {
if (this.items == null)
return 0L;
return this.inventory.getCount(true, new int[] { this.items.gold
ID })
+ getRuneCosts() - this.start_weath;
}
public boolean onStart() {
HOUR_MS = System.currentTimeMillis();
JOptionPane.showMessageDialog(null, "Welcome To Legend Sudoku\n"
+ " [V6.0.0]");
checkForUpdates();
resetGrid();
return true;
}
private final int[] aliArea = { 3300, 3208, 3308, 3214 };
private RSTile aliTile = new RSTile(3305, 3211);
private RSTile aliTileextra = new RSTile(3305, 3212);
private enum State {
buyRunes, openSudoku, doSudoku, toAli, end, error, Gone;
}
private Image getImage(String url) {
try {
return ImageIO.read(new URL(url));
} catch (IOException e) {
return null;
}
}
private State getState() {
try {
if (!this.gameArea.contains(getMyPlayer().getLocation())
)
return State.Gone;
if (inArea(aliArea)) {
if (inventory.getCount(true, moneyID) < 70000) {
return State.end;
}
if (inventory.getCount(true, moneyID) >= 70000)
{
if (sudokuOpen == false) {
sudokuSolved = false;
if (interfaces.get(228).getCompo
nent(2)
.containsText("B
uy all")) {
return State.buyRunes;
}
if (!interfaces.get(228).getComp
onent(2)
.containsText("B
uy all")) {
return State.openSudoku;
}
}
if (sudokuOpen == true) {
return State.doSudoku;
}
}
}
if (!inArea(aliArea)) {
return State.Gone;
}
} catch (Exception e) {
}
return State.error;
}
private final RenderingHints antialiasing = new RenderingHints(
RenderingHints.KEY_ANTIALIASING, RenderingHints.VALUE_AN
TIALIAS_ON);
private final Color color1 = new Color(153, 0, 0, 174);
private final Color color2 = new Color(51, 204, 255);
private final Color color3 = new Color(102, 153, 255);
private final Color color4 = new Color(204, 255, 204);
private final Color color5 = new Color(153, 255, 255);
private final Color color6 = new Color(51, 204, 0);
private final Color color7 = new Color(0, 153, 204);
private final BasicStroke stroke1 = new BasicStroke(2);
private final BasicStroke stroke2 = new BasicStroke(1);
private final Font font1 = new Font("SansSerif", 1, 14);
private final Font font2 = new Font("Segoe UI Semibold", 0, 14);
private final Font font3 = new Font("SansSerif", 3, 14);
private final Image img1 = getImage("http://legendownz.webs.com/Legend%2
0Sudoku/Bagi.png");
@Override
public int loop() {
if (!started) {
this.items = new Items(this);
this.screentime = (this.starttime + 300000L);
this.start_gold = this.inventory.getCount(true,
new int[] { this.items.goldID });
this.start_weath = (this.start_gold + getRuneCosts());
started = true;
}
if (this.inventory.getCount(true, new int[] { 995 }) != 0)
if (this.inventory.getCount(true, new int[] { 995 }) < 1
00000)
if (this.npcs.getNearest(new int[] { 1862 }) !=
null) {
log("We Are Below 100k. Stopping Script"
);
return -1;
}
if (interfaces.get(288).getComponent(9).containsText("open caske
t")) {
sudokuOpen = true;
}
if (!interfaces.get(288).getComponent(9).containsText("open cask
et")) {
sudokuOpen = false;
}
exitGeneralStore();
if (messedUp == true) {
talked = false;
sudokuOpen = false;
messedUp = false;
failed++;
resetGrid();
interfaces.getComponent(288, 212).doClick(true);
sleep(random(500, 750));
}
try {
switch (getState()) {
case Gone:
log("[ERROR SOLVER 1.0] We Got Lost, Walking Bac
k");
talked = false;
Fail();
break;
case toAli:
toAli();
break;
case openSudoku:
openSudoku();
break;
case doSudoku:
doSudoku();
break;
case buyRunes:
buyRunes();
break;
case end:
stopScript();
break;
}
} catch (Exception e) {
}
calculateProfit();
return 200;
}
private Boolean Faill() throws InterruptedException {
walking.walkTileMM(aliTileextra, 2, 2);
wait(700);
RSNPC npc = npcs.getNearest(aliID);
npc.doAction("Talk-to");
talked = true;
sleep(00 + random(00, 00));
return true;
}
private void Fail() throws InterruptedException {
walking.walkTileMM(aliTileextra, 2, 2);
wait(500);
RSNPC npc = npcs.getNearest(aliID);
npc.doAction("Talk-to");
talked = true;
sleep(00 + random(00, 00));
}
private void getPrices() {
naturePrice = grandExchange.loadItemInfo(natureInvID).getMarketP
rice();
cosmicPrice = grandExchange.loadItemInfo(cosmicInvID).getMarketP
rice();
bloodPrice = grandExchange.loadItemInfo(bloodInvID).getMarketPri
ce();
deathPrice = grandExchange.loadItemInfo(deathInvID).getMarketPri
ce();
chaosPrice = grandExchange.loadItemInfo(chaosInvID).getMarketPri
ce();
mindPrice = grandExchange.loadItemInfo(mindInvID).getMarketPrice
();
soulPrice = grandExchange.loadItemInfo(soulInvID).getMarketPrice
();
bodyPrice = grandExchange.loadItemInfo(bodyInvID).getMarketPrice
();
lawPrice = grandExchange.loadItemInfo(lawInvID).getMarketPrice()
;
startCash = inventory.getCount(true, 995);
startRunes = (naturePrice * inventory.getCount(natureInvID)
+ cosmicPrice * inventory.getCount(cosmicInvID)
+ bloodPrice
* inventory.getCount(bloodInvID) + deathPrice
* inventory.getCount(deathInvID) + chaosPrice
* inventory.getCount(chaosInvID) + mindPrice
* inventory.getCount(mindInvID) + soulPrice
* inventory.getCount(soulInvID) + bodyPrice
* inventory.getCount(bodyInvID) + lawPrice
* inventory.getCount(lawInvID));
startMoney = startCash + startRunes;
}
public void LegendSudokuAntiBan() {
int randomNum = random(1, 12);
int r = random(1, 16);
if (randomNum == 6) {
if (r == 1) {
state = "Doing Antiban";
camera.setAngle(random(100, 360));
camera.setAngle(random(100, 680));
log("[ANTIBAN 1.0] Changed Camrea View");
sleep(random(200, 400));
}
if (r == 2) {
state = "Doing Antiban";
camera.setAngle(random(100, 360));
camera.setAngle(random(100, 680));
log("[ANTIBAN 1.0] Changed Camera View");
sleep(random(200, 400));
}
if (r == 3) {
state = "Doing Antiban";
camera.setAngle(random(100, 360));
camera.setAngle(random(100, 680));
log("[ANTIBAN 1.0] Changed Camera View");
sleep(random(200, 400));
}
if (r == 4) {
state = "Doing Antiban";
camera.setAngle(random(100, 360));
camera.setAngle(random(100, 680));
log("A[ANTIBAN 1.0] Changed Camera View");
sleep(random(200, 400));
}
if (r == 5) {
state = "Doing Antiban";
mouse.move(random(100, 600), random(100, 400), 0
, 0);
mouse.move(random(100, 600), random(100, 400), 0
, 0);
log("[ANTIBAN 1.0] Moved Mouse for Human Like Pa
tterns");
sleep(random(200, 400));
}
if (r == 6) {
state = "Doing Antiban";
mouse.move(random(100, 600), random(100, 400), 0
, 0);
mouse.move(random(100, 600), random(100, 400), 0
, 0);
mouse.move(random(100, 600), random(100, 400), 0
, 0);
log("[ANTIBAN 1.0] Moved Mouse for Human Like Pa
tterns");
sleep(random(200, 400));
}
if (r == 7) {
state = "Doing Antiban";
mouse.move(random(100, 600), random(100, 400), 0
, 0);
mouse.move(random(100, 600), random(100, 400), 0
, 0);
log("[ANTIBAN 1.0] Moved Mouse for Human Like Pa
tterns");
sleep(random(200, 400));
}
if (r == 8) {
state = "Doing Antiban";
mouse.move(random(100, 600), random(100, 400), 0
, 0);
log("[ANTIBAN 1.0] Moved Mouse for Human Like Pa
tterns");
sleep(random(200, 400));
}
}
}
private void calculateProfit() {
currentCash = inventory.getCount(true, 995);
currentRunes = (naturePrice * inventory.getCount(natureInvID))
+ (cosmicPrice * inventory.getCount(cosmicInvID)
)
+ (bloodPrice * inventory.getCount(bloodInvID))
+ (deathPrice * inventory.getCount(deathInvID))
+ (chaosPrice * inventory.getCount(chaosInvID))
+ (mindPrice * inventory.getCount(mindInvID))
+ (soulPrice * inventory.getCount(soulInvID))
+ (bodyPrice * inventory.getCount(bodyInvID))
+ (lawPrice * inventory.getCount(lawInvID));
currentMoney = currentCash + currentRunes;
profit = currentMoney - startMoney;
}
public double getVersion() {
return properties.version();
}
private void GoToAli() {
walking.walkTileMM(aliTileextra, 2, 2);
}
private void talktoalinow() {
RSNPC npc = npcs.getNearest(aliID);
npc.doAction("Talk-to");
talked = true;
sleep(00 + random(00, 00));
}
private void toAli() {
walking.walkTileMM(aliTile, 2, 2);
}
private void openSudoku() throws InterruptedException {
while (npcs.getNearest(aliID) != null && talked == false) {
RSNPC npc = npcs.getNearest(aliID);
npc.doAction("Talk-to");
talked = true;
}
state = "Talking To Ali";
mouse.setSpeed(random(6, 7));
Hi();
sleep(00 + random(10, 20));
while ((interfaces.get(241).getComponent(4)
.containsText("How's the adventuring"))) {
interfaces.getComponent(241, 5).doClick(true);
sleep(00 + random(01, 05));
}
while ((interfaces.get(228).getComponent(2)
.containsText("Hi, Ali. Not bad"))) {
interfaces.getComponent(228, 2).doClick(true);
sleep(00 + random(01, 05));
}
while ((interfaces.get(64).getComponent(4).containsText("Hi Ali"
))) {
interfaces.getComponent(64, 5).doClick(true);
sleep(00 + random(01, 05));
}
while ((interfaces.get(241).getComponent(4)
.containsText("Still selling"))) {
interfaces.getComponent(241, 5).doClick(true);
sleep(00 + random(01, 05));
}
while ((interfaces.get(241).getComponent(4).containsText("Sigh")
)) {
interfaces.getComponent(241, 5).doClick(true);
sleep(00 + random(01, 05));
}
while ((interfaces.get(64).getComponent(4)
.containsText("What's up with you"))) {
interfaces.getComponent(64, 5).doClick(true);
sleep(00 + random(01, 05));
}
while ((interfaces.get(243).getComponent(4)
.containsText("Well, I always fancied"))) {
interfaces.getComponent(243, 7).doClick(true);
sleep(00 + random(01, 05));
}
if ((interfaces.get(64).getComponent(4)
.containsText("Is there anything I could do")))
{
interfaces.getComponent(64, 5).doClick(true);
sleep(00 + random(01, 05));
}
while ((interfaces.get(241).getComponent(4)
.containsText("How's the adventuring"))) {
interfaces.getComponent(241, 5).doClick(true);
sleep(00 + random(01, 05));
}
while ((interfaces.get(244).getComponent(4)
.containsText("I have a friend"))) {
interfaces.getComponent(244, 8).doClick(true);
sleep(00 + random(01, 05));
}
while ((interfaces.get(64).getComponent(4)
.containsText("Maybe I could give it a look")))
{
interfaces.getComponent(64, 5).doClick(true);
sleep(00 + random(01, 05));
}
while ((interfaces.get(232).getComponent(4)
.containsText("selection of runes"))) {
interfaces.getComponent(232, 4).doClick(true);
sleep(00 + random(01, 05));
}
while ((interfaces.get(232).getComponent(3)
.containsText("selection of runes"))) {
interfaces.getComponent(232, 3).doClick(true);
sleep(00 + random(01, 05));
}
while ((interfaces.get(234).getComponent(4)
.containsText("selection of runes"))) {
interfaces.getComponent(234, 4).doClick(true);
sleep(00 + random(01, 05));
}
while ((interfaces.get(230).getComponent(2)
.containsText("selection of runes"))) {
interfaces.getComponent(230, 2).doClick(true);
sleep(10 + random(100, 200));
}
while ((interfaces.get(241).getComponent(4).containsText("Hang o
n"))) {
interfaces.getComponent(241, 5).doClick(true);
sleep(random(100, 200));
}
while ((interfaces.get(233).getComponent(3)
.containsText("large casket of runes"))) {
interfaces.getComponent(233, 3).doClick(true);
sleep(00 + random(00, 00));
}
while ((interfaces.get(231).getComponent(3)
.containsText("large casket of runes"))) {
interfaces.getComponent(231, 3).doClick(true);
sleep(00 + random(00, 00));
}
while ((interfaces.get(235).getComponent(3)
.containsText("large casket of runes"))) {
interfaces.getComponent(235, 3).doClick(true);
sleep(00 + random(00, 00));
}
while ((interfaces.get(64).getComponent(4)
.containsText("On second thoughts"))) {
talked = false;
interfaces.getComponent(64, 5).doClick(true);
sleep(00 + random(00, 00));
}
while ((interfaces.get(65).getComponent(4)
.containsText("I'm feeling lucky"))) {
interfaces.getComponent(65, 6).doClick(true);
sleep(00 + random(00, 00));
}
while ((interfaces.get(230).getComponent(4)
.containsText("Examine lock"))) {
interfaces.getComponent(230, 4).doClick(true);
sleep(00 + random(00, 00));
sudokuOpen = true;
}
while (interfaces.get(64).getComponent(4)
.containsText("Who did you want me")) {
talked = false;
interfaces.getComponent(64, 5).doClick(true);
sleep(00 + random(00, 00));
}
}
public void RandomWays() {
int rr = random(1, 5);
if (rr == 1) {
state = "Solving Sudoku Random Way";
mouse.setSpeed(0);
for (int k = 0; k < 9; k++) {
switch (k) {
case 0:
interfaces.getComponent(288, 205).doClic
k(true);
for (int r = 0; r < 9; r++) {
for (int c = 0; c < 9; c++) {
int i = (11 + c * 2 + r
* 18);
if ((sudokuGrid[r][c] ==
1)
&& !(int
erfaces.get(288).getComponent(i)
.getModelID() == mindID)) {
interfaces.getCo
mponent(288, i).doClick(true);
}
}
}
break;
case 1:
interfaces.getComponent(288, 204).doClic
k(true);
for (int r = 0; r < 9; r++) {
for (int c = 0; c < 9; c++) {
int i = (11 + c * 2 + r
* 18);
if (sudokuGrid[r][c] ==
3
&& !(int
erfaces.get(288).getComponent(i)
.getModelID() == airID)) {
interfaces.getCo
mponent(288, i).doClick(true);
}
}
}
break;
case 2:
interfaces.getComponent(288, 206).doClic
k(true);
for (int r = 0; r < 9; r++) {
for (int c = 0; c < 9; c++) {
int i = (11 + c * 2 + r
* 18);
if (sudokuGrid[r][c] ==
2
&& !(int
erfaces.get(288).getComponent(i)
.getModelID() == fireID)) {
interfaces.getCo
mponent(288, i).doClick(true);
}
}
}
break;
case 3:
interfaces.getComponent(288, 203).doClic
k(true);
for (int r = 0; r < 9; r++) {
for (int c = 0; c < 9; c++) {
int i = (11 + c * 2 + r
* 18);
if (sudokuGrid[r][c] ==
4
&& !(int
erfaces.get(288).getComponent(i)
.getModelID() == waterID)) {
interfaces.getCo
mponent(288, i).doClick(true);
}
}
}
break;
case 4:
interfaces.getComponent(288, 207).doClic
k(true);
for (int r = 0; r < 9; r++) {
for (int c = 0; c < 9; c++) {
int i = (11 + c * 2 + r
* 18);
if (sudokuGrid[r][c] ==
6
&& !(int
erfaces.get(288).getComponent(i)
.getModelID() == bodyID)) {
interfaces.getCo
mponent(288, i).doClick(true);
}
}
}
break;
case 5:
interfaces.getComponent(288, 202).doClic
k(true);
for (int r = 0; r < 9; r++) {
for (int c = 0; c < 9; c++) {
int i = (11 + c * 2 + r
* 18);
if (sudokuGrid[r][c] ==
5
&& !(int
erfaces.get(288).getComponent(i)
.getModelID() == earthID)) {
interfaces.getCo
mponent(288, i).doClick(true);
}
}
}
break;
case 6:
interfaces.getComponent(288, 209).doClic
k(true);
for (int r = 0; r < 9; r++) {
for (int c = 0; c < 9; c++) {
int i = (11 + c * 2 + r
* 18);
if (sudokuGrid[r][c] ==
8
&& !(int
erfaces.get(288).getComponent(i)
.getModelID() == chaosID)) {
interfaces.getCo
mponent(288, i).doClick(true);
}
}
}
break;
case 7:
interfaces.getComponent(288, 208).doClic
k(true);
for (int r = 0; r < 9; r++) {
for (int c = 0; c < 9; c++) {
int i = (11 + c * 2 + r
* 18);
if (sudokuGrid[r][c] ==
7
&& !(int
erfaces.get(288).getComponent(i)
.getModelID() == deathID)) {
interfaces.getCo
mponent(288, i).doClick(true);
}
}
}
break;
case 8:
interfaces.getComponent(288, 210).doClic
k(true);
for (int r = 0; r < 9; r++) {
for (int c = 0; c < 9; c++) {
int i = (11 + c * 2 + r
* 18);
if (sudokuGrid[r][c] ==
9
&& !(int
erfaces.get(288).getComponent(i)
.getModelID() == lawID)) {
interfaces.getCo
mponent(288, i).doClick(true);
}
}
}
break;
}
}
}
if (rr == 2) {
state = "Solving Sudoku Random Way";
mouse.setSpeed(0);
for (int k = 0; k < 9; k++) {
switch (k) {
case 0:
interfaces.getComponent(288, 205).doClic
k(true);
for (int r = 0; r < 9; r++) {
for (int c = 0; c < 9; c++) {
int i = (11 + c * 2 + r
* 18);
if ((sudokuGrid[r][c] ==
1)
&& !(int
erfaces.get(288).getComponent(i)
.getModelID() == mindID)) {
interfaces.getCo
mponent(288, i).doClick(true);
}
}
}
break;
case 1:
interfaces.getComponent(288, 204).doClic
k(true);
for (int r = 0; r < 9; r++) {
for (int c = 0; c < 9; c++) {
int i = (11 + c * 2 + r
* 18);
if (sudokuGrid[r][c] ==
3
&& !(int
erfaces.get(288).getComponent(i)
.getModelID() == airID)) {
interfaces.getCo
mponent(288, i).doClick(true);
}
}
}
break;
case 2:
interfaces.getComponent(288, 206).doClic
k(true);
for (int r = 0; r < 9; r++) {
for (int c = 0; c < 9; c++) {
int i = (11 + c * 2 + r
* 18);
if (sudokuGrid[r][c] ==
2
&& !(int
erfaces.get(288).getComponent(i)
.getModelID() == fireID)) {
interfaces.getCo
mponent(288, i).doClick(true);
}
}
}
break;
case 3:
interfaces.getComponent(288, 203).doClic
k(true);
for (int r = 0; r < 9; r++) {
for (int c = 0; c < 9; c++) {
int i = (11 + c * 2 + r
* 18);
if (sudokuGrid[r][c] ==
4
&& !(int
erfaces.get(288).getComponent(i)
.getModelID() == waterID)) {
interfaces.getCo
mponent(288, i).doClick(true);
}
}
}
break;
case 4:
interfaces.getComponent(288, 207).doClic
k(true);
for (int r = 0; r < 9; r++) {
for (int c = 0; c < 9; c++) {
int i = (11 + c * 2 + r
* 18);
if (sudokuGrid[r][c] ==
6
&& !(int
erfaces.get(288).getComponent(i)
.getModelID() == bodyID)) {
interfaces.getCo
mponent(288, i).doClick(true);
}
}
}
break;
case 5:
interfaces.getComponent(288, 209).doClic
k(true);
for (int r = 0; r < 9; r++) {
for (int c = 0; c < 9; c++) {
int i = (11 + c * 2 + r
* 18);
if (sudokuGrid[r][c] ==
8
&& !(int
erfaces.get(288).getComponent(i)
.getModelID() == chaosID)) {
interfaces.getCo
mponent(288, i).doClick(true);
}
}
}
break;
case 6:
interfaces.getComponent(288, 202).doClic
k(true);
for (int r = 0; r < 9; r++) {
for (int c = 0; c < 9; c++) {
int i = (11 + c * 2 + r
* 18);
if (sudokuGrid[r][c] ==
5
&& !(int
erfaces.get(288).getComponent(i)
.getModelID() == earthID)) {
interfaces.getCo
mponent(288, i).doClick(true);
}
}
}
break;
case 7:
interfaces.getComponent(288, 210).doClic
k(true);
for (int r = 0; r < 9; r++) {
for (int c = 0; c < 9; c++) {
int i = (11 + c * 2 + r
* 18);
if (sudokuGrid[r][c] ==
9
&& !(int
erfaces.get(288).getComponent(i)
.getModelID() == lawID)) {
interfaces.getCo
mponent(288, i).doClick(true);
}
}
}
break;
case 8:
interfaces.getComponent(288, 208).doClic
k(true);
for (int r = 0; r < 9; r++) {
for (int c = 0; c < 9; c++) {
int i = (11 + c * 2 + r
* 18);
if (sudokuGrid[r][c] ==
7
&& !(int
erfaces.get(288).getComponent(i)
.getModelID() == deathID)) {
interfaces.getCo
mponent(288, i).doClick(true);
}
}
}
break;
}
}
}
if (rr == 3) {
state = "Solving Sudoku Normally";
mouse.setSpeed(0);
for (int k = 0; k < 9; k++) {
switch (k) {
case 0:
interfaces.getComponent(288, 205).doClic
k(true);
for (int r = 0; r < 9; r++) {
for (int c = 0; c < 9; c++) {
int i = (11 + c * 2 + r
* 18);
if ((sudokuGrid[r][c] ==
1)
&& !(int
erfaces.get(288).getComponent(i)
.getModelID() == mindID)) {
interfaces.getCo
mponent(288, i).doClick(true);
sleep(00 + rando
m(00, 00));
}
}
}
break;
case 1:
interfaces.getComponent(288, 206).doClic
k(true);
for (int r = 0; r < 9; r++) {
for (int c = 0; c < 9; c++) {
int i = (11 + c * 2 + r
* 18);
if (sudokuGrid[r][c] ==
2
&& !(int
erfaces.get(288).getComponent(i)
.getModelID() == fireID)) {
interfaces.getCo
mponent(288, i).doClick(true);
}
}
}
break;
case 2:
interfaces.getComponent(288, 204).doClic
k(true);
for (int r = 0; r < 9; r++) {
for (int c = 0; c < 9; c++) {
int i = (11 + c * 2 + r
* 18);
if (sudokuGrid[r][c] ==
3
&& !(int
erfaces.get(288).getComponent(i)
.getModelID() == airID)) {
interfaces.getCo
mponent(288, i).doClick(true);
}
}
}
break;
case 3:
interfaces.getComponent(288, 203).doClic
k(true);
for (int r = 0; r < 9; r++) {
for (int c = 0; c < 9; c++) {
int i = (11 + c * 2 + r
* 18);
if (sudokuGrid[r][c] ==
4
&& !(int
erfaces.get(288).getComponent(i)
.getModelID() == waterID)) {
interfaces.getCo
mponent(288, i).doClick(true);
}
}
}
break;
case 4:
interfaces.getComponent(288, 202).doClic
k(true);
for (int r = 0; r < 9; r++) {
for (int c = 0; c < 9; c++) {
int i = (11 + c * 2 + r
* 18);
if (sudokuGrid[r][c] ==
5
&& !(int
erfaces.get(288).getComponent(i)
.getModelID() == earthID)) {
interfaces.getCo
mponent(288, i).doClick(true);
}
}
}
break;
case 5:
interfaces.getComponent(288, 207).doClic
k(true);
for (int r = 0; r < 9; r++) {
for (int c = 0; c < 9; c++) {
int i = (11 + c * 2 + r
* 18);
if (sudokuGrid[r][c] ==
6
&& !(int
erfaces.get(288).getComponent(i)
.getModelID() == bodyID)) {
interfaces.getCo
mponent(288, i).doClick(true);
}
}
}
break;
case 6:
interfaces.getComponent(288, 208).doClic
k(true);
for (int r = 0; r < 9; r++) {
for (int c = 0; c < 9; c++) {
int i = (11 + c * 2 + r
* 18);
if (sudokuGrid[r][c] ==
7
&& !(int
erfaces.get(288).getComponent(i)
.getModelID() == deathID)) {
interfaces.getCo
mponent(288, i).doClick(true);
}
}
}
break;
case 7:
interfaces.getComponent(288, 209).doClic
k(true);
for (int r = 0; r < 9; r++) {
for (int c = 0; c < 9; c++) {
int i = (11 + c * 2 + r
* 18);
if (sudokuGrid[r][c] ==
8
&& !(int
erfaces.get(288).getComponent(i)
.getModelID() == chaosID)) {
interfaces.getCo
mponent(288, i).doClick(true);
}
}
}
break;
case 8:
interfaces.getComponent(288, 210).doClic
k(true);
for (int r = 0; r < 9; r++) {
for (int c = 0; c < 9; c++) {
int i = (11 + c * 2 + r
* 18);
if (sudokuGrid[r][c] ==
9
&& !(int
erfaces.get(288).getComponent(i)
.getModelID() == lawID)) {
interfaces.getCo
mponent(288, i).doClick(true);
}
}
}
break;
}
}
}
if (rr == 4) {
state = "Solving Sudoku Normally";
mouse.setSpeed(0);
for (int k = 0; k < 9; k++) {
switch (k) {
case 0:
interfaces.getComponent(288, 205).doClic
k(true);
for (int r = 0; r < 9; r++) {
for (int c = 0; c < 9; c++) {
int i = (11 + c * 2 + r
* 18);
if ((sudokuGrid[r][c] ==
1)
&& !(int
erfaces.get(288).getComponent(i)
.getModelID() == mindID)) {
interfaces.getCo
mponent(288, i).doClick(true);
sleep(00 + rando
m(00, 00));
}
}
}
break;
case 1:
interfaces.getComponent(288, 206).doClic
k(true);
for (int r = 0; r < 9; r++) {
for (int c = 0; c < 9; c++) {
int i = (11 + c * 2 + r
* 18);
if (sudokuGrid[r][c] ==
2
&& !(int
erfaces.get(288).getComponent(i)
.getModelID() == fireID)) {
interfaces.getCo
mponent(288, i).doClick(true);
}
}
}
break;
case 2:
interfaces.getComponent(288, 204).doClic
k(true);
for (int r = 0; r < 9; r++) {
for (int c = 0; c < 9; c++) {
int i = (11 + c * 2 + r
* 18);
if (sudokuGrid[r][c] ==
3
&& !(int
erfaces.get(288).getComponent(i)
.getModelID() == airID)) {
interfaces.getCo
mponent(288, i).doClick(true);
}
}
}
break;
case 3:
interfaces.getComponent(288, 203).doClic
k(true);
for (int r = 0; r < 9; r++) {
for (int c = 0; c < 9; c++) {
int i = (11 + c * 2 + r
* 18);
if (sudokuGrid[r][c] ==
4
&& !(int
erfaces.get(288).getComponent(i)
.getModelID() == waterID)) {
interfaces.getCo
mponent(288, i).doClick(true);
}
}
}
break;
case 4:
interfaces.getComponent(288, 202).doClic
k(true);
for (int r = 0; r < 9; r++) {
for (int c = 0; c < 9; c++) {
int i = (11 + c * 2 + r
* 18);
if (sudokuGrid[r][c] ==
5
&& !(int
erfaces.get(288).getComponent(i)
.getModelID() == earthID)) {
interfaces.getCo
mponent(288, i).doClick(true);
}
}
}
break;
case 5:
interfaces.getComponent(288, 207).doClic
k(true);
for (int r = 0; r < 9; r++) {
for (int c = 0; c < 9; c++) {
int i = (11 + c * 2 + r
* 18);
if (sudokuGrid[r][c] ==
6
&& !(int
erfaces.get(288).getComponent(i)
.getModelID() == bodyID)) {
interfaces.getCo
mponent(288, i).doClick(true);
}
}
}
break;
case 6:
interfaces.getComponent(288, 208).doClic
k(true);
for (int r = 0; r < 9; r++) {
for (int c = 0; c < 9; c++) {
int i = (11 + c * 2 + r
* 18);
if (sudokuGrid[r][c] ==
7
&& !(int
erfaces.get(288).getComponent(i)
.getModelID() == deathID)) {
interfaces.getCo
mponent(288, i).doClick(true);
}
}
}
break;
case 7:
;
interfaces.getComponent(288, 209).doClic
k(true);
for (int r = 0; r < 9; r++) {
for (int c = 0; c < 9; c++) {
int i = (11 + c * 2 + r
* 18);
if (sudokuGrid[r][c] ==
8
&& !(int
erfaces.get(288).getComponent(i)
.getModelID() == chaosID)) {
interfaces.getCo
mponent(288, i).doClick(true);
}
}
}
break;
case 8:
interfaces.getComponent(288, 210).doClic
k(true);
for (int r = 0; r < 9; r++) {
for (int c = 0; c < 9; c++) {
int i = (11 + c * 2 + r
* 18);
if (sudokuGrid[r][c] ==
9
&& !(int
erfaces.get(288).getComponent(i)
.getModelID() == lawID)) {
interfaces.getCo
mponent(288, i).doClick(true);
}
}
}
break;
}
}
}
if (rr == 5) {
state = "Solving Sudoku Normally";
mouse.setSpeed(0);
for (int k = 0; k < 9; k++) {
switch (k) {
case 0:
interfaces.getComponent(288, 205).doClic
k(true);
for (int r = 0; r < 9; r++) {
for (int c = 0; c < 9; c++) {
int i = (11 + c * 2 + r
* 18);
if ((sudokuGrid[r][c] ==
1)
&& !(int
erfaces.get(288).getComponent(i)
.getModelID() == mindID)) {
interfaces.getCo
mponent(288, i).doClick(true);
sleep(00 + rando
m(00, 00));
}
}
}
break;
case 1:
interfaces.getComponent(288, 206).doClic
k(true);
for (int r = 0; r < 9; r++) {
for (int c = 0; c < 9; c++) {
int i = (11 + c * 2 + r
* 18);
if (sudokuGrid[r][c] ==
2
&& !(int
erfaces.get(288).getComponent(i)
.getModelID() == fireID)) {
interfaces.getCo
mponent(288, i).doClick(true);
}
}
}
break;
case 2:
interfaces.getComponent(288, 204).doClic
k(true);
for (int r = 0; r < 9; r++) {
for (int c = 0; c < 9; c++) {
int i = (11 + c * 2 + r
* 18);
if (sudokuGrid[r][c] ==
3
&& !(int
erfaces.get(288).getComponent(i)
.getModelID() == airID)) {
interfaces.getCo
mponent(288, i).doClick(true);
}
}
}
break;
case 3:
interfaces.getComponent(288, 203).doClic
k(true);
for (int r = 0; r < 9; r++) {
for (int c = 0; c < 9; c++) {
int i = (11 + c * 2 + r
* 18);
if (sudokuGrid[r][c] ==
4
&& !(int
erfaces.get(288).getComponent(i)
.getModelID() == waterID)) {
interfaces.getCo
mponent(288, i).doClick(true);
}
}
}
break;
case 4:
interfaces.getComponent(288, 202).doClic
k(true);
for (int r = 0; r < 9; r++) {
for (int c = 0; c < 9; c++) {
int i = (11 + c * 2 + r
* 18);
if (sudokuGrid[r][c] ==
5
&& !(int
erfaces.get(288).getComponent(i)
.getModelID() == earthID)) {
interfaces.getCo
mponent(288, i).doClick(true);
}
}
}
break;
case 5:
interfaces.getComponent(288, 207).doClic
k(true);
for (int r = 0; r < 9; r++) {
for (int c = 0; c < 9; c++) {
int i = (11 + c * 2 + r
* 18);
if (sudokuGrid[r][c] ==
6
&& !(int
erfaces.get(288).getComponent(i)
.getModelID() == bodyID)) {
interfaces.getCo
mponent(288, i).doClick(true);
}
}
}
break;
case 6:
interfaces.getComponent(288, 208).doClic
k(true);
for (int r = 0; r < 9; r++) {
for (int c = 0; c < 9; c++) {
int i = (11 + c * 2 + r
* 18);
if (sudokuGrid[r][c] ==
7
&& !(int
erfaces.get(288).getComponent(i)
.getModelID() == deathID)) {
interfaces.getCo
mponent(288, i).doClick(true);
}
}
}
break;
case 7:
interfaces.getComponent(288, 209).doClic
k(true);
for (int r = 0; r < 9; r++) {
for (int c = 0; c < 9; c++) {
int i = (11 + c * 2 + r
* 18);
if (sudokuGrid[r][c] ==
8
&& !(int
erfaces.get(288).getComponent(i)
.getModelID() == chaosID)) {
interfaces.getCo
mponent(288, i).doClick(true);
}
}
}
break;
case 8:
interfaces.getComponent(288, 210).doClic
k(true);
for (int r = 0; r < 9; r++) {
for (int c = 0; c < 9; c++) {
int i = (11 + c * 2 + r
* 18);
if (sudokuGrid[r][c] ==
9
&& !(int
erfaces.get(288).getComponent(i)
.getModelID() == lawID)) {
interfaces.getCo
mponent(288, i).doClick(true);
}
}
}
break;
}
}
}
}
private void Notify() {
log("[SOLVER 4.0] Solved Sudoku");
}
public void solveSudoku() {
RandomWays();
}
private void doSudoku() {
state = "Buying Runes";
if (sudokuOpen == true && sudokuSolved == false
&& !interfaces.get(228).getComponent(2).contains
Text("Buy all")) {
makeGrid();
if (solve(0, 0, sudokuGrid)) {
if (sudokuOpen == true
&& !interfaces.get(228).getCompo
nent(2)
.containsText("B
uy all")) {
for (int i = 0; i < 9; i++) {
sleep(random(00, 00));
}
}
solveSudoku();
sleep(00 + random(00, 00));
sudokuSolved = true;
if (interfaces.get(288).getComponent(9)
.containsText("open casket")) {
interfaces.getComponent(288, 9).doClick(
true);
sleep(4000 + (random(200, 200)));
sudokuOpen = false;
sudokuSolved = false;
}
}
}
}
private boolean checkForUpdates() {
try {
/*
* Get the current version from the Script Manifest anno
tation
* defined at the top of your script's class
*/
double currentVer = LegendSudoku.class.getAnnotation(
ScriptManifest.class).version();
double newVer = -1;
URL url = new URL(UPDATER_URL);
/* Open a stream to the newest script file hosted on you
r server */
BufferedReader in = new BufferedReader(new InputStreamRe
ader(
url.openStream()));
String line, lines = "";
Matcher m;
/*
* Look for the "version = x.x" string in the newer file
to figure
* out the newest version number
*/
while ((line = in.readLine()) != null) {
lines += line + "\n";
if ((m = UPDATER_VERSION_PATTERN.matcher(line)).
find()) {
newVer = Double.parseDouble(m.group(1));
break;
}
}
/* Check if the updater was unable to read the newest ve
rsion number */
if (newVer < 0) {
in.close();
log("Unable To Find Out LegendSudoku Version. Up
date Failed");
return false;
}
/* Compare the current version to the newest. */
if (currentVer == newVer) {
in.close();
log("You Have The Latest Version Of LegendSudoku
[For Now ;)]");
return false;
}
/*
* The current version is less than the newest version,
so we need
* to download it
*/
log("Update Found! Downloading Version " + newVer);
/* Figure out where to save the file */
String scriptFilePath = GlobalConfiguration.Paths
.getScriptsSourcesDirectory() + "\\" + U
PDATER_FILE_NAME;
PrintWriter out = new PrintWriter(scriptFilePath);
/* Print the cached lines from the version checking */
out.print(lines);
/* Print the rest of the file */
while ((line = in.readLine()) != null)
out.println(line);
/* Close the streams */
out.close();
in.close();
log("Successfully Saved " + UPDATER_FILE_NAME + " To "
+ GlobalConfiguration.Paths.getScriptsSo
urcesDirectory());
log("Compiling...");
try {
/* Attempt to compile the downloaded version */
Runtime.getRuntime().exec(
new String[] { "javac", "-classp
ath", "RSBot.jar",
scriptFilePath }
);
} catch (Exception ex) {
log("Could Not Compile The Script. Please Manual
ly Compile To Finish The Update.");
return false;
}
log("Update Successful!");
log("The New Version Will Appear Near The Bottom Of The
Script Selector.");
log("Stop & Restart The Script To Run The Newer Version.
");
return true;
} catch (IOException e) {
log(e.toString());
log("Update Failed.");
}
return false;
}
private void buyRunes() {
state = "Buying Runes";
interfaces.getComponent(228, 2).doClick(true);
resetGrid();
talked = false;
sudokuOpen = false;
sudokuSolved = false;
sleep(00 + random(00, 00));
LegendSudokuAntiBan();
resetGrid();
}
private boolean inArea(final int[] area) {
final int x = getMyPlayer().getLocation().getX();
final int y = getMyPlayer().getLocation().getY();
if (x >= area[0] && x <= area[2] && y >= area[1] && y <= area[3]
) {
return true;
}
return false;
}
private boolean inGeneralStore() {
if (interfaces.get(620).getComponent(20)
.containsText("Ali's Discount Wares")) {
return true;
} else {
return false;
}
}
private void exitGeneralStore() {
if (inGeneralStore() == true) {
if (interfaces.get(620).getComponent(18).containsAction(
"Close")) {
log("missclicked, closing general store");
interfaces.getComponent(620, 18).doClick(true);
talked = false;
sudokuOpen = false;
}
}
}
static boolean solve(int i, int j, int[][] cells) {
if (i == 9) {
i = 0;
if (++j == 9)
return true;
}
if (cells[i][j] != 0)
return solve(i + 1, j, cells);
for (int val = 1; val <= 9; ++val) {
if (legal(i, j, val, cells)) {
cells[i][j] = val;
if (solve(i + 1, j, cells))
return true;
}
}
cells[i][j] = 0;
return false;
}
static boolean legal(int i, int j, int val, int[][] cells) {
for (int k = 0; k < 9; ++k)
if (val == cells[k][j])
return false;
for (int k = 0; k < 9; ++k)
if (val == cells[i][k])
return false;
int boxRowOffset = (i / 3) * 3;
int boxColOffset = (j / 3) * 3;
for (int k = 0; k < 3; ++k)
for (int m = 0; m < 3; ++m)
if (val == cells[boxRowOffset + k][boxColOffset
+ m])
return false;
return true;
}
private void makeGrid() {
for (int r = 0; r < 9; r++) {
for (int c = 0; c < 9; c++) {
int i = (11 + c * 2 + r * 18);
if (interfaces.get(288).getComponent(i).getModel
ID() == mindID) {
sudokuGrid[r][c] = 1;
}
if (interfaces.get(288).getComponent(i).getModel
ID() == fireID) {
sudokuGrid[r][c] = 2;
}
if (interfaces.get(288).getComponent(i).getModel
ID() == airID) {
sudokuGrid[r][c] = 3;
}
if (interfaces.get(288).getComponent(i).getModel
ID() == waterID) {
sudokuGrid[r][c] = 4;
}
if (interfaces.get(288).getComponent(i).getModel
ID() == earthID) {
sudokuGrid[r][c] = 5;
}
if (interfaces.get(288).getComponent(i).getModel
ID() == bodyID) {
sudokuGrid[r][c] = 6;
}
if (interfaces.get(288).getComponent(i).getModel
ID() == deathID) {
sudokuGrid[r][c] = 7;
}
if (interfaces.get(288).getComponent(i).getModel
ID() == chaosID) {
sudokuGrid[r][c] = 8;
}
if (interfaces.get(288).getComponent(i).getModel
ID() == lawID) {
sudokuGrid[r][c] = 9;
}
}
}
}
private void resetGrid() {
for (int r = 0; r < 9; r++) {
for (int c = 0; c < 9; c++) {
sudokuGrid[r][c] = 0;
}
}
}
long totalProfit() {
if (this.items == null)
return 0L;
try {
long l1 = perHour(
this.start_gold
- this.inventory.getCoun
t(true,
new int[
] { this.items.goldID }),
System.currentTimeMillis() - this.startt
ime);
long l2 = perHour(getProfit(), System.currentTimeMillis(
)
- this.starttime);
long l3 = l2 / (l1 / 1000L);
long l4 = this.start_gold / 1000L;
return l4 * l3;
} catch (ArithmeticException localArithmeticException) {
}
return 0L;
}
public void onRepaint(Graphics g1) {
Graphics2D g = (Graphics2D) g1;
if ((System.currentTimeMillis() - HOUR_MS) > (1000 * 60 * 60)) {
env.saveScreenshot(false);
HOUR_MS = System.currentTimeMillis();
}
g.setRenderingHints(antialiasing);
g.setColor(color1);
g.fillRoundRect(7, 342, 503, 114, 16, 16);
g.setColor(color2);
g.setStroke(stroke1);
g.drawRoundRect(7, 342, 503, 114, 16, 16);
g.setFont(font1);
g.setColor(color3);
g.drawString("Status: " + state, 13, 404);
g.setFont(font2);
g.setColor(color4);
g.drawString("Time Ran For: "
+ formatTime(System.currentTimeMillis() - this.s
tarttime), 218,
384);
g.drawString("Total Profit: " + formatLong(getProfit()), 14, 386
);
g.drawString(
"Profit Per Hour "
+ formatLong(perHour(getProfit()
,
System.currentTi
meMillis() - this.starttime)),
218, 371);
g.drawString("Puzzles Solved: " + this.solved, 14, 372);
g.drawString(
"Puzzles Solved Per Hour: "
+ perHour(this.solved, System.cu
rrentTimeMillis()
- this.starttime
), 14, 359);
g.drawString("Estimated Time Left: ", 218, 358);
g.setFont(font1);
g.setColor(color5);
g.drawString("Bot News: ", 14, 418);
g.setColor(color6);
g.setStroke(stroke2);
g.drawLine(10, 388, 509, 388);
g.drawLine(10, 423, 505, 423);
g.drawImage(img1, 183, 393, null);
g.setFont(font3);
g.setColor(color7);
g.drawString("Version: 6.0", 385, 451);
}
public void onFinish() {
log(" Thank You For Using LegendSudoku");
log("Script Takes Screenshots. Upload'em");
log("[CALCULATOR 1.0] Total Profit: " + formatLong(getProfit()))
;
log("[SOLVER 4.0] Puzzles Solved: " + this.solved);
}
class Items {
int natureID;
int cosmicID;
int bloodID;
int deathID;
int chaosID;
int mindID;
int soulID;
int bodyID;
int lawID;
int goldID;
int nature_price;
int cosmic_price;
int blood_price;
int death_price;
int chaos_price;
int mind_price;
int soul_price;
int body_price;
int law_price;
public Items(LegendSudoku paramRuneSudoku) {
this.natureID = 561;
this.cosmicID = 564;
this.bloodID = 565;
this.deathID = 560;
this.chaosID = 562;
this.mindID = 558;
this.soulID = 566;
this.bodyID = 559;
this.lawID = 563;
this.goldID = 995;
this.nature_price = paramRuneSudoku.grandExchange
.getMarketPrice(natureID);
this.cosmic_price = paramRuneSudoku.grandExchange
.getMarketPrice(cosmicID);
this.blood_price = paramRuneSudoku.grandExchange
.getMarketPrice(bloodID);
this.death_price = paramRuneSudoku.grandExchange
.getMarketPrice(deathID);
this.chaos_price = paramRuneSudoku.grandExchange
.getMarketPrice(chaosID);
this.mind_price = paramRuneSudoku.grandExchange
.getMarketPrice(mindID);
this.soul_price = paramRuneSudoku.grandExchange
.getMarketPrice(soulID);
this.body_price = paramRuneSudoku.grandExchange
.getMarketPrice(bodyID);
this.law_price = paramRuneSudoku.grandExchange
.getMarketPrice(lawID);
}
}
long timeLeft() {
if (this.items == null)
return 0L;
try {
double d1 = this.inventory.getCount(true,
new int[] { this.items.goldID });
double d2 = (this.start_gold - d1)
/ (System.currentTimeMillis() - this.sta
rttime);
double d3 = d1 / d2;
return (long) d3;
} catch (ArithmeticException localArithmeticException) {
}
return 0L;
}
@Override
public void serverMessageRecieved(final ServerMessageEvent arg0) {
final String message = arg0.getMessage();
if (message.contains("remove this rune")) {
messedUp = true;
}
if (message.contains("locked")) {
messedUp = true;
}
if (message.contains("hear the locking") && sudokuOpen == true)
{
solved++;
resetGrid();
sudokuOpen = false;
}
}
}

S-ar putea să vă placă și