January 18, 201610 yr 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); } } }
January 18, 201610 yr Comment out all the lines in your onStart() At the bottom add log("Running"); onStart() { //code //code log("Running"); } Then uncomment one by one, run the script every time. When it doesn't print out, you've found the line that is wrong, from there we can get started
January 18, 201610 yr long runTime = System.currentTimeMillis() - startTime; RS2Widget w = widgets.get(309,2); Set these 2 global variables to default ^ long runTime; RS2Widget w; Then do the same again, comment out everything in start(); again and see if it prints out now 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(); }*/ log("They see me loggin, they hatin"); } Edited January 18, 201610 yr by lisabe96
January 18, 201610 yr add a try-catch around all the content of your onStart method and print the exception Edited January 18, 201610 yr by FrostBug
January 18, 201610 yr Author long runTime = System.currentTimeMillis() - startTime; RS2Widget w = widgets.get(309,2); Set these 2 global variables to default ^ long runTime; RS2Widget w; Then do the same again, comment out everything in start(); again and see if it prints out now 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(); }*/ log("They see me loggin, they hatin"); } I had actually just commented out the widget and it started working, lol. Thanks for the help :3
January 18, 201610 yr I had actually just commented out the widget and it started working, lol. Thanks for the help :3 Yea you'll have to define the widget value later on when the script is initialized
Create an account or sign in to comment