自动采集

wjdr
wangbing 1 year ago
parent d365a1fcf8
commit 8b17ee2111

Binary file not shown.

Before

Width:  |  Height:  |  Size: 1.4 KiB

Before

Width:  |  Height:  |  Size: 3.1 KiB

After

Width:  |  Height:  |  Size: 3.1 KiB

Before

Width:  |  Height:  |  Size: 6.5 KiB

After

Width:  |  Height:  |  Size: 6.5 KiB

Before

Width:  |  Height:  |  Size: 5.0 KiB

After

Width:  |  Height:  |  Size: 5.0 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 2.7 KiB

Before

Width:  |  Height:  |  Size: 3.1 KiB

After

Width:  |  Height:  |  Size: 3.1 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 8.4 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 2.3 KiB

Before

Width:  |  Height:  |  Size: 3.3 KiB

After

Width:  |  Height:  |  Size: 3.3 KiB

Before

Width:  |  Height:  |  Size: 6.5 KiB

After

Width:  |  Height:  |  Size: 6.5 KiB

Before

Width:  |  Height:  |  Size: 3.4 KiB

After

Width:  |  Height:  |  Size: 3.4 KiB

Before

Width:  |  Height:  |  Size: 3.4 KiB

After

Width:  |  Height:  |  Size: 3.4 KiB

Before

Width:  |  Height:  |  Size: 2.4 KiB

After

Width:  |  Height:  |  Size: 2.4 KiB

Before

Width:  |  Height:  |  Size: 6.3 KiB

After

Width:  |  Height:  |  Size: 6.3 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 7.1 KiB

Before

Width:  |  Height:  |  Size: 1.3 KiB

After

Width:  |  Height:  |  Size: 1.3 KiB

Before

Width:  |  Height:  |  Size: 3.3 KiB

After

Width:  |  Height:  |  Size: 3.3 KiB

@ -532,9 +532,9 @@ public class JMacro {
String name = file.getName();
int offsetX = 0;
int offsetY = 0;
if (name.matches("L[0-9]+,[0-9]+-[\\S\\s]+")) {
offsetX = Convert.toInt(ReUtil.get("L([0-9]+),[0-9]+-[\\S\\s]+", name, 1), 0);
offsetY = Convert.toInt(ReUtil.get("L[0-9]+,([0-9]+)-[\\S\\s]+", name, 1), 0);
if (name.matches("[\\S\\s]+_L[0-9]+,[0-9]+\\.png")) {
offsetX = Convert.toInt(ReUtil.get("[\\S\\s]+_L([0-9]+),[0-9]+\\.png", name, 1), 0);
offsetY = Convert.toInt(ReUtil.get("[\\S\\s]+_L[0-9]+,([0-9]+)\\.png", name, 1), 0);
}
ScreenRect screenRect = new ScreenRect();
screenRect.setLeft(rect.getLeft() + offsetX);

@ -191,7 +191,8 @@ public class MainTask extends JFrame {
while (true) {
jMacro.delay();
{ // 定位弹框,关闭弹框
ScreenRect rect = jMacro.matchPic(gameScreen, "L454,41-城镇_充值", 0.1d);
Logger.info("检测到广告弹框");
ScreenRect rect = jMacro.matchPic(gameScreen, "城镇_充值_L448,36", 0.8d);
if (rect != null) {
jMacro.mouseLeftClick(rect);
Logger.info("检测到广告弹框,关闭弹框");
@ -200,7 +201,7 @@ public class MainTask extends JFrame {
jMacro.delay();
{ // 定位离线收益弹框,关闭弹框
ScreenRect rect = jMacro.matchPic(gameScreen, "L204,734-城镇_离线收益", 0.9);
ScreenRect rect = jMacro.matchPic(gameScreen, "城镇_离线收益_L204,734", 0.9);
if (rect != null) {
jMacro.mouseLeftClick(rect);
Logger.info("检测到离线收益弹框,关闭弹框");
@ -209,7 +210,7 @@ public class MainTask extends JFrame {
jMacro.delay();
// 定位主程序
ScreenRect rect = jMacro.matchPic(gameScreen, "L444,888-野外", 0.9);
ScreenRect rect = jMacro.matchPic(gameScreen, "野外_L444,888", 0.9);
if (rect != null) {
Logger.info("程序主界面已就绪");
return rect;

@ -19,12 +19,12 @@ public class TaskMining extends BaseTask {
Logger.info("》》》自动采矿开始》》》");
Logger.info("判断是否在野外");
ScreenRect = jMacro.waitAndMatchPic(this.screenRect, "L449,887-城镇", 0.9);
ScreenRect = jMacro.waitAndMatchPic(this.screenRect, "城镇_L449,887", 0.9);
if ( != null) {
Logger.info("当前界面【野外】");
} else {
Logger.info("定位【野外】");
ScreenRect = jMacro.waitAndMatchPic(this.screenRect, "城镇_野外", 0.99);
ScreenRect = jMacro.waitAndMatchPic(this.screenRect, "野外_L449,885", 0.99);
if ( == null) {
Logger.error("定位【野外】失败,采矿终止");
return;
@ -37,7 +37,7 @@ public class TaskMining extends BaseTask {
}
Logger.info("定位资源搜索按钮");
ScreenRect = jMacro.waitAndMatchPic(this.screenRect, "L15,632-野外_搜索", 0.8);
ScreenRect = jMacro.waitAndMatchPic(this.screenRect, "野外_搜索_L15,632", 0.8);
if ( == null) {
Logger.error("未检测到【资源搜索按钮】,采矿终止");
return;
@ -57,13 +57,13 @@ public class TaskMining extends BaseTask {
}
// 检测是否是搜索界面
ScreenRect = jMacro.waitAndMatchPic(this.screenRect, "L233,881-野外_搜索", 0.98);
ScreenRect = jMacro.waitAndMatchPic(this.screenRect, "野外_搜索_L233,881", 0.98);
if ( != null) {
Logger.info("退出资源搜索界面");
jMacro.mouseLeftClick(this.screenRect);
}
ScreenRect 1 = jMacro.waitAndMatchPic(this.screenRect, "L456,887-城镇", 0.9);
ScreenRect 1 = jMacro.waitAndMatchPic(this.screenRect, "城镇_L456,887", 0.9);
if (1 == null) {
Logger.error("未检测到【城镇】,采矿终止");
return;

@ -15,7 +15,7 @@ public class TaskRewards extends BaseTask {
Logger.info("》》》探险奖励领取开始》》》");
Logger.info("定位【探险】按钮");
ScreenRect TAB_ = jMacro.waitAndMatchPic(this.screenRect, "L35,881-TAB_探险", 0.9);
ScreenRect TAB_ = jMacro.waitAndMatchPic(this.screenRect, "TAB_探险_L35,881", 0.9);
if (TAB_ == null) {
return;
}
@ -23,7 +23,7 @@ public class TaskRewards extends BaseTask {
Logger.info("点击【探险】按钮");
jMacro.mouseLeftClick(TAB_);
ScreenRect _ = jMacro.waitAndMatchPic(this.screenRect, "L240,854-探险_按钮", 0.9);
ScreenRect _ = jMacro.waitAndMatchPic(this.screenRect, "探险_按钮_L240,854", 0.9);
if (_ == null) {
Logger.info("进入探险界面失败");
return;
@ -31,28 +31,35 @@ public class TaskRewards extends BaseTask {
Logger.info("进入探险界面成功");
Logger.info("定位领取按钮");
ScreenRect _ = jMacro.waitAndMatchPic(this.screenRect, "L426,667-探险_领取", 0.8);
if (_ == null) {
Logger.error("未检测到【探险_领取】领取终止");
ScreenRect _ = jMacro.waitAndMatchPic(this.screenRect, "探险_不可领取_L420,667", 0.8);
if (_ != null) {
Logger.info("探险不可领取");
return;
}
Logger.info("定位领取按钮成功,准备领取:{}", _.toString());
jMacro.mouseLeftClick(_);
ScreenRect _2 = jMacro.waitAndMatchPic(this.screenRect, "L230,664-探险_领取2", 0.8);
if (_2 == null) {
Logger.error("任务终止");
return;
}
jMacro.mouseLeftClick(_2);
} else {
Logger.info("定位领取按钮");
ScreenRect _ = jMacro.waitAndMatchPic(this.screenRect, "探险_领取_L426,667", 0.8);
if (_ == null) {
Logger.error("未检测到【探险_领取】领取终止");
return;
}
Logger.info("定位领取按钮成功,准备领取:{}", _.toString());
jMacro.mouseLeftClick(_);
ScreenRect _2 = jMacro.waitAndMatchPic(this.screenRect, "探险_领取2_L230,664", 0.8);
if (_2 == null) {
Logger.error("任务终止");
return;
}
jMacro.mouseLeftClick(_2);
ScreenRect _ = jMacro.waitAndMatchPic(this.screenRect, "L196,218-探险_获得奖励", 0.8);
if (_ == null) {
Logger.error("任务终止");
return;
ScreenRect _ = jMacro.waitAndMatchPic(this.screenRect, "探险_获得奖励_L196,218", 0.8);
if (_ == null) {
Logger.error("任务终止");
return;
}
jMacro.mouseLeftClick(_);
}
jMacro.mouseLeftClick(_);
ScreenRect _ = jMacro.waitAndMatchPic(this.screenRect, "L4,4-探险_返回", 0.8);
ScreenRect _ = jMacro.waitAndMatchPic(this.screenRect, "探险_返回_L4,4", 0.8);
if (_ == null) {
Logger.error("任务终止");
return;

@ -6,13 +6,7 @@ import cn.hutool.log.StaticLog;
import javax.swing.*;
import javax.swing.filechooser.FileNameExtensionFilter;
import java.awt.*;
import java.awt.event.KeyAdapter;
import java.awt.event.KeyEvent;
import java.awt.event.MouseAdapter;
import java.awt.event.MouseEvent;
import java.awt.event.MouseMotionAdapter;
import java.awt.event.WindowAdapter;
import java.awt.event.WindowEvent;
import java.awt.event.*;
import java.awt.image.BufferedImage;
import java.io.File;
import java.util.prefs.Preferences;
@ -193,8 +187,8 @@ public class Capture extends JFrame {
// 上一次保存目录
String lastPath = preferences.get(LAST_PATH, "");
// 默认文件名
String prefix = "L" + (getCaptureX() - originX) + "," + (getCaptureY() - originY) + "-";
String filename = prefix + System.currentTimeMillis() + ".png";
String location = "_L" + (getCaptureX() - originX) + "," + (getCaptureY() - originY);
String filename = System.currentTimeMillis() + location + ".png";
JFileChooser jFileChooser = new JFileChooser();
jFileChooser.setFileFilter(new FileNameExtensionFilter("png", "png"));
@ -206,7 +200,7 @@ public class Capture extends JFrame {
// 默认文件
File file = jFileChooser.getSelectedFile();
// 修正坐标
filename = prefix + file.getName().replaceAll("L[0-9]+,[0-9]+-", "");
filename = file.getName().replaceAll("(_L[0-9]+,[0-9]+)?.png", "") + location + ".png";
file = new File(file.getParent(), filename);
Logger.info("保存路径" + file);

Loading…
Cancel
Save

Powered by TurnKey Linux.