Yey!
Finished the practical part of the follow/farm bot

Blame bandicam --^

Before selecting PID with KRelay
It is split in 2 parts, an external application (made in vb (had to specify)) that sends keystrokes based on its title (when activated).
The external applications title has this format
yourX|yourY|targetX|targetY
Every 100ms it calculates where it has to move, and moves there, using the shortest path possible to get to the target (99% of the time, it's diagonally) (added linear movement that doesn't move with the hypotenuse, and takes the longer path)
So that means you can use an internal plugin you made yourself in order to change the coords, aka make your own followbot plugin, that uses a better algorithm than mine to get the coordinates of the target.
The internal plugin gets your and your targets coordinates (thanks pixelzerg for his PlayerStatus plugin that I used as reference, and crazyjani for pointing me to the correct packet) and sets the internal applications title as the coordinates.
Usage:
Before - After activation
KRelay 0% to 5% - 25%
External application - 0% - 0% to 4% (very very low)
In the gif the total cpu usage is 90%, because of the recording and the client.
So what do you think?

Blame bandicam --^

Before selecting PID with KRelay
It is split in 2 parts, an external application (made in vb (had to specify)) that sends keystrokes based on its title (when activated).
The external applications title has this format
yourX|yourY|targetX|targetY
Every 100ms it calculates where it has to move, and moves there, using the shortest path possible to get to the target (99% of the time, it's diagonally) (added linear movement that doesn't move with the hypotenuse, and takes the longer path)
How does it move there?
keybd_event, holds keys and releases them when its done.
So that means you can use an internal plugin you made yourself in order to change the coords, aka make your own followbot plugin, that uses a better algorithm than mine to get the coordinates of the target.
The internal plugin gets your and your targets coordinates (thanks pixelzerg for his PlayerStatus plugin that I used as reference, and crazyjani for pointing me to the correct packet) and sets the internal applications title as the coordinates.
Why the title?
The title is easily accessible by both the external and internal app. If I did something like save in a notepad (would be stupid) it would take more processing power (and illegal crossthread calls). Title is easy and quick.
Usage:
Before - After activation
KRelay 0% to 5% - 25%
External application - 0% - 0% to 4% (very very low)
In the gif the total cpu usage is 90%, because of the recording and the client.
Which player is chosen to be followed?
The last player you tped to.
Why? Since the thing sends a lot of keystrokes, constantly, until it is terminated, your mouse stays free, but your keyboard doesn't. Thus you cant send commands, because the program will have your keyboard busy with sending w-a-s-d keystrokes. Thus what can you do with your mouse? TP.
So if you need to change target, tp to them and you changed your target. No need to stop, change command, reopen.
Why? Since the thing sends a lot of keystrokes, constantly, until it is terminated, your mouse stays free, but your keyboard doesn't. Thus you cant send commands, because the program will have your keyboard busy with sending w-a-s-d keystrokes. Thus what can you do with your mouse? TP.
So if you need to change target, tp to them and you changed your target. No need to stop, change command, reopen.
So what do you think?



