Botre Posted February 8, 2016 Share Posted February 8, 2016 (edited) SAPI Hello world. Here's a sneak peak of a little library I'm working on, its goal is to simplify high-level interaction between bot/script and game, useful when you need a superficial game variable but don't have the time or knowledge to fetch it via code or a clunky GUI. Currently, the following types are selectable (with more to come): Entities Widgets Positions Bank slots Inventory slots Prayer buttons Magic spells Currently, the following brushes are available (with more to come): Point Shapes: Arc2D, Ellipse2D, Rectangle2D, RoundRectangle2D The library will be free & available for everyone. No ETA but shouldn't be too long. Code example @ScriptManifest(author = "Botre", info = "", logo = "", name = "Example Script", version = 0) public class Example extends Script { private Sapi sapi; @Override public void onStart() throws InterruptedException { super.onStart(); // Initialize API. sapi = new Sapi(this); // Add a filter to the inventory module: only empty slots are made selectable. sapi.getInventorySlotModule().getFilters().add(slot -> slot.isEmpty()); // Change the painter. sapi.getInventorySlotModule().setPainter(new DefaultItemContainerSlotPainter(this) { @Override public void paint(Graphics2D g2d, ItemContainerSlot object) { g2d.setColor(Color.BLUE); g2d.drawString(object.getItem().getName(), 0, 0); super.paint(g2d, object); } }); // Activate the module / enable selection. sapi.getInventorySlotModule().setActive(true); // Start the API. sapi.start(); } @Override public void onExit() throws InterruptedException { super.onExit(); // Stop API. sapi.stop(); } @Override public int onLoop() throws InterruptedException { // Iterate over selected items. for (ItemContainerSlot slot : sapi.getInventorySlotModule().getSelected()) { log(slot.getItem().getName()); } return 500; } @Override public void onPaint(Graphics2D g2d) { super.onPaint(g2d); sapi.getInventorySlotModule().paintBrush(g2d); sapi.getInventorySlotModule().paintSelected(g2d); } } Screenshots Edited February 12, 2016 by Botre 9 Quote Link to comment Share on other sites More sharing options...
lisabe96 Posted February 8, 2016 Share Posted February 8, 2016 Looks like a fun project Quote Link to comment Share on other sites More sharing options...
iJodix Posted February 8, 2016 Share Posted February 8, 2016 1 Quote Link to comment Share on other sites More sharing options...
Botre Posted February 8, 2016 Author Share Posted February 8, 2016 Quote Link to comment Share on other sites More sharing options...
Krys Posted February 8, 2016 Share Posted February 8, 2016 nice Quote Link to comment Share on other sites More sharing options...
Botre Posted February 9, 2016 Author Share Posted February 9, 2016 Update: item container slots Quote Link to comment Share on other sites More sharing options...
Bobrocket Posted February 9, 2016 Share Posted February 9, 2016 how tf u back son Quote Link to comment Share on other sites More sharing options...
Botre Posted February 9, 2016 Author Share Posted February 9, 2016 Update: prayer buttons. how tf u back son Quote Link to comment Share on other sites More sharing options...
Bobrocket Posted February 9, 2016 Share Posted February 9, 2016 Update: prayer buttons. baetre speak to me Quote Link to comment Share on other sites More sharing options...
Botre Posted February 12, 2016 Author Share Posted February 12, 2016 Update: - Added continual selection. - Added de-selection. Quote Link to comment Share on other sites More sharing options...
Vilius Posted February 12, 2016 Share Posted February 12, 2016 but why tho? Quote Link to comment Share on other sites More sharing options...
Botre Posted February 12, 2016 Author Share Posted February 12, 2016 but why tho? "Select the safespot you'd like to use" "Draw the path you would like to record" "Select the entity you would like to attack" "Select the item you'd like to alch" "Select your special attack weapon" "Select the food you would like to eat" "Select all positions to avoid" "Select the rocks you would like to mine" "Select the fishing spots to avoid" "Select your mule character" Etcetera. I hate when GUI's make me type. I hate to update comboboxes. Etcetera, Quote Link to comment Share on other sites More sharing options...
Vilius Posted February 12, 2016 Share Posted February 12, 2016 "Select the safespot you'd like to use" "Draw the path you would like to record" "Select the entity you would like to attack" "Select the item you'd like to alch" "Select your special attack weapon" "Select the food you would like to eat" "Select all positions to avoid" "Select the rocks you would like to mine" "Select the fishing spots to avoid" "Select your mule character" Etcetera. I hate when GUI's make me type. I hate to update comboboxes. Etcetera, Explv has that shit on his location assistant Quote Link to comment Share on other sites More sharing options...
Botre Posted February 12, 2016 Author Share Posted February 12, 2016 Explv has that shit on his location assistant Nope Quote Link to comment Share on other sites More sharing options...
Vilius Posted February 12, 2016 Share Posted February 12, 2016 Nope yeah he do, you just click on a tile and it marks it. Quote Link to comment Share on other sites More sharing options...