From 4f153867ed82109a35510c30f23f64fd401b8d66 Mon Sep 17 00:00:00 2001 From: wangbing Date: Wed, 4 Sep 2024 22:39:12 +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 --- legend/城镇_礼包#L441,72.png | Bin 898 -> 0 bytes .../com/example/jmacro/wjdr/util/ImageUtil.java | 4 ++-- .../example/jmacro/wjdr/wjdr/MacroForWJDR.java | 9 ++++++--- .../jmacro/wjdr/wjdr/task/Task_自动采矿.java | 3 ++- 4 files changed, 10 insertions(+), 6 deletions(-) delete mode 100644 legend/城镇_礼包#L441,72.png diff --git a/legend/城镇_礼包#L441,72.png b/legend/城镇_礼包#L441,72.png deleted file mode 100644 index 2ffd12a0fcd6d40a267ae3cd8e01139b164b3e61..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 898 zcmV-|1AY97P)Ja~qquuv^e4`R3##=YH}%&-0w;N+(|Tu(zm= z0_%s|@XaEp(x~Y)(+go<^9=CP;ZxMS;i0MK5^if>M$NT-G>ZM9!)MrSwBsHaVP#z= z4NU$SMmkt}l45Hc!?&lAlPYNe%xcWPjIptsgJlkE$J%Iqr<-O0J0(`L`5e1TY`88B z6I_dCjA)^XMJlpg;O69i1I^s?JejY`|_gPg8X#7V}y1itDKF^fDKT zqWp6{8koq}uAs956b0rm~d-7e{Hm9p?AdB=OXL z1Kvxhj4rEKyni4$PYhCD-HW08G*6c|vDf9rIkL#FYpESM);cE?SGgL9bL6ubo_gz| zfWF(0(|U#asvZobP97_?k$?7czPP(iEV(^YtHC$HB&Lsj?5g~LJq8<+tELyHko|ZU zC8lPcKjgsP^CiCp*L92bfK#CfajUmGuJOoz3nr5jNqf(>V;3lV)xpaZE?Ne^CJ@>g z@ZX&=6$n!4?&Uc{9g;Ssib@?6SlqOGM_7tPbM{~^$CGnmYT7j@pG{rWO@meLOeugYnL0x1j~V?17bl6(Q(XRwlIY31m^&wRHKf9P}m Y8w(>K7nK*Cr2qf`07*qoM6N<$f?Z#&djJ3c diff --git a/src/main/java/com/example/jmacro/wjdr/util/ImageUtil.java b/src/main/java/com/example/jmacro/wjdr/util/ImageUtil.java index 7f79160..7e941e5 100644 --- a/src/main/java/com/example/jmacro/wjdr/util/ImageUtil.java +++ b/src/main/java/com/example/jmacro/wjdr/util/ImageUtil.java @@ -115,7 +115,7 @@ public class ImageUtil { * * @param rect 区域 */ - public static void show(ViewRect rect) { + public synchronized static void show(ViewRect rect) { Robot robot = JMainService.getInstance().getMacro().getRobot(); BufferedImage screenCapture = robot.createScreenCapture(new Rectangle(rect.getLeft(), rect.getTop(), rect.getWidth(), rect.getHeight())); show(screenCapture); @@ -126,7 +126,7 @@ public class ImageUtil { * * @param image 图片 */ - public static void show(BufferedImage image) { + public synchronized static void show(BufferedImage image) { int viewSize = 100; Image showImage = image; // 图片太大时进行缩放显示 diff --git a/src/main/java/com/example/jmacro/wjdr/wjdr/MacroForWJDR.java b/src/main/java/com/example/jmacro/wjdr/wjdr/MacroForWJDR.java index 59149d4..3fd56a1 100644 --- a/src/main/java/com/example/jmacro/wjdr/wjdr/MacroForWJDR.java +++ b/src/main/java/com/example/jmacro/wjdr/wjdr/MacroForWJDR.java @@ -10,6 +10,9 @@ import com.example.jmacro.wjdr.util.Logger; import com.example.jmacro.wjdr.util.TaskUtil; import com.example.jmacro.wjdr.wjdr.task.*; +import java.util.concurrent.Callable; +import java.util.concurrent.TimeUnit; + /** * 无尽冬日脚本 * @@ -72,10 +75,10 @@ public class MacroForWJDR extends JMacro { Logger.info("定位城镇"); // 定位城镇 - Boolean inMain = TaskUtil.retryTask(() -> { + Boolean inMain = TaskUtil.timeTask(() -> { { // 定位弹框,关闭弹框 delayUnstable(); - ViewRect rect = findLegend("城镇_礼包", 0.7); + ViewRect rect = findLegend(of(437, 28, 491, 106), "城镇_礼包", 0.7); if (rect != null) { mouseLeftClick(rect); Logger.info("检测到充值广告弹框,关闭弹框"); @@ -109,7 +112,7 @@ public class MacroForWJDR extends JMacro { } } return false; - }, 10, 1000); + }, 60, TimeUnit.SECONDS); if (!Convert.toBool(inMain, false)) { Logger.info("未进入城镇:退出线程"); diff --git a/src/main/java/com/example/jmacro/wjdr/wjdr/task/Task_自动采矿.java b/src/main/java/com/example/jmacro/wjdr/wjdr/task/Task_自动采矿.java index 5562b9c..724deec 100644 --- a/src/main/java/com/example/jmacro/wjdr/wjdr/task/Task_自动采矿.java +++ b/src/main/java/com/example/jmacro/wjdr/wjdr/task/Task_自动采矿.java @@ -55,7 +55,7 @@ public class Task_自动采矿 extends BaseTask { }; for (String type : types) { Logger.info("搜索资源【{}】", type); - boolean collect = collect(type, 4); + boolean collect = collect(type, 3); if (collect) { // 中断采集 break; } @@ -131,6 +131,7 @@ public class Task_自动采矿 extends BaseTask { if (viewRects[0] != null) { Logger.info("出征"); macro.mouseLeftClick(viewRects[0]); + return true; } if (viewRects[1] != null) { Logger.info("队列已满,取消采集");