Jump to content

OSBot 1.8.13 and 2.1.9


Maxi

Recommended Posts

  • Developer

Dear community,

In these two release you will find the following fixes that apply to both versions:
 

  • The equipment system has undergone further changes. The system will no longer require to open the interface tab for all slots except ring and arrow. Furthermore the system now forces the cache to be updated for ring and arrow slots if information about those slots is required by opening the tab. If in any case the tab can not be opened, for example you are in the bank, the client will notify the user with a log warning which tells them to contact the script writer and ask them to update their script to avoid situations where they check their arrow or ring slot with an open interface (like banking).
  • The world hopper has been fixed to account for the new worlds / world layout.

One important notice towards script developers is that the equipment methods to equip items will now return their boolean based on whether the interaction with the item was successful or not and no longer force the client to check whether the item is actually equipped. In practice this won't make much difference, except that if the client is required to double check whether rings or arrows were actually equipped if the interaction went successful it requires to open the tab which a human wouldn't.

 

The download for OSBot 2.1.9 can be found here: http://osbot.org/osbot2_beta/OSBot-packed-2.1.9.jar

 

The download for OSBot 1.8.13 can be found here: http://osbot.org/get/index.php

 

Sincerely,

 

Maxi

 

  • Like 1
Link to comment
  • Developer

You can't have injection without reflection lol.

 

OP looks good biggrin.png

You can have injection without reflection.

You can have reflection without injection.

Neither one depend on each other, you can also use both.

 

Reflection: 'reflects' the value of fields, or better said inspects. It's a resource intens system and has its limitations for bots however you can perfectly fine use it to create one, OSBot used it in its early days. It is useful to inspect the state of a program and is more accessible for programmers to use and understand than injection.

 

Injection: 'injects' code, for example getter methods to return value of fields. This behaves as normal code but is done on bytecode level. Getting a field value with injection through an injected getter is faster than with reflection. But it's not limited to injecting getters, one can inject other logic, for example event dispatchers, which makes it a very strong tool.

  • Like 10
Link to comment

You can have injection without reflection.

You can have reflection without injection.

Neither one depend on each other, you can also use both.

 

Reflection: 'reflects' the value of fields, or better said inspects. It's a resource intens system and has its limitations for bots however you can perfectly fine use it to create one, OSBot used it in its early days. It is useful to inspect the state of a program and is more accessible for programmers to use and understand than injection.

 

Injection: 'injects' code, for example getter methods to return value of fields. This behaves as normal code but is done on bytecode level. Getting a field value with injection through an injected getter is faster than with reflection. But it's not limited to injecting getters, one can inject other logic, for example event dispatchers, which makes it a very strong tool.

The only times I've ever used "injection" (if you even want to call it that) has been setting instance variables to my own modified classes. I'm still pretty new to programming in general, thanks for clearing that up for me :D

Link to comment
[ERROR][05/30/14 12:28:34 AM]: Failed to start script 

java.lang.NullPointerException

at org.osbot.script.rs2.ui.EquipmentTab.reset(um:26)

at org.osbot.lPt7.m(ck:0)

at org.osbot.w.i(gl:95)

at org.osbot.engine.Bot.i(dg:442)

at org.osbot.script.engine.ScriptManager.startScript(ym:255)

at org.osbot.ZA.run(mf:18)

at java.util.concurrent.ThreadPoolExecutor.runWorker(Unknown Source)

at java.util.concurrent.ThreadPoolExecutor$Worker.run(Unknown Source)

at java.lang.Thread.run(Unknown Source)

 

 

I get this error, but if I manually login it works fine. 

Link to comment
Guest
This topic is now closed to further replies.
  • Recently Browsing   0 members

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