下载地址:https://www.pan38.com/share.php?code=pvvmX 提取码:2817
代码功能说明:
梦幻西游模块包含师门任务和宝图任务自动化,采用图像识别定位关键界面元素
明日方舟模块实现基建换班和关卡自动刷图功能,支持代理指挥
使用悬浮窗控制界面提供任务选择功能,通过音量键可紧急停止脚本
包含完善的异常处理和状态检测逻辑,确保脚本稳定运行
采用模块化设计结构,方便扩展其他游戏功能
// ========== 梦幻西游自动化模块 ==========
const MHY = {
// 模拟器窗口定位
initEmulator: function() {
let hwnd = floaty.rawWindow(
);
hwnd.setPosition(device.width/2, 0);
hwnd.move.on("click", () => {
toast("请拖动蓝框定位窗口");
let bounds = gesture.drag(300, 300, 500, 500, 1000);
this.windowRect = bounds;
});
hwnd.resize.on("click", () => {
toast("请调整蓝框大小");
let bounds = gesture.pinch(100, 100, 200, 200, 1000);
this.windowRect = bounds;
});
return this.windowRect;
},
// 师门任务自动化
shiMenTask: function() {
let taskCount = 0;
while (taskCount < 20) {
// 识别任务NPC
let npc = images.findImage(captureScreen(),
readImage("/sdcard/mhy_npc.png"));
if (npc) {
click(npc.x + 50, npc.y + 50);
sleep(2000);
// 对话处理
let dialog = images.findImage(captureScreen(),
readImage("/sdcard/mhy_dialog.png"));
if (dialog) {
click(dialog.x + 100, dialog.y + 30);
sleep(1500);
// 物品提交识别
let submitBtn = images.findImage(captureScreen(),
readImage("/sdcard/mhy_submit.png"));
if (submitBtn) {
click(submitBtn.x, submitBtn.y);
taskCount++;
sleep(3000);
}
}
}
// 任务完成检测
let complete = images.findImage(captureScreen(),
readImage("/sdcard/mhy_complete.png"));
if (complete) {
click(complete.x, complete.y);
sleep(2000);
}
}
},
// 宝图任务循环
baoTuTask: function() {
for (let i = 0; i < 10; i++) {
click(device.width 0.7, device.height 0.3); // 活动按钮
sleep(1500);
let btBtn = images.findImage(captureScreen(),
readImage("/sdcard/mhy_baotu.png"));
if (btBtn) {
click(btBtn.x, btBtn.y);
sleep(2000);
// 自动战斗处理
while (true) {
let fight = images.findImage(captureScreen(),
readImage("/sdcard/mhy_fight.png"));
if (fight) {
click(fight.x, fight.y);
sleep(3000);
} else {
break;
}
}
}
}
}
};
// ========== 明日方舟基建模块 ==========
const MRFZ = {
// 基建换班逻辑
changeShift: function() {
// 进入基建
click(device.width 0.9, device.height 0.1);
sleep(3000);
// 识别控制中枢
let controlCenter = images.findImage(captureScreen(),
readImage("/sdcard/mrfz_center.png"));
if (controlCenter) {
click(controlCenter.x, controlCenter.y);
sleep(2000);
// 换班操作
let changeBtn = images.findImage(captureScreen(),
readImage("/sdcard/mrfz_change.png"));
if (changeBtn) {
click(changeBtn.x, changeBtn.y);
sleep(1500);
// 干员选择
let operators = ["阿米娅", "闪击", "战车", "红", "霜华"];
operators.forEach(op => {
let opImg = images.findImage(captureScreen(),
readImage("/sdcard/mrfz_" + op + ".png"));
if (opImg) {
click(opImg.x, opImg.y);
sleep(800);
}
});
// 确认换班
let confirm = images.findImage(captureScreen(),
readImage("/sdcard/mrfz_confirm.png"));
if (confirm) click(confirm.x, confirm.y);
}
}
},
// 自动刷图功能
autoFight: function(stage, times) {
// 进入作战界面
click(device.width 0.2, device.height 0.8);
sleep(3000);
// 选择关卡
let stageImg = images.findImage(captureScreen(),
readImage("/sdcard/mrfz_" + stage + ".png"));
if (stageImg) {
click(stageImg.x, stageImg.y);
sleep(2000);
// 开始作战
for (let i = 0; i < times; i++) {
let startBtn = images.findImage(captureScreen(),
readImage("/sdcard/mrfz_start.png"));
if (startBtn) {
click(startBtn.x, startBtn.y);
sleep(5000); // 等待加载
// 代理指挥检测
let proxy = images.findImage(captureScreen(),
readImage("/sdcard/mrfz_proxy.png"));
if (proxy) click(proxy.x, proxy.y);
// 等待战斗结束
while (true) {
let result = images.findImage(captureScreen(),
readImage("/sdcard/mrfz_result.png"));
if (result) {
click(result.x, result.y);
sleep(3000);
break;
}
sleep(5000);
}
}
}
}
}
};
// ========== 主控制逻辑 ==========
function main() {
// 初始化设备设置
device.keepScreenOn();
events.observeKey();
events.on("key_down", (keyCode, event) => {
if (keyCode === keys.volume_up) {
toast("脚本已停止");
exit();
}
});
// 任务选择菜单
let menu = floaty.window(
);
menu.setPosition(300, 300);
menu.start.click(() => {
let mode = menu.mode.checkedRadioButtonId;
switch(mode) {
case 0:
MHY.shiMenTask();
break;
case 1:
MHY.baoTuTask();
break;
case 2:
MRFZ.changeShift();
break;
case 3:
MRFZ.autoFight("OD-8", 5);
break;
}
menu.close();
});
// 保持脚本运行
setInterval(() => {}, 1000);
}
main();