Перейти к содержанию

Auto Fire для игры COD MW [C++]


Рекомендуемые сообщения

if(GetAsyncKeyState(VK_RBUTTON)
{
if (hack[AUTO_FIRE].on)
{
AutoFireStage2 = true;
}
}
else AutoFireStage2 = false;

if(AutoFireStage2)
{
mouse_event(MOUSEEVENT_LEFTUP, 0, 0, 0, 0);
if(clock() - AutoFireTMR > 40)
{
mouse_event(MOUSEEVENT_LEFTDOWN, 0, 0, 0, 0);
mouse_event(MOUSEEVENT_LEFTUP, 0, 0, 0, 0);
AutoFireTMR = clock();
}
}
}

Не работает, в чем может быть проблема?

Ссылка на комментарий
Поделиться на другие сайты

Блин я ступил, думал ты рапидфайр делал :grin:

У меня всё воркинг файн, весь код висит в ендсцене, проблем нету:

HRESULT WINAPI HookedDirectX::hookedkEndScene( LPDIRECT3DDEVICE9 m_pDevice )
{
_asm pushad;

/*
бла бла
*/
if(StMenu.Controls.SilverButton[Main.FirstTab][1][2].IsActive)
{
if (Tools.getTick == 200)
{
keybd_event(VK_LBUTTON, 0, 0, 0);//нажали
keybd_event(VK_LBUTTON, 0, KEYEVENTF_KEYUP, 0);//отпустили
HookedD3d.TextBordered(100,150,D3DXCOLOR_RGBA(255,0,0,255),"стреляем ;D");
Tools.DecTick(5);
}
}
_asm popad;
return m_pReturn;
}

если порыться в структуре игрока можно найти кое чего интересного, будет адрес в котором содержится рандомное число когда прицел игрока наведён на врага и 0 если прицел не наведён :-P Также адрес прицеливания ищется просто - изменился не изменился, тип 1 байт. Итого делаем проверку, если прицел игрока на враге и он не смотрит в прицел/оптику, делаем автозум и стреляем, получаем атошут. Клавишу в этот момент можно не отпускать.

Ссылка на комментарий
Поделиться на другие сайты

Проблема в другом, работает не на всех играх, например если инжектить .dll в Метро2033 работает, если для COD4 MW не работает.

Ссылка на комментарий
Поделиться на другие сайты

Проблема в другом, работает не на всех играх, например если инжектить .dll в Метро2033 работает, если для COD4 MW не работает.

Всё прекрасно работает как и раньше, только что протестировал. Добавь функции логирования в свою дллку и посмотри, мб есть глюк и твой код вообще никогда не вызывается, т.к. keybdevent работает везде и всегда.

Ссылка на комментарий
Поделиться на другие сайты

4 способа решения сделать так чтобы оружие стреляло:

1) Найти код в процессе игры (некий switch), который говорит о том что будет/был выстрел. Ну и соответственно искусственно вызывать ветку кода поправив один или пару прыгов;

2) WinAPI эмуляция ввода мышки (о ней уже писали - MSDN рекомендует обычно SendInput, а не mouse_event и не keybd_event ... и лучше всё-таки это делать через таймер, а не хуком в конец сцены (почему так лучше комментировать не буду, надо тестить));

3) DirectXInput эмуляция ввода мышки;

4) Эмуляция на уровне драйвера мышки (или клавиатуры)

По всем методам можно найти не мало информации в Интернете.

------------------

Ссылка на комментарий
Поделиться на другие сайты

×
×
  • Создать...

Важная информация

Находясь на нашем сайте, Вы автоматически соглашаетесь соблюдать наши Условия использования.