Algorithm Structure Information
No bot has flawless artificial intelligence (AI) that runs behind it, the intelligence of a bot is the sum of what it's author has programmed it to do. EVEMiner does not pretend to have flawless AI, it is actually quite simple. It takes your thoughts of what it should do at a given moment and uses that to function. How the bot functions depends on the coded functions it is asked to execute. How well the bot runs is limited only by your ability to generate new algorithms, or steps, to tell it what to do. The EVEMiner algorithm (v1.0) consists of 35 basic steps that are bound together. Each line of the algorithm has 4 fields:
The entry point of an algorithm is the first label, if it is sorted by name. It is recommended to use a label called '00:' as the entry point and redirect the execution to another function from there. This way, if you change anything in the code you will not have to rename the labels of each function to determine which function executes first. If a label doesn't contain a colon ':' the program will treat the label as a comment.
Constructing of Algorithm with yED Graph Editor
It is difficult to construct complex algorithms without a diagram. I use the free program yED Graph Editor for windows. Visit the EVE Miner Algorithm page for a view of the EVEMiner algorithm constructed in a graph editor. Each block represents a function with the label in the header of the block. The name of the function is in the body of internal rectangle and the return values of the function are shown as a circles with numbers from 0-4. To connect two functions in a specific order, use an arrow from the output of one function to the body of another function. To start building an algorithm, install yED Graph editor and click the 'New' button in the algorithm editor tab. This will create a new file in your scripts directory (BlankDiagram.graphml) and open a blank diagram with templates for all functions. Copy and expand the rectangle of a function. Hover the mouse over each rectangle to read the description of the function. Hover the mouse over each circle to read the description of the return values for the function. Use the F6 hotkey to edit the properties of a box, add a label or change the color to organize blocks in a scheme. Open the "Edge Type" tools on the right to draw a connector. Mark the connector as red if you want to enable haste mode. Using this editor will save you a lot of time.
Writing Down New Algorithm
To write down an algorithm, clear the current algorithm with 'Clear' button if necessary. Select the method name from 'Available Methods', you will activate the corresponding fields that you can edit. Edit the label. Edit parameters 1-5, if necessary. Enter the return labels of where to go depending on the results (0-4). Press 'Add' button. A new line will appear in algorithm listbox on the right. Several new empty labels might also appear in algorithm body, this will tell you that there is a label that you have referred to which does not yet have a command for it. Select this empty line in the body of the algorithm. The line label will be copied to algorithm construct. Click another method from the available methods and repeat the construction until there are no empty labels left in the algorithm listbox. Save the new algorithm in the scripts directory (the directory where EVEPilot will look for custom algorithms, will open automatically) with a .txt extension. Now you will be able to see this algorithm in the general settings once you have selected the function of a client as 'custom' and opened the drop-down list of algorithms. Using the load button you can load your algorithm into editor. To load the default algorithm, select it from the list and click the 'default ->' button.
Naming of the Algorithm
Starting from version 3.1.0 of EVEPilot, an
algorithm name must contain keywords. This keyword defines the type
of bot it is.
The keywords: miner, hunter, marker, deliverer and manager will all open the EVEMiner settings.
The keyword trader will open the EVETrader GUI.
EVEMiner cannot operate with EVETrader functions; The Trader functions cannot be included into the algorithms developed to be used with the miner. Most of the miners algorithms will not work if you open EVETrader settings.
I am not asking you to create new algorithms on your own, I give you the possibility to do so purely for fun. You can always use the default algorithms I have create and I hope they will meet your requirements. Good luck.