Botre Posted February 8, 2016 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
Botre Posted February 9, 2016 Author Posted February 9, 2016 Update: prayer buttons. how tf u back son
Botre Posted February 12, 2016 Author Posted February 12, 2016 Update: - Added continual selection. - Added de-selection.
Botre Posted February 12, 2016 Author 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,
Vilius Posted February 12, 2016 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
Botre Posted February 12, 2016 Author Posted February 12, 2016 Explv has that shit on his location assistant Nope
Vilius Posted February 12, 2016 Posted February 12, 2016 Nope yeah he do, you just click on a tile and it marks it.