ND Awaken Macro

04/12/2016 09:01 Plastic#1
Here's a macro I've written for ND Awaken for W10, [Only registered and activated users can see links. Click Here To Register...]. It may or may not work on previous Windows versions.

It will work along side GG without issue, and even allow you to send keys to 9Dragons while its in an inactive window state. It should be fairly easy to understand setting up, just open the executable once and it will create a .ini file that you can edit. Once you're done editing the .ini, you will need to reload the application to reload the settings. If you need to pause the macro, just push the END key on your keyboard. Pushing it again will unpause.

Enabling the extended bar will allow you to use the skills 0~9E_, which correspond to the CTRL + Key hotbar. however it will not be able to send keys to an inactive window. If you want to macro your skills while the game is in the background ( not minimized, just not the current active window ) then you should set this option to false.

I've attached a pre-compiled version for anyone incapable or unwilling of compiling the source themselves.
04/12/2016 09:18 Adek#2
I'll analyze the source code a bit later, but thank you for your work there.

Code:
outFile << i << "E" << "_Enabled=false\n";
outFile << i << "E" << "_Cooldown=2\n";
outFile << i << "E" << "_VeCost=30\n";
outFile << i << "E" << "_CastTime=2.5\n";
Why didn't you just "E_Enable=false\n" and so on?

Do you have any idea why it doesn't work with extended bar on inactive window? Maybe there is a way to avoid that.
04/12/2016 09:32 Plastic#3
Quote:
Originally Posted by adek1994 View Post
I'll analyze the source code a bit later, but thank you for your work there.

Code:
outFile << i << "E" << "_Enabled=false\n";
outFile << i << "E" << "_Cooldown=2\n";
outFile << i << "E" << "_VeCost=30\n";
outFile << i << "E" << "_CastTime=2.5\n";
Why didn't you just "E_Enable=false\n" and so on?

Do you have any idea why it doesn't work with extended bar on inactive window? Maybe there is a way to avoid that.
I can't remember why I did that, probably wanted to expand on it in a different way but just forgot.

The "SendMessage" API ( [Only registered and activated users can see links. Click Here To Register...] ) doesn't send the correct 'messages' to the window when used with a modifier key. Windows does something to combine the keys into a combination command, and the application can interpret it as so. When done through the "SendMessage" API, there's no way to get it to combine the messages, and instead it sends CTRL and then the KEY rather than CTRL+KEY.
04/12/2016 09:48 Adek#4
Quote:
Originally Posted by Plastic View Post
I can't remember why I did that, probably wanted to expand on it in a different way but just forgot.

The "SendMessage" API ( [Only registered and activated users can see links. Click Here To Register...] ) doesn't send the correct 'messages' to the window when used with a modifier key. Windows does something to combine the keys into a combination command, and the application can interpret it as so. When done through the "SendMessage" API, there's no way to get it to combine the messages, and instead it sends CTRL and then the KEY rather than CTRL+KEY.
Hmm there is an opposite issue on SendInput() WinAPI method (actually, code is in C#, but should be similar to C++ one)

[Only registered and activated users can see links. Click Here To Register...]

[Only registered and activated users can see links. Click Here To Register...]

I didn't simulate keystrokes so far in C++, so I have no experience in that field, though.

#edit: Uhh, I didn't notice that there is no window handler in SendInput. Maybe there is a way to avoid that issue.