|
|
@ -7,6 +7,7 @@ import cn.hutool.core.util.RandomUtil;
|
|
|
|
import com.example.jmacro.wjdr.base.ScreenRect;
|
|
|
|
import com.example.jmacro.wjdr.base.ScreenRect;
|
|
|
|
import com.example.jmacro.wjdr.task.TaskMineAttack;
|
|
|
|
import com.example.jmacro.wjdr.task.TaskMineAttack;
|
|
|
|
import com.example.jmacro.wjdr.task.TaskMining;
|
|
|
|
import com.example.jmacro.wjdr.task.TaskMining;
|
|
|
|
|
|
|
|
import com.example.jmacro.wjdr.task.TaskRewards;
|
|
|
|
import com.example.jmacro.wjdr.util.Capture;
|
|
|
|
import com.example.jmacro.wjdr.util.Capture;
|
|
|
|
import com.example.jmacro.wjdr.util.Logger;
|
|
|
|
import com.example.jmacro.wjdr.util.Logger;
|
|
|
|
import com.example.jmacro.wjdr.util.TaskUtil;
|
|
|
|
import com.example.jmacro.wjdr.util.TaskUtil;
|
|
|
@ -58,11 +59,11 @@ public class MainTask extends JFrame {
|
|
|
|
|
|
|
|
|
|
|
|
public void start() throws AWTException {
|
|
|
|
public void start() throws AWTException {
|
|
|
|
// 加载主题
|
|
|
|
// 加载主题
|
|
|
|
try {
|
|
|
|
// try {
|
|
|
|
org.jb2011.lnf.beautyeye.BeautyEyeLNFHelper.launchBeautyEyeLNF();
|
|
|
|
// org.jb2011.lnf.beautyeye.BeautyEyeLNFHelper.launchBeautyEyeLNF();
|
|
|
|
} catch (Exception e) {
|
|
|
|
// } catch (Exception e) {
|
|
|
|
e.printStackTrace();
|
|
|
|
// e.printStackTrace();
|
|
|
|
}
|
|
|
|
// }
|
|
|
|
// 设置标题
|
|
|
|
// 设置标题
|
|
|
|
setTitle("无限工具");
|
|
|
|
setTitle("无限工具");
|
|
|
|
// 设置图标
|
|
|
|
// 设置图标
|
|
|
@ -155,6 +156,10 @@ public class MainTask extends JFrame {
|
|
|
|
|
|
|
|
|
|
|
|
public MacroThread(JMacro jMacro) {
|
|
|
|
public MacroThread(JMacro jMacro) {
|
|
|
|
super(jMacro);
|
|
|
|
super(jMacro);
|
|
|
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
@Override
|
|
|
|
|
|
|
|
public void run() {
|
|
|
|
// 定位mumu bar
|
|
|
|
// 定位mumu bar
|
|
|
|
Logger.info("定位慕慕窗口");
|
|
|
|
Logger.info("定位慕慕窗口");
|
|
|
|
ScreenRect mumu = jMacro.findPic("慕慕_工具栏", 0.95d);
|
|
|
|
ScreenRect mumu = jMacro.findPic("慕慕_工具栏", 0.95d);
|
|
|
@ -170,10 +175,6 @@ public class MainTask extends JFrame {
|
|
|
|
gameScreen.setBottom(mumu.getBottom() + 951);
|
|
|
|
gameScreen.setBottom(mumu.getBottom() + 951);
|
|
|
|
Logger.info("应用窗口位置:" + gameScreen.toString());
|
|
|
|
Logger.info("应用窗口位置:" + gameScreen.toString());
|
|
|
|
Logger.info("应用窗口大小:{}x{}", gameScreen.getRight() - gameScreen.getLeft(), gameScreen.getBottom() - gameScreen.getTop());
|
|
|
|
Logger.info("应用窗口大小:{}x{}", gameScreen.getRight() - gameScreen.getLeft(), gameScreen.getBottom() - gameScreen.getTop());
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
@Override
|
|
|
|
|
|
|
|
public void run() {
|
|
|
|
|
|
|
|
// 获取启动图标
|
|
|
|
// 获取启动图标
|
|
|
|
Logger.info("定位启动图标");
|
|
|
|
Logger.info("定位启动图标");
|
|
|
|
ScreenRect launch = jMacro.waitAndFindPic(gameScreen, "启动图标", 0.8);
|
|
|
|
ScreenRect launch = jMacro.waitAndFindPic(gameScreen, "启动图标", 0.8);
|
|
|
@ -190,7 +191,7 @@ public class MainTask extends JFrame {
|
|
|
|
while (true) {
|
|
|
|
while (true) {
|
|
|
|
jMacro.delay();
|
|
|
|
jMacro.delay();
|
|
|
|
{ // 定位弹框,关闭弹框
|
|
|
|
{ // 定位弹框,关闭弹框
|
|
|
|
ScreenRect rect = jMacro.findPic(gameScreen, "首页_广告关闭按钮", 0.95d);
|
|
|
|
ScreenRect rect = jMacro.matchPic(gameScreen, "L454,41-城镇_充值", 0.1d);
|
|
|
|
if (rect != null) {
|
|
|
|
if (rect != null) {
|
|
|
|
jMacro.mouseLeftClick(rect);
|
|
|
|
jMacro.mouseLeftClick(rect);
|
|
|
|
Logger.info("检测到广告弹框,关闭弹框");
|
|
|
|
Logger.info("检测到广告弹框,关闭弹框");
|
|
|
@ -199,7 +200,7 @@ public class MainTask extends JFrame {
|
|
|
|
|
|
|
|
|
|
|
|
jMacro.delay();
|
|
|
|
jMacro.delay();
|
|
|
|
{ // 定位离线收益弹框,关闭弹框
|
|
|
|
{ // 定位离线收益弹框,关闭弹框
|
|
|
|
ScreenRect rect = jMacro.matchPic(gameScreen, new File("legend", "L204,734-城镇_离线收益.png"), 0.9);
|
|
|
|
ScreenRect rect = jMacro.matchPic(gameScreen, "L204,734-城镇_离线收益", 0.9);
|
|
|
|
if (rect != null) {
|
|
|
|
if (rect != null) {
|
|
|
|
jMacro.mouseLeftClick(rect);
|
|
|
|
jMacro.mouseLeftClick(rect);
|
|
|
|
Logger.info("检测到离线收益弹框,关闭弹框");
|
|
|
|
Logger.info("检测到离线收益弹框,关闭弹框");
|
|
|
@ -208,13 +209,13 @@ public class MainTask extends JFrame {
|
|
|
|
|
|
|
|
|
|
|
|
jMacro.delay();
|
|
|
|
jMacro.delay();
|
|
|
|
// 定位主程序
|
|
|
|
// 定位主程序
|
|
|
|
ScreenRect rect = jMacro.matchPic(gameScreen, new File("legend", "L444,888-野外.png"), 0.9);
|
|
|
|
ScreenRect rect = jMacro.matchPic(gameScreen, "L444,888-野外", 0.9);
|
|
|
|
if (rect != null) {
|
|
|
|
if (rect != null) {
|
|
|
|
Logger.info("程序主界面已就绪");
|
|
|
|
Logger.info("程序主界面已就绪");
|
|
|
|
return rect;
|
|
|
|
return rect;
|
|
|
|
}
|
|
|
|
}
|
|
|
|
}
|
|
|
|
}
|
|
|
|
}, 30 * 1000, TimeUnit.MILLISECONDS);
|
|
|
|
}, 30, TimeUnit.SECONDS);
|
|
|
|
|
|
|
|
|
|
|
|
if (城镇 == null) {
|
|
|
|
if (城镇 == null) {
|
|
|
|
schedule.cancel(true);
|
|
|
|
schedule.cancel(true);
|
|
|
@ -234,6 +235,10 @@ public class MainTask extends JFrame {
|
|
|
|
jMacro.delayNormal();
|
|
|
|
jMacro.delayNormal();
|
|
|
|
new TaskMineAttack(jMacro, gameScreen).run();
|
|
|
|
new TaskMineAttack(jMacro, gameScreen).run();
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
// 矿场攻击检测任务
|
|
|
|
|
|
|
|
jMacro.delayNormal();
|
|
|
|
|
|
|
|
new TaskRewards(jMacro, gameScreen).run();
|
|
|
|
|
|
|
|
|
|
|
|
// 自动采矿任务
|
|
|
|
// 自动采矿任务
|
|
|
|
jMacro.delayNormal();
|
|
|
|
jMacro.delayNormal();
|
|
|
|
new TaskMining(jMacro, gameScreen).run();
|
|
|
|
new TaskMining(jMacro, gameScreen).run();
|
|
|
|