Jump to content

OSBot 2.3.34 - New Widget system + Banking


Maxi

Recommended Posts

  • Developer

Dear community,

This update took a while to round up. We have introduced a new interface system that gives full and correct access to all interfaces. We have called its class RS2Widget and its API can be accessed through the Script.widgets instance. The old system points to the new system and I hope we didn't break any scripts in the transformation, porting this wasn't easy as there are some major differences between the two systems. I can't say for sure that it has not broken any scripts. Never the less, the scripters will have to upgrade their scripts to use the new widget system, regardless of the fact whether this update affected their scripts.

This update affected a rather large part of the client. It is possible that scripts using the old interface system possibly face problems. However the entire internal API is now mostly based on the new widget system. What is left of the interface system will get removed once there are no dependencies on the old system anymore in scripts on the SDN. Scripts that are broken by this update should be updated rather quickly as all developers have been notified of this update to come.

I have also addressed the issues with banking. I haven't been able to reproduce any of the mentioned problems. However like I said, the scope of this release is so big that it is hard to say if we've missed something in the porting of the old interface system. So please report any bugs you come across with a detailed description of the bug and I will review them tomorrow.

If everything is fine, I will rewrite the interface debugger to be useful again. This will most likely happen tomorrow or the day after.

I will upload and update the javadocs af fast as possible for the script developers.

I hope that you as a community understand that this might cause problems with certain scripts and I'm sure the script developers will update their scripts to the new system as soon as possible if this update affected their scripts. In that case we are sorry for your inconvenience.

Sincerely,

The OSBot team

  • Like 2
Link to comment
  • Developer

isVisible() & interacting is broken ?

It takes now like 2-3 minutes until it interacts with anything.

Didn't have this problem until this update.

 

EDIT://

It takes alot of time for bot to interact with anything, dialogues, objects etc..

I'm running a non ported script from Divinity right now and I can't reproduce this issue. There is some new caching going though with interfaces that might slow down things at the start. The benefit though is that the bot should use less CPU because the callback we used is gone. But if you could specify your issue in more detail instead of just saying this, I could maybe investigate your issue. Interacting should not be different except for with interfaces.

8dVrPo3.png

Interacts smooth and fast for me here.

Link to comment

I'm running a non ported script from Divinity right now and I can't reproduce this issue. There is some new caching going though with interfaces that might slow down things at the start. The benefit though is that the bot should use less CPU because the callback we used is gone. But if you could specify your issue in more detail instead of just saying this, I could maybe investigate your issue. Interacting should not be different except for with interfaces.

8dVrPo3.png

Interacts smooth and fast for me here.

 

he is right, take a look at my fletching script, before even getting to the interface stuff, it takes like 2 minutes to interact with the knife and then the logs, something changed with inventory interactions, seems like with objects too

 

EDIT:  after like 5 minutes of letting it run, it seems back to normal

Edited by Novak
Link to comment

I'm running a non ported script from Divinity right now and I can't reproduce this issue. There is some new caching going though with interfaces that might slow down things at the start. The benefit though is that the bot should use less CPU because the callback we used is gone. But if you could specify your issue in more detail instead of just saying this, I could maybe investigate your issue. Interacting should not be different except for with interfaces.

8dVrPo3.png

Interacts smooth and fast for me here.

It hovers the tree for a while and then after 20-30 seconds, it clicks on it.

Also, with dialogues, it takes around 5-10 seconds until it clicks on it.

 

This is how my code looks;

  private void interactWithSeamanPay() throws InterruptedException {
	    if(getInterfaces().getChild(548, 116).isVisible()) {
	        sleep(random(600, 1000));
	        dialogues.clickContinue();
	        sleep(random(600, 1000));
	        dialogues.clickContinue();
	        sleep(random(600, 1000));
	        dialogues.selectOption("Yes please.");
	        sleep(random(600, 1000));
	        dialogues.clickContinue();
	        sleep(random(600, 1000));
	    }
}
  private void deposit() throws InterruptedException {
	   RS2Object bankBooth = (RS2Object)objects.closest(new String[] { "Bank deposit box" });
	      if (inventory.isFull())
	      {
		      if (bankBooth != null) {
					if(bankBooth.isVisible()){
			        if (bankBooth.interact(new String[] { "Deposit" }))
			            sleep(random(800, 1200));
			        {
			          while (depositBox.isOpen())
			          {
			            sleep(random(800, 1200));
			            depositBox.depositAllExcept(new String[] { "Rune axe" });
			            log("Depositing willows...");
			            sleep(random(800, 1200));
			            depositBox.close();
			            sleep(random(800, 1200));
			          }
			        }
			      }else {
				        getCamera().toEntity(bankBooth);
				    }
		      }
	      		}
}
  private void chop() throws InterruptedException {
		Entity tree = objects.closestThatContains(TREE_NAME);
		if(!myPlayer().isAnimating() && (!myPlayer().isMoving()))
			if(tree != null) {
				if(WILLOWS_AREA.contains(tree))
				if(tree.isVisible()){
		            if (tree.interact("Chop down")) {
		                log("Chopping tree...");
		                sleep(random(600, 700));
		                while (myPlayer().isMoving()) {
		                  sleep(100);
		                }
		                sleep(random(600, 700));
		              }
				}else{
					localWalker.walk(tree, true);
            }
		}
  }
Edited by iJodix
Link to comment
Guest
This topic is now closed to further replies.
  • Recently Browsing   0 members

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