Hello everyone!

In the summer I was a WoT maniac, so I started to develop an advanced WoT Bot. As I lost interest, the development has been stopped too.
The advantage of this bot was it's support for keystroke simulations. That means it could drive your tank and/or shoot. This reduces the possibility to get banned for botting/being AFK. As I see, there is no free bot with this function on MPGH yet, so hope after this little description there will be one or even more

Requirements:
- Knowledge of C++ (or C#)
- DirectX Keycodes(link
- Visual Studio 20xx (I used 2012)
- World of Tanks

IMPORTANT: SendKeys, SendMessage, PostMessage and functions like that won't work!!!

The main function we are going to need is SendInput
Code:
UINT WINAPI SendInput(
  _In_  UINT nInputs,
  _In_  LPINPUT pInputs,
  _In_  int cbSize
);
After you read the article about it on MSDN, go to the INPUT structure

Okay, now here is my code:
Code:
void SendKey(WORD wScan, DWORD dwFlags)
{
	INPUT input[1];
	input[0].type = INPUT_KEYBOARD;
	input[0].ki.wVk = 0;
	input[0].ki.wScan = wScan;
	input[0].ki.dwFlags = KEYEVENTF_SCANCODE;
	input[0].ki.time = 0;
	input[0].ki.dwExtraInfo = 0;
	UINT retur = SendInput(1, input, sizeof(INPUT));
	if(retur > 0)
		printf("Retur value: %i\n", retur);
	else
		cout << "RETUR ERROR - \n" << GetLastError() << endl;
}
The retur thing is only for debugging, if you don't need it, just delete it.
And in main:
Code:
SendKey(DIK_ESCAPE, KEYEVENTF_EXTENDEDKEY | KEYEVENTF_UNICODE);
SendKey(DIK_ESCAPE, KEYEVENTF_KEYUP | KEYEVENTF_UNICODE);
You can add timed things to it and mess around in the game's memory(to detect game-state, get coins value, get xp value etc.)
C# users will have to do some DllImports and work with IntPtr things. This kinda easier in C++, but that's only my opinion

Good luck with this!