February 14, 201510 yr Hey guys, As you may or may not know, I recently got back into playing legit. Yep, no botting - however it's sometimes hard to keep my patience! The closest i've gotten to botting is splashing xD. Anyway, I needed some way of finding out how many major runes I would need for my goal, so I wrote a quick program in java to calculate the number of splashes you would need to get from your current exp to your target level goal (as well as the exp between your current experience and your target level). Heres a quick screenshot or two: Source: import java.awt.EventQueue; import javax.swing.JFrame; import javax.swing.JPanel; import javax.swing.border.EmptyBorder; import javax.swing.JSpinner; import javax.swing.SpinnerNumberModel; import javax.swing.JLabel; import javax.swing.JButton; import javax.swing.SwingUtilities; import javax.swing.UIManager; import java.awt.event.ActionListener; import java.awt.event.ActionEvent; import java.text.NumberFormat; public class Gui extends JFrame { private static final long serialVersionUID = 1L; private JPanel contentPane; private static final int[] XP = { 0, 83, 174, 276, 388, 512, 650, 801, 969, 1154, 1358, 1584, 1833, 2107, 2411, 2746, 3115, 3523, 3973, 4470, 5018, 5624, 6291, 7028, 7842, 8740, 9730, 10824, 12031, 13363, 14833, 16456, 18247, 20224, 22406, 24815, 27473, 30408, 33648, 37224, 41171, 45529, 50339, 55649, 61512, 67983, 75127, 83014, 91721, 101333, 111945, 123660, 136594, 150872, 166636, 184040, 203254, 224466, 247886, 273742, 302288, 333804, 368599, 407015, 449428, 496254, 547953, 605032, 668051, 737627, 814445, 899257, 992895, 1096278, 1210421, 1336443, 1475581, 1629200, 1798808, 1986068, 2192818, 2421087, 2673114, 2951373, 3258594, 3597792, 3972294, 4385776, 4842295, 5346332, 5902831, 6517253, 7195629, 7944614, 8771558, 9684577, 10692629, 11805606, 13034431, 14391160 }; public static void main(String[] args) { EventQueue.invokeLater(new Runnable() { public void run() { try { Gui frame = new Gui(); frame.setVisible(true); } catch (Exception e) { e.printStackTrace(); } } }); } public Gui() { setTitle("Splashing Calculator By Apaec"); setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE); setBounds(100, 100, 323, 220); contentPane = new JPanel(); contentPane.setBorder(new EmptyBorder(5, 5, 5, 5)); contentPane.setLayout(null); setContentPane(contentPane); try { UIManager .setLookAndFeel("com.sun.java.swing.plaf.windows.WindowsLookAndFeel"); SwingUtilities.updateComponentTreeUI(this); } catch (Exception e) { } final JSpinner currentXp = new JSpinner(); currentXp.setModel(new SpinnerNumberModel(new Integer(0), new Integer(0), null, new Integer(1))); currentXp.setBounds(140, 11, 160, 27); contentPane.add(currentXp); JLabel lblCurrentExp = new JLabel("Current Exp:"); lblCurrentExp.setBounds(10, 11, 120, 27); contentPane.add(lblCurrentExp); JLabel lblTargetLevel = new JLabel("Target Level:"); lblTargetLevel.setBounds(10, 42, 120, 27); contentPane.add(lblTargetLevel); final JSpinner TargetLvl = new JSpinner(); TargetLvl.setModel(new SpinnerNumberModel(2, 2, 99, 1)); TargetLvl.setBounds(140, 42, 160, 27); contentPane.add(TargetLvl); final JSpinner ExpPerSplash = new JSpinner(); ExpPerSplash.setModel(new SpinnerNumberModel(new Double(6), new Double( 0), null, new Double(1))); ExpPerSplash.setBounds(140, 73, 160, 27); contentPane.add(ExpPerSplash); JLabel lblExpPerSplash = new JLabel("Exp Per Splash:"); lblExpPerSplash.setBounds(10, 73, 120, 27); contentPane.add(lblExpPerSplash); final JLabel Splashes = new JLabel(); Splashes.setText("Splashes Required:"); Splashes.setBounds(10, 155, 290, 17); contentPane.add(Splashes); final JLabel lblRemainingExp = new JLabel(); lblRemainingExp.setText("Remaining Exp:"); lblRemainingExp.setBounds(10, 136, 290, 17); contentPane.add(lblRemainingExp); JButton btnCalculate = new JButton("Calculate"); btnCalculate.addActionListener(new ActionListener() { public void actionPerformed(ActionEvent arg0) { Splashes.setText("Splashes Required: " + NumberFormat.getIntegerInstance().format( (int) Math.ceil((XP[(Integer) TargetLvl .getValue() - 1] - (Integer) currentXp .getValue()) / (double) ExpPerSplash.getValue()))); lblRemainingExp.setText("Remaining Exp: " + NumberFormat.getIntegerInstance().format( XP[(Integer) TargetLvl.getValue() - 1] - (Integer) currentXp.getValue())); } }); btnCalculate.setBounds(10, 104, 290, 27); contentPane.add(btnCalculate); } } (I used windowbuilder (eclipse plugin) so forgive the formatting) Anyway, here's the download link: https://mega.co.nz/#!zFYiQRgC!5rEDa66t7GuZOjpfQYUU1Oli_LnXPHKMwsUNBxGFnnM Enjoy & hope it helps ~Apaec Edited February 14, 201510 yr by Apaec
February 14, 201510 yr Author Guys, I just found a small error in the program and i'll be pushing an update soon Apa Edit: Fixed
February 14, 201510 yr Author Or you could just use a calculator... Meh, it's kinda effort to find out the exp of your target level, subtract your exp from that to calculate the remaining exp, and then divide by your exp per splash to get an unformatted, unrounded number. But essentially, yes, you could just use a calculator.
February 14, 201510 yr Meh, it's kinda effort to find out the exp of your target level, subtract your exp from that to calculate the remaining exp, and then divide by your exp per splash to get an unformatted, unrounded number. But essentially, yes, you could just use a calculator. More effort then writing a whole script to do a 3 and a half minute process...? But it's cool I guess. gj.
February 14, 201510 yr More effort then writing a whole script to do a 3 and a half minute process...? But it's cool I guess. gj. I'm not an expert on coding by any means, but what he seems to have done is code what a calculator would do an add a GUI more refined for the purpose.
Create an account or sign in to comment