问题标题: MC外挂之挖矿

2
2
已解决
被禁言 马博闻
马博闻
初级守护
初级守护

一定要看使用方法!!!!

代码:

#include <windows.h>
#include <iostream>
#define key1(VK_NONAME) ((GetAsyncKeyState(VK_NONAME) & 0x8000) ? 1:0)

// 函数1:模拟鼠标左键/右键按下
void mo_d(bool isLeftButton) {
    INPUT input = {0};
    input.type = INPUT_MOUSE;

    if (isLeftButton) {
        input.mi.dwFlags = MOUSEEVENTF_LEFTDOWN;
    } else {
        input.mi.dwFlags = MOUSEEVENTF_RIGHTDOWN;
    }

    SendInput(1, &input, sizeof(INPUT));
}

// 函数2:模拟鼠标左键/右键松开
void mo_u(bool isLeftButton) {
    INPUT input = {0};
    input.type = INPUT_MOUSE;

    if (isLeftButton) {
        input.mi.dwFlags = MOUSEEVENTF_LEFTUP;
    } else {
        input.mi.dwFlags = MOUSEEVENTF_RIGHTUP;
    }

    SendInput(1, &input, sizeof(INPUT));
}

// 函数3:模拟键盘按键按下
void k_d(WORD keyCode) {
    INPUT input = {0};
    input.type = INPUT_KEYBOARD;
    input.ki.wVk = keyCode;  // 虚拟键码
    input.ki.dwFlags = 0;    // 按下

    SendInput(1, &input, sizeof(INPUT));
}

// 函数4:模拟键盘按键松开
void k_u(WORD keyCode) {
    INPUT input = {0};
    input.type = INPUT_KEYBOARD;
    input.ki.wVk = keyCode;  // 虚拟键码
    input.ki.dwFlags = KEYEVENTF_KEYUP;  // 松开

    SendInput(1, &input, sizeof(INPUT));
}
void move_mouse(int x,int y) {//移动鼠标 
    int screenWidth = GetSystemMetrics(SM_CXSCREEN);
    int screenHeight = GetSystemMetrics(SM_CYSCREEN);
    if (x >= screenWidth) x = screenWidth - 1;
    if (y >= screenHeight) y = screenHeight - 1;
    SetCursorPos(x, y);
}
void m1(int& x, int& y) {
    POINT cursorPos;
    if (GetCursorPos(&cursorPos)) {
        x = cursorPos.x;
        y = cursorPos.y;
    } else {
        // 如果获取失败,可以设置默认值或抛出异常
        x = -1;
        y = -1;
    }
}
// **确保是 main 函数(控制台入口点)**
using namespace std; 
void w1(){//水平挖矿 
    int cnt;//时间 
    Sleep(3000);
    while(true){
        if(key1('P'))break;
        mo_d(1);
        k_d('W');
        Sleep(3000);
        mo_u(1);
        k_u('W');
        cnt++;
        if(cnt%3==0){
            k_d('S');
            Sleep(1000);
            k_u('S');
            Sleep(100);
            k_d('2');
            Sleep(100);
            mo_d(0);
            Sleep(100);
            k_u('2');
            Sleep(100);
            mo_u(0);
            k_d('W');
            Sleep(1000);
            k_u('W');
            k_d('1');
            k_u('1');
        }
    }
}
void w2(){//倾斜挖矿 
    int cnt;//时间 
    Sleep(3000);
    while(true){
        if(key1('P'))break;
        k_d('W');
        mo_d(1);
        Sleep(3000);
        mo_u(1);
        k_u('W');
        k_d('S');
        Sleep(500);
        k_u('S');
        mo_d(1);
        Sleep(1500);
        mo_u(1);
        k_d('W');
        Sleep(500);
        k_u('W');

        if(cnt%3==0){
            k_d(' ');
            k_d('S');
            Sleep(1500);
            k_u(' ');
            k_u('S');
            Sleep(100);
            k_d('2');
            Sleep(100);
            mo_d(0);
            Sleep(100);
            k_u('2');
            Sleep(100);
            mo_u(0);
            k_d('W');
            Sleep(1500);
            k_u('W');
            k_d('1');
            k_u('1');
        }

        cnt++;
    }
}
// 函数:弹出一个名为S的提示框
void ShowMessageBox(const char* S) {
    MessageBox(NULL, S, "提示", MB_OK | MB_ICONINFORMATION);
}

int main() {
    while(1){
        Sleep(10);
        if(key1('I')){//水平挖矿 
            ShowMessageBox("开启水平挖矿!");
            w1(); 
        } 
        if(key1('O')){//水平挖矿 
            ShowMessageBox("开启倾斜挖矿!");
            w2(); 
        } 
    }
    return 0;
}

复制到Dev-C++中运行

 

使用方法:

1.确保你打开了MC,同时你的物品栏第一格是稿子,第二格是火把(特别重要)

2.程序运行后尽快把页面切换到MC,按i键开始水平挖矿,按o键开始倾斜挖矿

3.在挖矿时按住p键退出(要按住一段时间)

4.注意身上不要带贵重物品(挖到岩浆/矿洞可能会烫死/摔死),同时应隔一段时间来看一下

5.使用本代码导致的法律责任本人概不负责

6.觉得好用的点个赞吧


0
已采纳
琚泽然
琚泽然
中级守护
中级守护

建议可以调节Sleep的时间(毕竟我有一把效率5的下界合金镐)

1
被禁言 马博闻
马博闻
初级守护
初级守护

补充:

注意可以调节视线的角度实现不同的倾斜挖矿

效果:

倾斜

 

水平

0
0
我要回答