【只狼】自動(dòng)化怨鬼跳塔
寫的很爛,當(dāng)個(gè)樂子
沖刺改鼠標(biāo)右鍵
站在這個(gè)位置

#include <iostream>
#include <windows.h>
//鍵盤信息處理
BYTE scan_code(DWORD pKey)
{
? ? const DWORD result = MapVirtualKey(pKey, MAPVK_VK_TO_VSC);
? ? return static_cast<BYTE>(result);
}
void press_key(DWORD pKey)
{
? ? keybd_event(static_cast<BYTE>(pKey), scan_code(pKey), 0, 0);
}
void release_key(DWORD pKey)
{
? ? keybd_event(static_cast<BYTE>(pKey), scan_code(pKey), KEYEVENTF_KEYUP, 0);
}
void click_key(DWORD pKey, int downTime, int afterTime)
{
? ? if (downTime < 100) downTime = 100;//最短瞬間0.1s
? ? press_key(pKey);
? ? Sleep(downTime);
? ? release_key(pKey);
? ? Sleep(afterTime);
}
void soft_turn(int X, int Y)
{
? ? int dx = 1;
? ? if (X < 0) dx = -1, X *= -1;
? ? for(int I = 1; I <= X; I++) mouse_event(MOUSEEVENTF_MOVE, dx, 0, 0, 0);
? ? Sleep(100);
? ? int dy = 1;
? ? if (Y < 0) dy = -1, Y *= -1;
? ? for (int I = 1; I <= Y; I++) mouse_event(MOUSEEVENTF_MOVE, 0, dy, 0, 0);
? ? Sleep(100);
}
//宏,簡化了按下和釋放按鍵的過程
#define PRESS(x) press_key(x)
#define RELEASE(x) release_key(x)
int main()
{
? ? //在此期間打開Sekiro游戲窗口
? ? Sleep(5000);
? ? //校準(zhǔn)距離
? ? click_key(VK_SPACE, -1, 500);
? ? //連跳上塔
? ? PRESS('E');
? ? Sleep(1000);
? ? click_key(VK_SPACE, -1, 500);
? ? click_key(VK_SPACE, -1, 700);
? ? click_key(VK_SPACE, -1, 1000);
? ? RELEASE('E');
? ? Sleep(500);
? ? click_key('E', -1, 1000);
? ? //轉(zhuǎn)身瞄準(zhǔn)
? ? soft_turn(-600, 0);
? ? click_key('W', 400, 500);
? ? soft_turn(2900, 1000);
? ? click_key('W', -1, 1000);
? ? //沖刺跳塔
? ? PRESS('E');
? ? Sleep(1000);
? ? PRESS('W');
? ? mouse_event(MOUSEEVENTF_RIGHTDOWN, 0, 0, 0, 0);
? ? Sleep(580);
? ? mouse_event(MOUSEEVENTF_RIGHTUP, 0, 0, 0, 0);
? ? RELEASE('W');
? ? Sleep(100);
? ? PRESS('W');
? ? PRESS(VK_SPACE);
? ? Sleep(100);
? ? RELEASE(VK_SPACE);
? ? RELEASE('W');
? ? Sleep(500);
? ??
? ? RELEASE('E');
? ? Sleep(1000);
? ? click_key('E', -1, 1000);
? ? return 0;
}