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
  • eveAPI


    sini

    Recommended Posts

    I'm writing an API separate from the DreamBot API that provides more functionality while establishing a clear set of expectations for scripts. A lot of the eveAPI will either directly wrap and service as a buffer between the DreamBot API or will replace entire pieces of functionality to be more reliable. Part of the API will also include a library which people may use to connect to a RESTful service I will be hosting that will give access to a wide array of data. All of my scripts will include anonymous logging of various information if the user opts into the program. It'd be nice if people would also do some anonymous data logging with the users permission :)

     

    The main reason for me wanting to write my own API was the lack of predictability of some API functions. A lot of functions in the dream bot API seize control from the script to complete a task, sometimes not even completing it correctly, and a lot of time cause an issue with the script not being able to manage timing in an effective manner. With the API it's not possible to use both the mouse and keyboard at the same time, which I think is a critical flaw. I went to the drawing board, obviously the bot has realistically two inputs which are the peripherals of the computer, keyboard and mouse. Those are the two only inputs, besides the mouse wheel. I made it so that you could only do one peripheral action at a time, such as move the mouse, click the mouse, type a string to the keyboard, however for each input the task is ran on a separate thread allowing for it to be done asynchronously. When submitting a task a future is provided which gives scripts more functionality to test if the specified action has been completed and to return its result.

     

    Repository

     

    How do I use it?

     

    Wait until it's in a usable state.

     

    Examples

     

    Basic script

    Basic lua script

     

    Support

     

    Planned

     

    - *Fill in your imagination because there's a lot of planned support I may not have mentioned but will mention when its important.*

    - Lua scripts

     

    Implemented

     

    - Camera

    - Mouse

    - Actions

     

    REST Service Endpoints

     

    Planned

     

    - Web based walking : Get key that allows for you to stream points of a web based route on the fly.

    - Exception monitoring 

    Link to comment
    Share on other sites

    Added a basic Lua script example.

    print('Hello Im my meeseeks!')
    
    script:onStart(function()
      print('I am starting up')
    end)
    
    script:onPulse(function()
      --print('bloop')
    end)
    
    

    Heres a more advanced example, action building example.

     

     

    --- @author sini <[email protected]>
    local alwaysCondition = function() return true end
    
    local first = function(ctx)
      print('Hello')
    end
    
    local second = function(ctx)
      print('Moto')
    end
    
    script:onStart(function()
      local builder = script:createActionBuilder()
      builder:when(first, alwaysCondition)
      builder:when(second, alwaysCondition)
      script:fork(builder)
    end)
    
    script:onPulse(function() end)
    
    Link to comment
    Share on other sites

    Why lua? ._.

     

    Easy to deploy.

     

    7Y6KVX7.png

     

    Web walking is pretty fun to design. These nodes have similar adjacency properties, meaning that the child nodes which you obviously can't see anymore had the ability to walk between each other. They retain the property to walk to adjacent nodes when they merge. As soon as I get the landscape data I will build a map of these nodes and start calculating paths around the world.

    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.