在我的世界网易版这个游戏中,资源市场通常有付费免费两种模组,而你要做的就是下滑右侧屏幕,检测到“免费”字样时点击他,等待一会后会进入购买界面,再次检测并点击“免费”,检测并点击“购买”,等待一会后点击右上角的叉号,类似于“×”,退出购买界面,检测是否有“免费”,若是没有,继续下滑右侧屏幕,循环往复
这类似于连点器,只是让你检测并购买,完全合法合规

已存档
古月怀安 · 15 天前

回答

Hamibot AI
1
· 15 天前

根据你的需求,我为你编写了一个Hamibot脚本,用于在“我的世界网易版”游戏中自动化购买免费模组。脚本会下滑右侧屏幕,检测并点击“免费”字样,处理购买流程,然后退出购买界面,循环执行直到没有更多免费模组。脚本使用了控件基于的自动化(如点击文本)和图像检测(用于叉号按钮),以确保兼容性和可靠性。

脚本代码

// 文档地址 https://docs.hamibot.com/
auto.waitFor();
if (!requestScreenCapture()) {
    toastLog('没有授予 Hamibot 屏幕截图权限');
    hamibot.exit();
}

while (true) {
    // 下滑右侧屏幕
    scrollDown();
    sleep(2000); // 等待滑动完成,可根据实际网络速度调整

    // 尝试点击当前屏幕上的所有"免费"文本
    while (click("免费")) {
        toastLog("找到免费模组,点击进入");
        sleep(3000); // 等待进入购买界面,可根据加载时间调整

        // 在购买界面点击"免费"按钮
        if (click("免费")) {
            toastLog("点击免费按钮");
            sleep(1000); // 等待响应
        } else {
            toastLog("在购买界面未找到免费按钮,尝试返回");
            back(); // 模拟返回键退出
            sleep(2000);
            continue; // 继续处理下一个免费模组
        }

        // 点击"购买"按钮
        if (click("购买")) {
            toastLog("点击购买");
            sleep(2000); // 等待购买完成
        } else {
            toastLog("未找到购买按钮,尝试返回");
            back();
            sleep(2000);
            continue;
        }

        // 点击右上角的叉号退出购买界面
        var img = captureScreen();
        // 图像检测叉号:假设叉号在右上角,颜色为黑色 (#000000),区域为 [1000, 50, 80, 80](针对1080p屏幕)
        // 你需要根据实际UI调整颜色、偏移点和区域
        var p = images.findMultiColors(img, '#000000', [[0, 0, '#000000']], {
            region: [1000, 50, 80, 80],
            threshold: 16,
            algorithm: "diff"
        });
        if (p) {
            click(p.x, p.y);
            toastLog("点击叉号退出");
        } else {
            // 如果图像检测失败,尝试文本点击"×"
            if (click("×")) {
                toastLog("点击文本叉号");
            } else {
                toastLog("未找到叉号,使用返回键");
                back(); // 备用方案
            }
        }
        sleep(3000); // 等待退出完成
    }

    // 当前屏幕没有更多免费模组,下滑继续
    toastLog("当前屏幕没有免费模组,下滑继续");
    sleep(1000); // 短暂延迟,避免操作过快
}

使用说明

  1. 安装和设置:确保已安装Hamibot并授予无障碍服务和屏幕截图权限。脚本开头已包含相关检查。
  2. 调整参数
    • 睡眠时间(sleep):根据游戏加载速度调整sleep的值(单位毫秒)。如果界面加载慢,增加时间;如果快,减少时间。
    • 图像检测:叉号按钮可能因UI主题或屏幕分辨率而异。你需要修改images.findMultiColors中的参数:
      • color:叉号的主要颜色(例如,白色可能是#FFFFFF,黑色是#000000)。
      • 偏移点:根据叉号的实际形状调整偏移点数组(如[[5,5,'#颜色']])。
      • region:检测区域,基于屏幕分辨率调整(格式为[x, y, width, height])。
    • 如果图像检测不准确,可以尝试使用文本点击click("×"),但确保游戏中叉号是文本形式。
  3. 运行脚本:在Hamibot中部署并运行此脚本。脚本会无限循环,直到手动停止。
  4. 调试:脚本使用了toastLog输出日志,方便你查看执行状态。如果遇到问题,检查日志并调整参数。

注意事项

  • 兼容性:脚本使用Rhino 1.7.15 JavaScript引擎,避免使用箭头函数和默认参数等新特性。
  • 合法性:此脚本仅用于自动化游戏内合法操作,不涉及作弊或违规行为。
  • 性能:如果游戏UI变化,脚本可能需要更新。建议先在测试环境中运行。

如果有任何问题或需要进一步调整,请提供更多细节,我可以帮你优化脚本。

ℹ️ 本回答由 AI 生成,内容仅供参考