欢迎光临散文网 会员登陆 & 注册

【只狼】自动化怨鬼跳塔

2023-08-09 16:59 作者:红石火把i  | 我要投稿

写的很烂,当个乐子

冲刺改鼠标右键

站在这个位置

#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;

}


【只狼】自动化怨鬼跳塔的评论 (共 条)

分享到微博请遵守国家法律