import java.awt.BasicStroke;
import java.awt.Color;
import java.awt.Dimension;
import java.awt.Font;
import java.awt.Graphics;
import java.awt.Graphics2D;
import java.awt.Image;
import java.awt.Point;
import java.awt.Rectangle;
import java.awt.Toolkit;
import java.awt.event.ActionEvent;
import java.awt.event.ActionListener;
import java.awt.event.MouseEvent;
import java.awt.event.MouseListener;
import java.io.File;
import java.net.URL;
import javax.imageio.ImageIO;
import javax.swing.DefaultComboBoxModel;
import javax.swing.JButton;
import javax.swing.JComboBox;
import javax.swing.JFrame;
import javax.swing.JTextPane;
import javax.swing.SwingUtilities;
import org.powerbot.concurrent.Task;
import org.powerbot.concurrent.strategy.Condition;
import org.powerbot.concurrent.strategy.Strategy;
import org.powerbot.game.api.ActiveScript;
import org.powerbot.game.api.Manifest;
import org.powerbot.game.api.methods.Tabs;
import org.powerbot.game.api.methods.Walking;
import org.powerbot.game.api.methods.Widgets;
import org.powerbot.game.api.methods.input.Mouse;
import org.powerbot.game.api.methods.interactive.NPCs;
import org.powerbot.game.api.methods.interactive.Players;
import org.powerbot.game.api.methods.node.Menu;
import org.powerbot.game.api.methods.node.SceneEntities;
import org.powerbot.game.api.methods.tab.Inventory;
import org.powerbot.game.api.methods.tab.Skills;
import org.powerbot.game.api.methods.widget.Camera;
import org.powerbot.game.api.util.Random;
import org.powerbot.game.api.util.Time;
import org.powerbot.game.api.wrappers.Tile;
import org.powerbot.game.api.wrappers.node.SceneObject;
import org.powerbot.game.api.wrappers.widget.WidgetChild;
import org.powerbot.game.bot.event.MessageEvent;
import org.powerbot.game.bot.event.listener.MessageListener;
import org.powerbot.game.bot.event.listener.PaintListener;
@Manifest(
name = "BD Gold Bars",
version = 3.1,
description = "Start near Edge Village's bank",
authors = {"BullDozerx6"}
)
public class BDGoldBars extends ActiveScript implements PaintListener, MessageListener, MouseListener
{
int GoldBarsC;
int BankId;
int FurnaceId;
String Status = "Starting up";
int SmithStart;
int Level;
String currentversion = "3.1";
int GoldBarsLast;
int GoldBarsNew;
int GoldTime;
boolean gift = false;
boolean Start = false;
boolean antban;
int Rand;
int Door;
int Locat;
Image Gold;
int GoldShow;
@Override
protected void setup()
{
Gold = getImage("http://i45.tinypic.com/281u3xk.png","281u3xk.png");
SwingUtilities.invokeLater(new Runnable() {
public void run() {
try {
final BDGoldgui BD = new BDGoldgui();
BD.setVisible(true);
} catch (Exception e) {
e.printStackTrace();
}
}
});
}
@SuppressWarnings("deprecation")
public Image getImage(String url, String name) {
try {
File dir = new File(getStorageDirectory().getAbsolutePath() + System.getProperty("file.seperator") + name);
if(!dir.exists()) {
ImageIO.write(ImageIO.read(new URL(url)), url.substring(url.lastIndexOf('.')).substring(1), dir);
}
return ImageIO.read(dir);
} catch(Exception a) {
a.printStackTrace();
}
return null;
}
@Override
public void messageReceived(MessageEvent e)
{
if(e.getMessage().contains("You retrieve a bar of gold ")){GoldBarsC++; GoldBarsNew++;}
else if(e.getMessage().contains("gift ")){gift = true;}
}
public static boolean isBankOpen() {
return Widgets.get(762).validate();
}
final class BDGoldgui extends JFrame implements ActionListener {
private static final long serialVersionUID = 1L;
@SuppressWarnings("unchecked")
public BDGoldgui() {
setTitle("BDGoldBars v3.1");
final JButton start = new JButton("Start");
start.setBounds(80, 40, 60, 30);
start.addActionListener(this);
getContentPane().setLayout(null);
getContentPane().add(start);
JTextPane t = new JTextPane();
t.setBounds(10, 10, 100, 20);
t.setEditable(false);
t.setBackground(null);
t.setText("Select the Place:");
getContentPane().add(t);
final JComboBox Rock = new JComboBox();
Rock.setModel(new DefaultComboBoxModel(new String[] {"EdgeVille", "Port Phasmatys", "Al Kahid", "Neitiznot"}));
Rock.setBounds(130, 10, 90, 20);
getContentPane().add(Rock);
setSize(250, 130);
start.addActionListener(new ActionListener() {
@Override
public void actionPerformed(ActionEvent e) {
String s = Rock.getSelectedItem().toString();
if(s == "EdgeVille") {
INIT i = new INIT();
provide(new Strategy(i,i));
Locat = 1;
EdgeBankWalk ew = new EdgeBankWalk();
provide(new Strategy(ew,ew));
EdgeBank eb = new EdgeBank();
provide(new Strategy(eb,eb));
EdgeFurnWalk efw = new EdgeFurnWalk();
provide(new Strategy(efw,efw));
EdgeFurn ef = new EdgeFurn();
provide(new Strategy(ef,ef));
Anti a = new Anti();
provide(new Strategy(a,a));
EdgeSmelt es = new EdgeSmelt();
provide(new Strategy(es,es));
Nlev n = new Nlev();
provide(new Strategy(n,n));
} else if(s == "Port Phasmatys") {
PhasINIT i = new PhasINIT();
provide(new Strategy(i,i));
Locat = 2;
PhasBankWalk ew = new PhasBankWalk();
provide(new Strategy(ew,ew));
PhasBank eb = new PhasBank();
provide(new Strategy(eb,eb));
PhasFurnWalk efw = new PhasFurnWalk();
provide(new Strategy(efw,efw));
PhasDoor d = new PhasDoor();
provide(new Strategy(d,d));
PhasFurn ef = new PhasFurn();
provide(new Strategy(ef,ef));
Anti a = new Anti();
provide(new Strategy(a,a));
PhasSmelt es = new PhasSmelt();
provide(new Strategy(es,es));
PhasDoor d2 = new PhasDoor();
provide(new Strategy(d2,d2));
Nlev n = new Nlev();
provide(new Strategy(n,n));
}else if(s == "Al Kahid"){
AlINIT i = new AlINIT();
provide(new Strategy(i,i));
Locat = 3;
AlkBankWalk ew = new AlkBankWalk();
provide(new Strategy(ew,ew));
AlkBank eb = new AlkBank();
provide(new Strategy(eb,eb));
AlkFurnWalk efw = new AlkFurnWalk();
provide(new Strategy(efw,efw));
AlkFurn ef = new AlkFurn();
provide(new Strategy(ef,ef));
Anti a = new Anti();
provide(new Strategy(a,a));
AlkSmelt es = new AlkSmelt();
provide(new Strategy(es,es));
Nlev n = new Nlev();
provide(new Strategy(n,n));
}else if(s == "Neitiznot"){
AlINIT i = new AlINIT();
provide(new Strategy(i,i));
Locat = 4;
NeitBankWalk ew = new NeitBankWalk();
provide(new Strategy(ew,ew));
NeitBank eb = new NeitBank();
provide(new Strategy(eb,eb));
NeitFurnWalk efw = new NeitFurnWalk();
provide(new Strategy(efw,efw));
NeitFurn ef = new NeitFurn();
provide(new Strategy(ef,ef));
Anti a = new Anti();
provide(new Strategy(a,a));
NeitSmelt es = new NeitSmelt();
provide(new Strategy(es,es));
Nlev n = new Nlev();
provide(new Strategy(n,n));
}
setVisible(false);
}
});
Dimension dimension = Toolkit.getDefaultToolkit().getScreenSize();
int x = (int) ((dimension.getWidth() - getWidth()) / 2);
int y = (int) ((dimension.getHeight() - getHeight()) / 2);
setLocation(x, y);
}
@Override
public void actionPerformed(ActionEvent e) {
this.setVisible(false);
this.dispose();
}
}
public boolean BANK(){
for(SceneObject Local : SceneEntities.getLoaded())
{
if(Local.getId() == 2759){
if(Local.isOnScreen()){
BankId = 2759; return true;}}
}
return false;
}
public boolean FURNACE(){
for(SceneObject Local : SceneEntities.getLoaded())
{
if(Local.getId() == 26814){
if(Local.isOnScreen()){
FurnaceId= 26814; return true;}}
}
return false;
}
public boolean PhasBANK(){
for(SceneObject Local : SceneEntities.getLoaded())
{
if(Local.getId() == 5276){
if(Local.isOnScreen()){
BankId = 5276; return true;}}
}
return false;
}
public boolean NeitBANK(){
for(SceneObject Local : SceneEntities.getLoaded())
{
if(Local.getId() == 21301){
if(Local.isOnScreen()){
BankId = 21301; return true;}}
}
return false;
}
public boolean PhasFURNACE(){
for(SceneObject Local : SceneEntities.getLoaded())
{
if(Local.getId() == 11666){
if(Local.isOnScreen()){
FurnaceId= 11666; return true;}}
}
return false;
}
public boolean NeitFURNACE(){
for(SceneObject Local : SceneEntities.getLoaded())
{
if(Local.getId() == 21303){
if(Local.isOnScreen()){
FurnaceId= 21303; return true;}}
}
return false;
}
public boolean Door(){
for(SceneObject Local : SceneEntities.getLoaded())
{
if(Local.getId() == 5245){
if(Local.isOnScreen()){
Door = 5244; return true;}}
}
return false;
}
private class AlINIT extends Strategy implements Task
{
@Override
public void run(){
if(Start == false){
Tabs.INVENTORY.open();
Level = Skills.getLevel(Skills.SMITHING);
SmithStart = Skills.getExperience(13);
Time.sleep(1000);
Widgets.get(548).getChild(145).click(true);
Time.sleep(400);
Camera.setPitch(100);
Start = true;}
}
@Override
public boolean validate(){
return true;
}
}
private class PhasINIT extends Strategy implements Task
{
@Override
public void run(){
if(Start == false){
Tabs.INVENTORY.open();
Level = Skills.getLevel(Skills.SMITHING);
SmithStart = Skills.getExperience(13);
Time.sleep(1000);
Widgets.get(548).getChild(145).click(true);
Time.sleep(400);
Camera.setAngle(-45);
Time.sleep(400);
Camera.setPitch(100);
Start = true;}
}
@Override
public boolean validate(){
return true;
}
}
private class INIT extends Strategy implements Task
{
@Override
public void run(){
if(Start == false){
Tabs.INVENTORY.open();
Level = Skills.getLevel(Skills.SMITHING);
SmithStart = Skills.getExperience(13);
Time.sleep(1000);
Widgets.get(548).getChild(145).click(true);
Time.sleep(400);
Camera.setPitch(100);
Start = true;}
}
@Override
public boolean validate(){
return true;
}
}
public boolean withdraw() {
WidgetChild[] bank = Widgets.get(762, 95).getChildren();
for (WidgetChild child : bank) {
if (child.getChildId() == 444) {
child.click(false);
Menu.select("Withdraw-All");
Time.sleep(Random.nextInt(1000,1200));
return true;
}
}
Widgets.get(762).getChild(45).click(true);
Time.sleep(500);
Mouse.click(752, 12, true);
Time.sleep(500);
Mouse.click(639, 407, true);
stop();
return false;
}
public void Banking(){
Status = "Banking";
Widgets.get(762).getChild(34).click(true);
Time.sleep(1500);
}
public void Antib(int ant){
if(ant == 1){
Camera.setAngle(Random.nextInt(20, 250));
Status = "Anti-Ban";
}
else
if(ant == 2 || ant == 5 || ant == 10 || ant == 11){
do{Tabs.STATS.open();}while(!Tabs.STATS.open());
Widgets.get(320).getChild(16).hover();
Time.sleep(Random.nextInt(4000, 6000));
do{Tabs.INVENTORY.open();}while(!Tabs.INVENTORY.open());
Status = "Anti-Ban";
}
else
if(ant == 3){
Mouse.move(Random.nextInt(1, 500),Random.nextInt(1, 500),Random.nextInt(1, 500),Random.nextInt(1, 500));
Status = "Anti-Ban";
}
else
if(ant == 4){
Camera.setPitch(Random.nextInt(20, 250));Status = "Anti-Ban";
}
}
public void Time()
{
GoldTime=0;
do{Time.sleep(10); GoldTime++;
if(GoldBarsLast < GoldBarsNew){GoldTime = 0;}
if(GoldTime < 1000 && GoldBarsLast != GoldBarsNew){GoldBarsLast = GoldBarsNew;}}
while(Inventory.getCount(444) > 0);
}
private class PhasSmelt extends Strategy implements Task, Condition
{
@Override
public void run(){
Status = "Smelting";
GoldBarsNew = 0;
GoldBarsLast = GoldBarsNew;
Time();
}
@Override
public boolean validate(){
return true;
}
}
private class PhasFurn extends Strategy implements Task, Condition
{
@Override
public void run(){
Status = "Finding Furnace";
PhasFURNACE();
do{
SceneObject OB1 = SceneEntities.getNearest(FurnaceId);
OB1.interact("Smelt");
Widgets.get(905).getChild(19).click(true);
Status = "Smelting";
Time.sleep(Random.nextInt(5000, 10000));}
while(Inventory.getCount(444) == 28);
}
@Override
public boolean validate(){
return true;
}
}
private class PhasDoor extends Strategy implements Task, Condition
{
@Override
public void run(){
Door();
SceneObject OB2 = SceneEntities.getNearest(Door);
do{
if(!Door()){
Status = "Door closed?";
OB2.interact("Open");
Time.sleep(1500);
} Door();}while(!Door());
}
@Override
public boolean validate(){
return true;
}
}
private class PhasFurnWalk extends Strategy implements Task, Condition
{
@Override
public void run(){
Status = "Walking";
do{Walking.walk(new Tile(3685, 3479, 0));
Time.sleep(1000);}while(!Players.getLocal().isMoving());
do{Time.sleep(10); Door();}while(!Door());
}
@Override
public boolean validate(){
return true;
}
}
private class PhasBank extends Strategy implements Task, Condition
{
@Override
public void run(){
if(Inventory.getCount(444) != 28)
{
if(!isBankOpen()){
Status = "Opening Bank";
SceneObject OB = SceneEntities.getNearest(BankId);
do{
OB.interact("Bank");
Time.sleep(500);
do{Time.sleep(10);}while(Players.getLocal().isMoving());
Time.sleep(1000);}while(!Widgets.get(1186).getChild(7).isOnScreen());
Mouse.click(Random.nextInt(228, 289), Random.nextInt(462, 470), true);
Time.sleep(1500);
do{
Status = "Banking";
Banking();}
while(Inventory.getCount() > 0);
do{
Status = "Taking Ores";
withdraw();
Time.sleep(1000);}
while(Inventory.getCount(444) == 0);}
}
}
@Override
public boolean validate(){
return true;
}
}
private class PhasBankWalk extends Strategy implements Task, Condition
{
@Override
public void run(){
if(Inventory.getCount(444) != 28)
{
if(!isBankOpen()){
Status = "Walking";
Walking.walk(new Tile(Random.nextInt(3687, 3691), 3465, 0));
do{Time.sleep(10); PhasBANK();}while(PhasBANK() == false);}}
}
@Override
public boolean validate(){
return true;
}
}
private class EdgeSmelt extends Strategy implements Task, Condition
{
@Override
public void run(){
Status = "Smelting";
GoldBarsNew = 0;
GoldBarsLast = GoldBarsNew;
Time();
}
@Override
public boolean validate(){
return true;
}
}
private class EdgeFurn extends Strategy implements Task, Condition
{
@Override
public void run(){
Status = "Finding furnace";
FURNACE();
do{
SceneObject OB1 = SceneEntities.getNearest(FurnaceId);
OB1.interact("Smelt");
Widgets.get(905).getChild(19).click(true);
Status = "Smelting";
Time.sleep(Random.nextInt(5000, 6000));}
while(Inventory.getCount(444) == 28);
}
@Override
public boolean validate(){
return true;
}
}
private class EdgeFurnWalk extends Strategy implements Task, Condition
{
@Override
public void run(){
Status = "Walking";
Walking.walk(new Tile(3110, Random.nextInt(3499, 3501), 0));
do{Time.sleep(10);}while(isBankOpen());
Time.sleep(500);
do{Time.sleep(10); FURNACE();}while(Players.getLocal().isMoving() && !FURNACE());
}
@Override
public boolean validate(){
return true;
}
}
private class EdgeBank extends Strategy implements Task, Condition
{
@Override
public void run(){
if(Inventory.getCount(444) != 28)
{
if(!isBankOpen()){
Status = "Opening Bank";
do{
NPCs.getNearest(2759).interact("Bank");
if(Widgets.get(205).getChild(0).isOnScreen()){
do{Mouse.click(496, 23, true); Time.sleep(500);}while(Widgets.get(205).getChild(0).isOnScreen());
}
Time.sleep(1500);
if(Widgets.get(205).getChild(0).isOnScreen()){
do{Mouse.click(496, 23, true); Time.sleep(500);}while(Widgets.get(205).getChild(0).isOnScreen());
}
do{Time.sleep(10);}while(Players.getLocal().isMoving());
if(Widgets.get(205).getChild(0).isOnScreen()){
do{Mouse.click(496, 23, true); Time.sleep(500);}while(Widgets.get(205).getChild(0).isOnScreen());
}}while(!isBankOpen());
do{
Status = "Banking";
Banking();}
while(Inventory.getCount() > 0);
do{
Status = "Taking Ores";
withdraw();
Time.sleep(1000);}
while(Inventory.getCount(444) == 0);
}}
}
@Override
public boolean validate(){
return true;
}
}
private class EdgeBankWalk extends Strategy implements Task, Condition
{
@Override
public void run(){
if(Inventory.getCount(444) != 28)
{
if(!isBankOpen()){
Status = "Walking";
Walking.walk(new Tile(3097, Random.nextInt(3495, 3498), 0));
Time.sleep(500);
do{Time.sleep(10);}while(Players.getLocal().isMoving());}}
}
@Override
public boolean validate(){
return true;
}
}
private class AlkSmelt extends Strategy implements Task, Condition
{
@Override
public void run(){
Status = "Smelting";
GoldBarsNew = 0;
GoldBarsLast = GoldBarsNew;
Time();
}
@Override
public boolean validate(){
return true;
}
}
private class AlkFurn extends Strategy implements Task, Condition
{
@Override
public void run(){
Status = "Finding furnace";
FURNACE();
do{
SceneObject OB1 = SceneEntities.getNearest(FurnaceId);
OB1.interact("Smelt");
Widgets.get(905).getChild(19).click(true);
Status = "Smelting";
Time.sleep(Random.nextInt(8000, 10000));}
while(Inventory.getCount(444) == 28);
}
@Override
public boolean validate(){
return true;
}
}
private class AlkFurnWalk extends Strategy implements Task, Condition
{
@Override
public void run(){
Status = "Walking";
Walking.walk(new Tile(3275, 3184, 0));
Time.sleep(1000);
do{Time.sleep(10); PhasFURNACE();}while(!PhasFURNACE());
}
@Override
public boolean validate(){
return true;
}
}
private class AlkBank extends Strategy implements Task, Condition
{
@Override
public void run(){
if(Inventory.getCount(444) != 28)
{
if(!isBankOpen()){
Status = "Opening Bank";
do{
NPCs.getNearest(496).interact("Bank");
Time.sleep(2000);}while(!isBankOpen());
do{
Status = "Banking";
Banking();}
while(Inventory.getCount() > 0);
do{
Status = "Taking Ores";
withdraw();
Time.sleep(1000);}
while(Inventory.getCount(444) == 0);}}}
@Override
public boolean validate(){
return true;
}
}
private class AlkBankWalk extends Strategy implements Task, Condition
{
@Override
public void run(){
if(Inventory.getCount(444) != 28)
{
if(!isBankOpen()){
Status = "Walking";
do{Walking.walk(new Tile(Random.nextInt(3269, 3271), Random.nextInt(3169,3170), 0));
Time.sleep(1500);}while(!Players.getLocal().isMoving());
do{Time.sleep(10);}while(Players.getLocal().isMoving());}}
}
@Override
public boolean validate(){
return true;
}
}
private class Anti extends Strategy implements Task, Condition
{
@Override
public void run(){
Mouse.move(Random.nextInt(1, 600),Random.nextInt(1, 600),Random.nextInt(1, 600),Random.nextInt(1, 600));
Time.sleep(500);
Antib(Random.nextInt(0, 15));
}
@Override
public boolean validate(){
return true;
}
}
private class NeitSmelt extends Strategy implements Task, Condition
{
@Override
public void run(){
Status = "Smelting";
GoldBarsNew = 0;
GoldBarsLast = GoldBarsNew;
Time();
}
@Override
public boolean validate(){
return true;
}
}
private class NeitFurn extends Strategy implements Task, Condition
{
@Override
public void run(){
Status = "Fiding furnace";
do{
SceneObject OB1 = SceneEntities.getNearest(FurnaceId);
do{Time.sleep(10);}while(Players.getLocal().isMoving());
OB1.interact("Smelt-ore");
Widgets.get(905).getChild(19).click(true);
Status = "Smelting";
Time.sleep(Random.nextInt(5000, 6000));}
while(Inventory.getCount(444) == 28);
}
@Override
public boolean validate(){
return true;
}
}
private class NeitFurnWalk extends Strategy implements Task, Condition
{
@Override
public void run(){
Status = "Walking";
Walking.walk(new Tile(2344, 3809, 0));
Time.sleep(1000);
NeitFURNACE();
do{Time.sleep(10); NeitFURNACE();}while(!NeitFURNACE());
}
@Override
public boolean validate(){
return true;
}
}
private class NeitBank extends Strategy implements Task, Condition
{
@Override
public void run(){
if(Inventory.getCount(444) != 28)
{
if(!isBankOpen()){
NeitBANK();
Status = "Walking";
Status = "Opening Bank";
SceneObject OB = SceneEntities.getNearest(BankId);
do{
OB.interact("Use");
Time.sleep(500);
do{Time.sleep(10);}while(Players.getLocal().isMoving());
Time.sleep(1500);}while(!isBankOpen());}
do{
Status = "Banking";
Banking();}
while(Inventory.getCount() > 0);
do{
Status = "Taking Ores";
withdraw();
Time.sleep(1000);}
while(Inventory.getCount(444) == 0);
}
}
@Override
public boolean validate(){
return true;
}
}
private class NeitBankWalk extends Strategy implements Task, Condition
{
@Override
public void run(){
if(Inventory.getCount(444) != 28)
{
if(NeitBANK() == false){
do{Walking.walk(new Tile(Random.nextInt(2236, 2237), Random.nextInt(3806,3808), 0));
Time.sleep(800);}while(!Players.getLocal().isMoving());
do{Time.sleep(10);}while(Players.getLocal().isMoving());}}
}
@Override
public boolean validate(){
return true;
}
}
private class Nlev extends Strategy implements Task, Condition
{
@Override
public void run(){
NLEVEL = Skills.getLevel(Skills.getLevel(Skills.SMITHING)) - Level;
}
@Override
public boolean validate(){
return true;
}
}
private final static Rectangle Golds = new Rectangle(453 , 343, 60, 17);
@Override
public void mousePressed(MouseEvent arg0) {
}
@Override
public void mouseClicked(MouseEvent e) {
Point p = e.getPoint();
if(Golds.contains(p)) {
if( GoldShow== 0){
GoldShow = 1;}
else if( GoldShow == 1){ GoldShow = 2;}
else if( GoldShow == 2){ GoldShow = 0;}
}
}
@Override
public void mouseEntered(MouseEvent arg0) {
}
@Override
public void mouseExited(MouseEvent arg0) {
}
@Override
public void mouseReleased(MouseEvent arg0) {
}
private final Color color1 = new Color(0, 0, 0, 180);
private final Color color2 = new Color(180, 180, 1);
private final Color color3 = new Color(0, 0, 0);
private final BasicStroke stroke1 = new BasicStroke(1);
private final Font font3 = new Font("Arial", 1, 10);
private final Font font1 = new Font("Arial", 1, 9);
private static long StartTime = System.currentTimeMillis();
int NLEVEL;
@Override
public void onRepaint(Graphics graphics) {
long milliseconds = System.currentTimeMillis() - StartTime;
long t_seconds = milliseconds / 1000;
long t_minutes = t_seconds / 60;
long t_hours = t_minutes / 60;
long seconds = t_seconds % 60;
long minutes = t_minutes % 60;
long hours = t_hours % 500;
String RunTime = hours + ":" + minutes + ":" + seconds;
int SmithExpGain = Skills.getExperience(13) - SmithStart;
int SmithPerHour = 0;
float SmithPerSec = 0;
int Gperhour = 0;
float gpersec = 0;
float Smith = Skills.getExperienceToLevel(Skills.SMITHING, Skills.getRealLevel(Skills.SMITHING) + 1);
float sm = 0;
if ((minutes > 0 || hours > 0 || seconds > 0) && SmithExpGain > 0) {
SmithPerSec = ((float) SmithExpGain)/(float)(seconds + (minutes*60) + (hours*60*60));
}
SmithPerHour = Math.round(SmithPerSec * 3600);
if ((minutes > 0 || hours > 0 || seconds > 0) && GoldBarsC > 0) {
gpersec = ((float) GoldBarsC)/(float)(seconds + (minutes*60) + (hours*60*60));
}
Gperhour = Math.round(gpersec * 3600);
sm = Smith/SmithPerHour;
if(Skills.getRealLevel(Skills.SMITHING) >= 99){
sm = 0;
}
graphics.setColor(Color.black);
Graphics2D g2d = (Graphics2D)graphics;
if(GoldShow == 0){
g2d.drawImage(Gold, 0, 338, null);
g2d.setFont(font1);
g2d.setColor(color3);
g2d.drawString("Made By BullDozerx6 v" + currentversion, 13, 385);
g2d.setFont(font3);
g2d.setColor(Color.black);
g2d.drawString("" +RunTime, 104, 399);
g2d.drawString("" + Status,85, 420);
g2d.drawString("" + SmithExpGain,72, 444);
g2d.drawString("" + SmithPerHour ,259, 443);
g2d.drawString("" + GoldBarsC ,246, 399);
g2d.drawString("" + Gperhour ,277, 422);
g2d.drawString("" + Level +"("+NLEVEL+")" ,386, 400);
g2d.drawString("" + sm + "h", 384, 422);
g2d.setColor(color1);
g2d.fillRoundRect(453, 343, 60, 17, 5, 5);
g2d.setColor(color2);
g2d.setStroke(stroke1);
g2d.drawRoundRect(453, 343, 60, 17, 5, 5);
g2d.setFont(font3);
g2d.drawString("Change", 464, 356);}
else if(GoldShow == 1){
g2d.drawImage(Gold, 0, 197, null);
g2d.setFont(font1);
g2d.setColor(color3);
g2d.drawString("Made By BullDozerx6 v" + currentversion, 13, 244);
g2d.setFont(font3);
g2d.setColor(Color.black);
g2d.drawString("" +RunTime, 104, 399-141);
g2d.drawString("" + Status,85, 420-141);
g2d.drawString("" + SmithExpGain,72, 444-141);
g2d.drawString("" + SmithPerHour ,259, 443-141);
g2d.drawString("" + GoldBarsC ,246, 399-141);
g2d.drawString("" + Gperhour ,277, 422-141);
g2d.drawString("" + Level +"("+NLEVEL+")" ,386, 400-141);
g2d.drawString("" + sm + "h", 384, 422-141);
g2d.setColor(color1);
g2d.fillRoundRect(453, 343, 60, 17, 5, 5);
g2d.setColor(color2);
g2d.setStroke(stroke1);
g2d.drawRoundRect(453, 343, 60, 17, 5, 5);
g2d.setFont(font3);
g2d.drawString("Hide", 472, 356);
}
else{
g2d.setColor(color1);
g2d.fillRoundRect(453, 343, 60, 17, 5, 5);
g2d.setColor(color2);
g2d.setStroke(stroke1);
g2d.drawRoundRect(453, 343, 60, 17, 5, 5);
g2d.setFont(font3);
g2d.drawString("Show", 470, 356);
}
Point p = new Point(Mouse.getX(),Mouse.getY());
graphics.setColor(Color.BLACK);
graphics.drawLine(0, p.y, 800, p.y);
graphics.drawLine(p.x, 0, p.x, 800);
graphics.setColor(Color.YELLOW);
graphics.drawOval(p.x-5,p.y-5,10,10);
graphics.setColor(color2);
}
}