From 4ae4dbc97d885e5acb1771fe391f4d615b5bfb13 Mon Sep 17 00:00:00 2001 From: wangbing Date: Thu, 19 Sep 2024 14:30:57 +0800 Subject: [PATCH] =?UTF-8?q?=E8=87=AA=E5=8A=A8=E9=87=87=E9=9B=86?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../xyz/wbsite/jmacro/wjdr/MacroForWJDR.java | 2 +- .../wjdr/task/Task_仓库奖励领取.java | 45 ++++++++++++------- 2 files changed, 29 insertions(+), 18 deletions(-) diff --git a/src/main/java/xyz/wbsite/jmacro/wjdr/MacroForWJDR.java b/src/main/java/xyz/wbsite/jmacro/wjdr/MacroForWJDR.java index 9315345..79570c7 100644 --- a/src/main/java/xyz/wbsite/jmacro/wjdr/MacroForWJDR.java +++ b/src/main/java/xyz/wbsite/jmacro/wjdr/MacroForWJDR.java @@ -59,7 +59,7 @@ public class MacroForWJDR extends JMacro { String currentTime = current.toString("HH:mm:ss"); Logger.info("工作时间:{}~{}", workStart, workEnd); Logger.info("当前时间:{}", currentTime); - if (!DateUtil.parseTime(currentTime).isIn(DateUtil.parseTime(workStart), DateUtil.parseTime(workEnd))) { + if (DateUtil.parseTime(currentTime).isIn(DateUtil.parseTime(workStart), DateUtil.parseTime(workEnd))) { Logger.info("当前时间为工作时间"); Logger.info("任务线程开始", current.toString("yyyy-MM-dd HH:mm:ss")); // 获取启动图标 diff --git a/src/main/java/xyz/wbsite/jmacro/wjdr/task/Task_仓库奖励领取.java b/src/main/java/xyz/wbsite/jmacro/wjdr/task/Task_仓库奖励领取.java index 4d378a8..6cace50 100644 --- a/src/main/java/xyz/wbsite/jmacro/wjdr/task/Task_仓库奖励领取.java +++ b/src/main/java/xyz/wbsite/jmacro/wjdr/task/Task_仓库奖励领取.java @@ -13,16 +13,23 @@ public class Task_仓库奖励领取 extends BaseTask { @Override public void task(JMacro macro, ViewRect viewRect) { Logger.info("打开面板"); - boolean 城镇_打开面板 = macro.matchLegendAndClick("城镇_打开面板", 0.6); - if (!城镇_打开面板) { - Logger.error("打开面板失败"); - return; - } - Logger.info("检测关闭按钮"); - ViewRect 城镇_关闭面板 = macro.matchLegend("城镇_关闭面板", 0.6); - if (城镇_关闭面板 == null) { - Logger.error("未检测到面板关闭按钮,中断任务"); - return; + ViewRect[] viewRects = macro.matchLegends(macro.of("城镇_面板1选中", "城镇_面板2选中"), 0.9); + if (viewRects[0] == null && viewRects[1] == null) { + Logger.info("面板未打开"); + Logger.info("检测面板打开按钮,打开面板"); + boolean 城镇_打开面板 = macro.matchLegendAndClick("城镇_打开面板", 0.6); + if (!城镇_打开面板) { + Logger.error("打开面板失败"); + return; + } + Logger.info("检测关闭按钮"); + ViewRect 城镇_关闭面板 = macro.matchLegend("城镇_关闭面板", 0.6); + if (城镇_关闭面板 == null) { + Logger.error("未检测到面板关闭按钮,打开失败"); + return; + } + } else { + Logger.info("面板已打开"); } Logger.info("选中城镇"); @@ -33,19 +40,23 @@ public class Task_仓库奖励领取 extends BaseTask { macro.mouseLeftDrag(macro.of(158, 626), macro.of(163, 231), true); macro.delay(1000); - ViewRect 仓库_补给完成 = macro.matchLegend("仓库_补给完成", 0.9); - if (仓库_补给完成 == null) { + ViewRect[] 补给完成 = macro.matchLegends(macro.of("仓库_补给完成", "仓库_补给完成2"), 0.9); + if (补给完成[0] == null && 补给完成[1] == null) { + Logger.info("未检测到仓库补给完成状态"); Logger.info("关闭面板"); - boolean 关闭面板 = macro.matchLegendAndClick("城镇_关闭面板", 0.6); - if (!关闭面板) { - Logger.error("关闭面板失败"); - } + macro.matchLegendAndClick("城镇_关闭面板", 0.6); + macro.delay(1000); return; } Logger.info("仓库补给完成,去领取"); macro.delay(500); - macro.mouseLeftClick(macro.of(164, 621)); + if (补给完成[0] != null) { + macro.mouseLeftClick(补给完成[0]); + } + if (补给完成[1] != null) { + macro.mouseLeftClick(补给完成[1]); + } macro.delay(1000); Logger.info("点击领取");