Jump to content
Frequently Asked Questions
  • Are you not able to open the client? Try following our getting started guide
  • Still not working? Try downloading and running JarFix
  • Help! My bot doesn't do anything! Enable fresh start in client settings and restart the client
  • How to purchase with PayPal/OSRS/Crypto gold? You can purchase vouchers from other users
  • Underpinnings of API


    AceKingSuited

    Recommended Posts

    That title may be weird but I couldn't think of something more fitting. 

     

    When it comes to functions in the API like "getBank().depositAll()", how do they work under the hood? For example, is it going to function the same way every time or have anti-detection systems already been put in place for that function and the others in it?

     

    My main concern is this:

     

    I write a script. I do everything I can to make it human-like using the API. Every time the character banks, it's exact banking strategy is the same. Script is still super detectable because of API underpinnings.

     

    The above is a worst case assumption and could be completely wrong, so I wanted to get some clarification on whether or not I need to reinvent the wheel when it comes to things like walking, banking, etc. I would assume not, but I would like some sort of confirmation that the above is not correct. Basically, is depositAll() and other functions like it going to function in a consistent and predictable way?

     

    I would ideally like to anti-pattern as much as possible so I'm curious as to how safe these functions are or if I will need to write my own.

     

     

    Thanks!

    Link to comment
    Share on other sites

    "Script is still super detectable" I wonder who told you this

    Nobody has, it was a worst cased assumption based on incomplete information which is why I made this post to find out more :)

    Link to comment
    Share on other sites

    Most bot apis are similar in the way they function and are written "under the hood". In fact I believe that many parts of the API will utilize other parts of the API in order to not reinvent the wheel. So to say, a written out deposit all method would be something like (lets say we didn't have that deposit all button)

    for(int i = 0;i<28;i++){
    -if item in inventory slot i is null then continue
    -move mouse and right click on random generated point in that slow widget
    -ensure menu is open and contains deposit action
    -click the action
    -wait a short bit to ensure item is depositied
    }
    

    So yeah, in a situation such as this there will be patterns if thousands of users are using the same script, doing the same thing thousands per times per day

     

     

    The api gives us the flexibility to write our own methods for almost anything that we'll ever need to -- many better scripts actually utilize this as being able to manipulate the "innards" of these api methods can allow for an anti-pattern to be built into the script.

    Link to comment
    Share on other sites

    Most bot apis are similar in the way they function and are written "under the hood". In fact I believe that many parts of the API will utilize other parts of the API in order to not reinvent the wheel. So to say, a written out deposit all method would be something like (lets say we didn't have that deposit all button)

    for(int i = 0;i<28;i++){
    -if item in inventory slot i is null then continue
    -move mouse and right click on random generated point in that slow widget
    -ensure menu is open and contains deposit action
    -click the action
    -wait a short bit to ensure item is depositied
    }
    

    So yeah, in a situation such as this there will be patterns if thousands of users are using the same script, doing the same thing thousands per times per day

     

     

    The api gives us the flexibility to write our own methods for almost anything that we'll ever need to -- many better scripts actually utilize this as being able to manipulate the "innards" of these api methods can allow for an anti-pattern to be built into the script.

     

    Ahh thank you this is what I was interested in; I have highlighted in green the part that peaks my interest. I wanted to know if the mouse would move the exact same way every time, if it would click the same point every time, etc.

     

    So we do have the flexibility to create our own depositAll() method for example then?

     

    I have looked through the API a little bit but figured it was a good idea to post here before I spend hours digging through for these answers :)

    Link to comment
    Share on other sites

    Ahh thank you this is what I was interested in; I have highlighted in green the part that peaks my interest. I wanted to know if the mouse would move the exact same way every time, if it would click the same point every time, etc.

     

    So we do have the flexibility to create our own depositAll() method for example then?

     

    I have looked through the API a little bit but figured it was a good idea to post here before I spend hours digging through for these answers :)

     

    It shoudl move similarly each time, as the path is generated by a computer against a finite set of inputs. However, clicking will be different for every interaction.

    Link to comment
    Share on other sites

    Ahh thank you this is what I was interested in; I have highlighted in green the part that peaks my interest. I wanted to know if the mouse would move the exact same way every time, if it would click the same point every time, etc.

     

    So we do have the flexibility to create our own depositAll() method for example then?

     

    I have looked through the API a little bit but figured it was a good idea to post here before I spend hours digging through for these answers :)

     

    You should be able to use the @Override annotation to rewrite any method you want. Don't quote me on that  ;)

    Link to comment
    Share on other sites

    Most bot apis are similar in the way they function and are written "under the hood". In fact I believe that many parts of the API will utilize other parts of the API in order to not reinvent the wheel. So to say, a written out deposit all method would be something like (lets say we didn't have that deposit all button)

    for(int i = 0;i<28;i++){
    -if item in inventory slot i is null then continue
    -move mouse and right click on random generated point in that slow widget
    -ensure menu is open and contains deposit action
    -click the action
    -wait a short bit to ensure item is depositied
    }
    

    So yeah, in a situation such as this there will be patterns if thousands of users are using the same script, doing the same thing thousands per times per day

     

     

    The api gives us the flexibility to write our own methods for almost anything that we'll ever need to -- many better scripts actually utilize this as being able to manipulate the "innards" of these api methods can allow for an anti-pattern to be built into the script.

     

    move mouse and right click on random generated point in that slow widget

     

    I don't think the inventory has widgets.

    Link to comment
    Share on other sites

    move mouse and right click on random generated point in that slow widget

     

    I don't think the inventory has widgets.

     

    I believe each slot is a widgetchild. Which doesn't matter in this case though as 

    slotInteract(int slot, java.lang.String action)

     

    Will be sufficient in most cases.

    Link to comment
    Share on other sites

    I believe each slot is a widgetchild. Which doesn't matter in this case though as 

    slotInteract(int slot, java.lang.String action)

     

    Will be sufficient in most cases.

    its not, check it when bot is back online ;)

     

    but yes, slotInteract will do

    Link to comment
    Share on other sites

    Archived

    This topic is now archived and is closed to further replies.

    ×
    ×
    • Create New...

    Important Information

    We have placed cookies on your device to help make this website better. You can adjust your cookie settings, otherwise we'll assume you're okay to continue.