Hello guys,
I am currently working on some private software, which is going to help me control my slave characters when I am multiboxing.
The first task was to get some memory reading done so I could analyse the game world(s) out-of-process. With of lots of research and (ancient) thread diggin' I got the major part of this task completed.
My second (and current) task is to get the (slave) player control working. My first attempt at this was to send/post windows messages to the specific client(s) (WM_KEYDOWN/UP, WM_MOUSEMOVE, etc.).
This worked fantastically, my slave character behaved like how a 14 year old would control his freshly created (alliance) character (i.e. excessively jumping around, hit & run, straving, turn-jump & hit), frankly if you didn't know better you would think of it as just another player.
The downside was it only worked for a single client. Whenever tried to use this method for two clients simultaneously, every mouse related windows message send/posted conflicted with the input of the other client. I was trying to simulate the move forward behavior you get when you hold down the left and right mouse button or middle mouse button (default bindings).
My primary thoughts about this issue is that I think my method assumes one window having the capture focus (HWND GetCapture(VOID)) when processing those mouse events. So when you are sending mouse button down message to different wow-window handles at the same time they will be grabbing the capture focus constantly from each other.
I could be wrong about this, but I don't think my first method is the path to go. As for now I could always stick to sending key down/up messages, however I want to avoid so-called 'keyboard turning'. I still want my slaves to be able to turn very quick if not instantly, the same way you turn with your mouse (holding down right mouse button and move mouse).
My question is, should I continue with controlling my slaves via sending windows messages or are there a better alternatives I should explore. So far I have discovered the click-to-move functionality and I managed to utilize it with process memory writes.
However navigating with click-to-move excludes the option to let my slaves strafe if I am not mistaken. Strafing is essencial for close combat manouvering.
Are there any thoughts/suggestions you willing to share with me?
Kind regards,
Maeco