setgamekeystate

whybladez

Участник
Автор темы
14
39
всем ку
хочу сымитировать нажатие игровых клавиш
всё работает, проблема в том, что стоит мне поставить какую-то задержку между двумя нажатиями клавиш, то перестают нажиматься обе)

C++ Work:
while(true)
{
    if (GetAsyncKeyState(0x52))
    {
        SetGameKeyState(etInput::Fire, 255);
        SetGameKeyState(etInput::Aim_Weapon, 0);
    }
}

C++ Not work:
while(true)
{
    if (GetAsyncKeyState(0x52))
    {
        SetGameKeyState(etInput::Fire, 255);
        Sleep(80);
        SetGameKeyState(etInput::Aim_Weapon, 0);
    }
}

SetGameKeyState:
void SetGameKeyState(BYTE key, BYTE state)
    {
        *(uint8_t*)(0xB73458 + key) = state;
    }

etInput:
enum etInput
    {
        Right = 0x0,
        Left = 0x1,
        Backwards = 0x2,
        Forward = 0x3,
        Look_Right = 0x4,
        Look_Left = 0x5,
        Look_Down = 0x6,
        Look_Up = 0x7,
        Action = 0x8,
        Previous_Weapon = 0xA,
        Aim_Weapon = 0xC,
        Next_Weapon = 0xE,
        Group_CTRL_Forward = 0x10,
        Group_CTRL_Back = 0x12,
        Conversatin_NO = 0x14,
        Conversation_YES = 0x16,
        Change_Camera = 0x1A,
        Jump = 0x1C,
        Enter_Exit = 0x1E,
        Sprint = 0x20,
        Fire = 0x22,
        Crouch = 0x24,
        Look_Behind = 0x26,
        Unused = 0x28,
        Walk = 0x2A
    };