Jump to content

[WIP] selection library, click & point, select it in game


Botre

Recommended Posts

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

 

93626a912cef04b05431595d411e7352.gif

 

8fd9c9dbe2b16361246af33a059d10fb.gif

 

b4f2ce5b9761e6907efd663430bb8fc6.gif

 

c4b9d759da808bf018ad811fef0f34c3.gif          e2a8e01e6793123522d47f46a3748729.gif

 

c3be1dbdea81da7b22d8af557ef80116.gif  

Edited by Botre
  • Like 9
Link to comment
Share on other sites

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,

Link to comment
Share on other sites

"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 :doge:

Link to comment
Share on other sites

Join the conversation

You can post now and register later. If you have an account, sign in now to post with your account.
Note: Your post will require moderator approval before it will be visible.

Guest
Reply to this topic...

×   Pasted as rich text.   Paste as plain text instead

  Only 75 emoji are allowed.

×   Your link has been automatically embedded.   Display as a link instead

×   Your previous content has been restored.   Clear editor

×   You cannot paste images directly. Upload or insert images from URL.

  • Recently Browsing   0 members

    • No registered users viewing this page.
×
×
  • Create New...