自动化虎口银行
写着玩的,很烂,不如风灵月影
#include <iostream>
#include <windows.h>
//宏,简化了按下和释放按键的过程
#define PRESS(x) press_key(x)
#define RELEASE(x) release_key(x)
//键盘信息处理
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);
}
void lock_object()
{
mouse_event(MOUSEEVENTF_MIDDLEDOWN, 0, 0, 0, 0);
Sleep(100);
mouse_event(MOUSEEVENTF_MIDDLEUP, 0, 0, 0, 0);
Sleep(100);
}
void forward_jump(int runtime, int afterTime)
{
PRESS('W');
Sleep(runtime);
PRESS(VK_SPACE);
Sleep(100);
RELEASE(VK_SPACE);
RELEASE('W');
Sleep(afterTime);
}
int main()
{
//输入回数
int time;
std::cout << "要刷几轮:";
std::cin >> time;
for (int i = 0; i < time; i++)
{
//等待8S
Sleep(8000);
//转身勾绳
soft_turn(-1600, -200);
click_key('W', 400, 100);
click_key(VK_SPACE, -1, 100);
click_key('F', 400, 2000);
soft_turn(-700, 1000);
//瞄准
Sleep(500);
lock_object();
//一傻
forward_jump(300, 100);
mouse_event(MOUSEEVENTF_LEFTDOWN, 0, 0, 0, 0);
Sleep(100);
mouse_event(MOUSEEVENTF_LEFTUP, 0, 0, 0, 0);
Sleep(4000);
//下塔
click_key('W', 400, 100);
soft_turn(3600, -800);
Sleep(800);
lock_object();
//二傻
click_key('W', 1500, 100);
mouse_event(MOUSEEVENTF_LEFTDOWN, 0, 0, 0, 0);
Sleep(100);
mouse_event(MOUSEEVENTF_LEFTUP, 0, 0, 0, 0);
Sleep(3000);
//三傻
lock_object();
click_key('W', 4000, 100);
mouse_event(MOUSEEVENTF_LEFTDOWN, 0, 0, 0, 0);
Sleep(100);
mouse_event(MOUSEEVENTF_LEFTUP, 0, 0, 0, 0);
Sleep(3000);
//吸钱归佛
click_key('R', -1, 100);
click_key('S', -1, 100);
click_key(VK_RETURN, -1, 100);
click_key('E', 1000, 10000);
}
return 0;
}