Posted January 29, 2011 A few days ago I was just looking through my Wurm install, and noticed that I had a bunch of skill dumps that the client was automatically saving each time I played, so I decided to do something with them. That thing, turned into WStats. A program that loads in all of those skill dumps automatically, and shows the player/skill combos you want on a graph, so you can see how your skills are going over time. It took me most of today to create it and get it to a point where I think it is fully functional. All I need now is for people to test/use it and give me some feedback on how to improve it, or whether you run into any bugs/problems. For an idea of what it does, see the following image: Readme: ================================================= _______________________________________ |\ /| ____ \__ __/ ___ )__ __/ ____ \ | ) ( | ( \/ ) ( | ( ) | ) ( | ( \/ | | _ | | (_____ | | | (___) | | | | (_____ | |( )| |_____ ) | | | ___ | | | (_____ ) | || || | ) | | | | ( ) | | | ) | | () () |\____) | | | | ) ( | | | /\____) | (_______)_______) )_( |/ \| )_( \_______) ================================================= ================================================= ================================================= Introduction: WStats is a program to track and compare skills in the game Wurm Online. Each of your Wurm characters skill dump files are loaded automatically and will be plotted on a graph when you choose the Player/Skill combo that you would like to view. ================================================= ================================================= Instructions: 1. Make sure you have automatic skill dumps turned on in your Wurm client 2. Run the included jar file, WStats.jar 3. Your characters and skill dumps will be automatically loaded 4. Choose the player and skill you want to see, then click the "Add" button. The graph will be updated with the new combo 5. Add more, or delete an existing combo by selecting it from the list and clicking remove ================================================= ================================================= Troubleshooting: If no skills appear in the second drop down box, make sure the "data" folder with "skills.txt" is in the same directory as "WStats.jar". If nothing happens when double clicking the jar file, use the run.bat file. If you get an error like the following: -------------- 'java' is not recognized as an internal or external command, operable program or batch file. -------------- when running the batch file, then swap "java" in the batch file with your full path to java.exe. ================================================= ================================================= Any other problems you find, please let Budda know either on the forums, or on irc.rizon.net. Thank you, and enjoy, Budda Changelog: 29/01/11 Released to public. Fixed various bugs that came up after people tested it. Added ability to zoom in and out. 30/01/11 Added a bit of colour. Added ToolTips. Added horizontal rules to help show skill levels. You can download the program from: http://sourceforge.net/projects/wprograms/files/WStats/WStats.rar/download'> http://sourceforge.net/projects/wprograms/files/WStats/WStats.rar/download Source avaliable from: http://sourceforge.net/projects/wprograms/files/WStats/ Share this post Link to post Share on other sites
Posted January 29, 2011 I've always wanted something like this to keep track of my progression. I just want someone to verify it doesn't call home first before I download and install it but good addition. Share this post Link to post Share on other sites
Posted January 29, 2011 I've always wanted something like this to keep track of my progression. I just want someone to verify it doesn't call home first before I download and install it but good addition. Source at http://buddat.net/wstats/src.rar Edit: For anyone that actually looks at this, please ignore any potential spaghetti code that may have worked itself into the code Share this post Link to post Share on other sites
Posted January 29, 2011 Seems like it would be a cool program, but I can't seem to run it. I have Java installed and am running Windows Vista. Any advice? Share this post Link to post Share on other sites
Posted January 29, 2011 Seems like it would be a cool program, but I can't seem to run it. I have Java installed and am running Windows Vista. Any advice? Make a batch file, and put in it: java -jar WStats.jar pause And paste any output here. Share this post Link to post Share on other sites
Posted January 29, 2011 C:\Users\Conrad\Documents\WStats>java -jar WStats.jar com.wurmonline.client node exists: true Exception in thread "main" java.lang.reflect.InvocationTargetException at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method) at sun.reflect.NativeMethodAccessorImpl.invoke(Unknown Source) at sun.reflect.DelegatingMethodAccessorImpl.invoke(Unknown Source) at java.lang.reflect.Method.invoke(Unknown Source) at org.eclipse.jdt.internal.jarinjarloader.JarRsrcLoader.main(JarRsrcLoa der.java:58) Caused by: java.lang.NullPointerException at net.buddat.wstats.Player.loadDumps(Player.java:36) at net.buddat.wstats.Player.<init>(Player.java:27) at net.buddat.wstats.WStats.loadPlayers(WStats.java:145) at net.buddat.wstats.WStats.<init>(WStats.java:65) at net.buddat.wstats.WStats.main(WStats.java:52) ... 5 more C:\Users\Conrad\Documents\WStats>pause Press any key to continue . . . Share this post Link to post Share on other sites
Posted January 29, 2011 This is really neat! I've also been craving something to be able to see my progress in a more tangible way. Will definitely use it. Share this post Link to post Share on other sites
Posted January 29, 2011 C:\Program Files (x86)\Wurm Online\WStats>java -jar WStats.jar 'java' is not recognized as an internal or external command, operable program or batch file. C:\Program Files (x86)\Wurm Online\WStats>pause Press any key to continue . . . Share this post Link to post Share on other sites
Posted January 29, 2011 C:\Users\Conrad\Documents\WStats>java -jar WStats.jar com.wurmonline.client node exists: true Exception in thread "main" java.lang.reflect.InvocationTargetException at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method) at sun.reflect.NativeMethodAccessorImpl.invoke(Unknown Source) at sun.reflect.DelegatingMethodAccessorImpl.invoke(Unknown Source) at java.lang.reflect.Method.invoke(Unknown Source) at org.eclipse.jdt.internal.jarinjarloader.JarRsrcLoader.main(JarRsrcLoa der.java:58) Caused by: java.lang.NullPointerException at net.buddat.wstats.Player.loadDumps(Player.java:36) at net.buddat.wstats.Player.<init>(Player.java:27) at net.buddat.wstats.WStats.loadPlayers(WStats.java:145) at net.buddat.wstats.WStats.<init>(WStats.java:65) at net.buddat.wstats.WStats.main(WStats.java:52) ... 5 more C:\Users\Conrad\Documents\WStats>pause Press any key to continue . . . This is because one or all of your players don't have any dump files. I'm fixing this problem now, will post when I've updated the download. C:\Program Files (x86)\Wurm Online\WStats>java -jar WStats.jar 'java' is not recognized as an internal or external command, operable program or batch file. C:\Program Files (x86)\Wurm Online\WStats>pause Press any key to continue . . . You need to set your PATH variable, or swap out "java" in the batch file with the path to your java.exe. So normally it'd be: "C:\Program Files (x86)\Java\jre6\bin\java.exe" -jar WStats.jar pause Share this post Link to post Share on other sites
Posted January 29, 2011 Ok, download has been updated to fix the problem of missing skill dumps. Also included a batch file to run if the jar file doesn't work for you. Any errors, please post them here. Share this post Link to post Share on other sites
Posted January 29, 2011 Same error with updated client as previously posted. Do you mean lack of skilldumps at all? I have a full folder, if that's what you meant. Share this post Link to post Share on other sites
Posted January 29, 2011 Great job, I worked on something like this a long time ago called "WurmTool" some may remember it, but I never got around to adding a progression tracker. Again, great job! Edit: So far my only complaint is that it won't let me run if even one of the folders doesn't have dumps, i usually leave dumps off for my useless alts. Share this post Link to post Share on other sites
Posted January 29, 2011 @DragonPen: Would you be up for jumping on irc to help me test and fix this? If not, is the error exactly the same? Including the last part: Caused by: java.lang.NullPointerException at net.buddat.wstats.Player.loadDumps(Player.java:36) at net.buddat.wstats.Player.<init>(Player.java:27) at net.buddat.wstats.WStats.loadPlayers(WStats.java:145) at net.buddat.wstats.WStats.<init>(WStats.java:65) at net.buddat.wstats.WStats.main(WStats.java:52) Share this post Link to post Share on other sites
Posted January 29, 2011 Edit: So far my only complaint is that it won't let me run if even one of the folders doesn't have dumps, i usually leave dumps off for my useless alts. Share this post Link to post Share on other sites
Posted January 29, 2011 Yeah, I also looked through the source, no outside communication at all for those paranoid ones. Share this post Link to post Share on other sites
Posted January 29, 2011 Download has been updated. Fixed that problem and tested on my end. Let me know if its still happening for anyone. Share this post Link to post Share on other sites
Posted January 29, 2011 C:\Program Files (x86)\Wurm Online\WStats>"C:\Program Files (x86)\Java\jre6\bin\ java.exe" -jar WStats.jar com.wurmonline.client node exists: true Exception in thread "main" java.lang.reflect.InvocationTargetException at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method) at sun.reflect.NativeMethodAccessorImpl.invoke(Unknown Source) at sun.reflect.DelegatingMethodAccessorImpl.invoke(Unknown Source) at java.lang.reflect.Method.invoke(Unknown Source) at org.eclipse.jdt.internal.jarinjarloader.JarRsrcLoader.main(JarRsrcLoa der.java:58) Caused by: java.lang.StringIndexOutOfBoundsException: String index out of range: -1 at java.lang.String.substring(Unknown Source) at net.buddat.wstats.Player.loadDumps(Player.java:68) at net.buddat.wstats.Player.<init>(Player.java:30) at net.buddat.wstats.WStats.loadPlayers(WStats.java:145) at net.buddat.wstats.WStats.<init>(WStats.java:65) at net.buddat.wstats.WStats.main(WStats.java:52) ... 5 more C:\Program Files (x86)\Wurm Online\WStats>pause Press any key to continue . . . Cleared my cache on firefox twice and redownloaded a few times and still the same. Share this post Link to post Share on other sites
Posted January 29, 2011 Have no idea what would even be causing that problem Taliesin, but I've put in a bit of a hack-fix to try make it work. Download again and give it a go. Share this post Link to post Share on other sites
Posted January 29, 2011 C:\Program Files (x86)\Wurm Online\WStats>"C:\Program Files (x86)\Java\jre6\bin\ java.exe" -jar WStats.jar com.wurmonline.client node exists: true Exception in thread "main" java.lang.reflect.InvocationTargetException at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method) at sun.reflect.NativeMethodAccessorImpl.invoke(Unknown Source) at sun.reflect.DelegatingMethodAccessorImpl.invoke(Unknown Source) at java.lang.reflect.Method.invoke(Unknown Source) at org.eclipse.jdt.internal.jarinjarloader.JarRsrcLoader.main(JarRsrcLoa der.java:58) Caused by: java.lang.ArrayIndexOutOfBoundsException: 1 at net.buddat.wstats.Player.loadDumps(Player.java:67) at net.buddat.wstats.Player.<init>(Player.java:30) at net.buddat.wstats.WStats.loadPlayers(WStats.java:145) at net.buddat.wstats.WStats.<init>(WStats.java:65) at net.buddat.wstats.WStats.main(WStats.java:52) ... 5 more C:\Program Files (x86)\Wurm Online\WStats>pause Press any key to continue . . . Share this post Link to post Share on other sites
Posted January 29, 2011 Have you edited any of your skill dump files in any way? The only reason you'd be getting those errors is if one of your skill dumps wasn't the default format that the client saves. If you don't think you've edited any in any way, I'll set up a debug version so we can tell what file is the problem. Share this post Link to post Share on other sites
Posted January 29, 2011 Found the issue. debug.20110112.1659.txt The debug files save to the skill dump folder. Deleted them and it starts right up. Share this post Link to post Share on other sites
Posted January 29, 2011 Take note of the dates. That may be something you can work out down the road so that they don't run in to each other. C:\Program Files (x86)\Wurm Online\WStats>"C:\Program Files (x86)\Java\jre6\bin\ java.exe" -jar WStats.jar com.wurmonline.client node exists: true Exception in thread "AWT-EventQueue-0" java.lang.NullPointerException at net.buddat.wstats.Player.getSkill(Player.java:99) at net.buddat.wstats.Graph.<init>(WStats.java:252) at net.buddat.wstats.WStats.updateGraph(WStats.java:194) at net.buddat.wstats.WStats.addCombo(WStats.java:173) at net.buddat.wstats.WStats.actionPerformed(WStats.java:163) at javax.swing.AbstractButton.fireActionPerformed(Unknown Source) at javax.swing.AbstractButton$Handler.actionPerformed(Unknown Source) at javax.swing.DefaultButtonModel.fireActionPerformed(Unknown Source) at javax.swing.DefaultButtonModel.setPressed(Unknown Source) at javax.swing.plaf.basic.BasicButtonListener.mouseReleased(Unknown Sour ce) at java.awt.Component.processMouseEvent(Unknown Source) at javax.swing.JComponent.processMouseEvent(Unknown Source) at java.awt.Component.processEvent(Unknown Source) at java.awt.Container.processEvent(Unknown Source) at java.awt.Component.dispatchEventImpl(Unknown Source) at java.awt.Container.dispatchEventImpl(Unknown Source) at java.awt.Component.dispatchEvent(Unknown Source) at java.awt.LightweightDispatcher.retargetMouseEvent(Unknown Source) at java.awt.LightweightDispatcher.processMouseEvent(Unknown Source) at java.awt.LightweightDispatcher.dispatchEvent(Unknown Source) at java.awt.Container.dispatchEventImpl(Unknown Source) at java.awt.Window.dispatchEventImpl(Unknown Source) at java.awt.Component.dispatchEvent(Unknown Source) at java.awt.EventQueue.dispatchEvent(Unknown Source) at java.awt.EventDispatchThread.pumpOneEventForFilters(Unknown Source) at java.awt.EventDispatchThread.pumpEventsForFilter(Unknown Source) at java.awt.EventDispatchThread.pumpEventsForHierarchy(Unknown Source) at java.awt.EventDispatchThread.pumpEvents(Unknown Source) at java.awt.EventDispatchThread.pumpEvents(Unknown Source) at java.awt.EventDispatchThread.run(Unknown Source) I got this error when I tried to add a skill. Share this post Link to post Share on other sites
Posted January 29, 2011 A nice addition would be the ability to space out the markers by using the scroll feature on the mouse. I'd like to know how much my binges have contributed to my skills ;D Share this post Link to post Share on other sites
Posted January 29, 2011 make it open source. who tells me this isn't reading the saved passwords and sending them somewhere? Share this post Link to post Share on other sites
Posted January 29, 2011 make it open source. who tells me this isn't reading the saved passwords and sending them somewhere? Share this post Link to post Share on other sites