【只狼】自动化怨鬼跳塔
写的很烂,当个乐子
冲刺改鼠标右键
站在这个位置

#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);
//校准距离
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);
//转身瞄准
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;
}