Shows up in list, doesn't start and there's nothing in the log. Any ideas? I've gone so far as to entirely remove the GUI and nothing changed.
import org.osbot.rs07.api.ui.RS2Widget;
import org.osbot.rs07.api.ui.Skill;
import org.osbot.rs07.script.*;
import javax.swing.*;
import javax.swing.border.EmptyBorder;
import java.awt.*;
import java.awt.event.ActionEvent;
import java.awt.event.ActionListener;
@ScriptManifest(author = "Reminiscence", name = "RGemCutter", info = "Cuts basic gems.", version = 1.0, logo = "")
public class GemCutter extends Script {
int lvlUp = 0;
int chisel = 1755;
int sapphire = 1623;
int emerald = 1621;
int ruby = 1619;
int diamond = 1617;
public boolean usingSapphire, usingEmerald, usingRuby, usingDiamond;
public int startCRAFTEXP;
public long startTime;
long runTime = System.currentTimeMillis() - startTime;
RS2Widget w = widgets.get(309,2);
GUI g = new GUI();
private boolean guiWait = true;
public void onStart() throws InterruptedException {
startTime = System.currentTimeMillis();
players.myPlayer();
startCRAFTEXP = getSkills().getExperience(Skill.CRAFTING);
g.setVisible(true);
while(guiWait)
try {
sleep(500);
} catch (InterruptedException e) {
e.printStackTrace();
}
}
@Override
public int onLoop() throws InterruptedException {
if (!inventory.contains(sapphire) || !inventory.contains(emerald) ||
!inventory.contains(ruby) || !inventory.contains(diamond)) {
bank();
}
if (usingSapphire == true && inventory.contains(sapphire)) {
cutSapphire();
}
if (usingEmerald == true && inventory.contains(emerald)) {
cutEmerald();
}
if (usingRuby == true && inventory.contains(ruby)) {
cutRuby();
}
if (usingDiamond == true && inventory.contains(diamond)) {
cutDiamond();
}
return 0;
}
public boolean interactItems(String item1, String item2) throws InterruptedException {
if (inventory.getItem(item1).interact()) {
sleep(700);
return inventory.getItem(item2).interact(); //
}
return false;
}
void cutSapphire() throws InterruptedException {
if (!players.myPlayer().isAnimating() && inventory.contains(sapphire) && inventory.contains(chisel)) {
interactItems("Chisel", "Uncut sapphire");
w.interact("Make all");
sleep (800);
}
}
void cutEmerald() throws InterruptedException {
if (!players.myPlayer().isAnimating() && inventory.contains(emerald) && inventory.contains(chisel)) {
interactItems("Chisel", "Uncut emerald");
w.interact("Make all");
sleep (800);
}
}
void cutRuby() throws InterruptedException {
if (!players.myPlayer().isAnimating() && inventory.contains(ruby) && inventory.contains(chisel)) {
interactItems("Chisel", "Uncut ruby");
w.interact("Make all");
sleep (800);
}
}
void cutDiamond() throws InterruptedException {
if (!players.myPlayer().isAnimating() && inventory.contains(diamond) && inventory.contains(chisel)) {
interactItems("Chisel", "Uncut diamond");
w.interact("Make all");
sleep (800);
}
}
void bank() throws InterruptedException {
bank.open();
sleep(1500);
bank.depositAllExcept(chisel);
sleep(1500);
if (usingSapphire == true) {
bank.withdraw(sapphire, 27);
sleep(1500);
bank.close();
sleep(1500);
}
if (usingEmerald == true) {
bank.withdraw(emerald, 27);
sleep(1500);
bank.close();
sleep(1500);
}
if (usingRuby == true) {
bank.withdraw(ruby, 27);
sleep(1500);
bank.close();
sleep(1500);
}
if (usingDiamond == true) {
bank.withdraw(diamond, 27);
sleep(1500);
bank.close();
sleep(1500);
}
}
@Override
public void onPaint(Graphics2D g){
}
@Override
public void onExit() throws InterruptedException {
stop();
}
public class GUI extends JFrame {
private static final long serialVersionUID = 1L;
private JPanel contentPane;
@SuppressWarnings({ "rawtypes", "unchecked" })
public GUI() {
setType(Type.UTILITY);
setResizable(false);
setAlwaysOnTop(true);
setTitle("RGemCutter GUI");
setBackground(Color.DARK_GRAY);
setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
setBounds(100, 100, 217, 104);
contentPane = new JPanel();
contentPane.setBackground(Color.DARK_GRAY);
contentPane.setBorder(new EmptyBorder(5, 5, 5, 5));
setContentPane(contentPane);
contentPane.setLayout(null);
final JComboBox comboBox = new JComboBox();
comboBox.setForeground(Color.BLACK);
comboBox.setBackground(Color.DARK_GRAY);
comboBox.setModel(new DefaultComboBoxModel(new String[] {"Sapphire", "Emerald", "Ruby", "Diamond"}));
comboBox.setBounds(10, 11, 187, 20);
contentPane.add(comboBox);
JButton btnStart = new JButton("Start");
btnStart.addActionListener(new ActionListener() {
public void actionPerformed(ActionEvent arg0) {
if (comboBox.getSelectedItem().equals("Sapphire")) {
usingSapphire = true;
}
if (comboBox.getSelectedItem().equals("Emerald")) {
usingEmerald = true;
}
if (comboBox.getSelectedItem().equals("Ruby")) {
usingRuby = true;
}
if (comboBox.getSelectedItem().equals("Diamond")) {
usingDiamond = true;
}
guiWait = false;
dispose();
}
});
btnStart.setBackground(Color.DARK_GRAY);
btnStart.setForeground(Color.BLACK);
btnStart.setBounds(10, 42, 187, 23);
contentPane.add(btnStart);
}
}
}