Aight @Czar, so I stumpled upon a problem when trying to craft battlestaffs.
When I start the script, and fill out the GUI with the task system, and click start bot, the bot just sits there, doesn't move the mouse, nothing.
I used the standard fixed client window, btw.
This is what the logger showed me, I am not sure if it is to any help.
[INFO][Bot #1][12/23 08:38:06 PM]:
[INFO][Bot #1][12/23 08:38:06 PM]: "ss_gem_activity" "Cut_gems"
[INFO][Bot #1][12/23 08:38:06 PM]: "ss_ge_target_amount" "300"
[INFO][Bot #1][12/23 08:38:06 PM]: "ss_gem_product" "(34)_Uncut_ruby"
[INFO][Bot #1][12/23 08:38:06 PM]: "ss_gem_bank" "Al-Kharid"
[INFO][Bot #1][12/23 08:38:06 PM]: "ss_ge_restock" "0"
[INFO][Bot #1][12/23 08:38:06 PM]:
[INFO][Bot #1][12/23 08:38:06 PM]: ... success!
[INFO][Bot #1][12/23 08:38:06 PM]: Script Perfect Crafting complete has exited!
[INFO][Bot #1][12/23 08:38:09 PM]: Loaded 4 built-in random solvers!
[INFO][Bot #1][12/23 08:38:10 PM]: Definitions loaded: 22659
[INFO][Bot #1][12/23 08:38:10 PM]: 23 APIs loaded
[INFO][Bot #1][12/23 08:38:10 PM]: "eq_loaded" changed to "1"
[INFO][Bot #1][12/23 08:38:11 PM]: Yay!
[INFO][Bot #1][12/23 08:38:12 PM]: 2 actionpoints ready
[INFO][Bot #1][12/23 08:38:12 PM]: "ss_ge_target_amount" changed to "300"
[ERROR][12/23 08:38:27 PM]: Uncaught exception!
java.lang.NullPointerException
at b.b.a.d.aUX.c(sn:82)
at b.b.a.NUl.c(ci:255)
at java.util.stream.ReferencePipeline$2$1.accept(Unknown Source)
at java.util.HashMap$EntrySpliterator.tryAdvance(Unknown Source)
at java.util.stream.ReferencePipeline.forEachWithCancel(Unknown Source)
at java.util.stream.AbstractPipeline.copyIntoWithCancel(Unknown Source)
at java.util.stream.AbstractPipeline.copyInto(Unknown Source)
at java.util.stream.AbstractPipeline.wrapAndCopyInto(Unknown Source)
at java.util.stream.FindOps$FindOp.evaluateSequential(Unknown Source)
at java.util.stream.AbstractPipeline.evaluate(Unknown Source)
at java.util.stream.ReferencePipeline.findFirst(Unknown Source)
at b.b.a.NUl.F(ci:255)
at b.b.a.aUX.c(mf:35)
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 Source)
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.dispatchEventImpl(Unknown Source)
at java.awt.EventQueue.access$500(Unknown Source)
at java.awt.EventQueue$3.run(Unknown Source)
at java.awt.EventQueue$3.run(Unknown Source)
at java.security.AccessController.doPrivileged(Native Method)
at java.security.ProtectionDomain$JavaSecurityAccessImpl.doIntersectionPrivilege(Unknown Source)
at java.security.ProtectionDomain$JavaSecurityAccessImpl.doIntersectionPrivilege(Unknown Source)
at java.awt.EventQueue$4.run(Unknown Source)
at java.awt.EventQueue$4.run(Unknown Source)
at java.security.AccessController.doPrivileged(Native Method)
at java.security.ProtectionDomain$JavaSecurityAccessImpl.doIntersectionPrivilege(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)