diff --git a/README.md b/README.md index 87d1776..a82efdb 100644 --- a/README.md +++ b/README.md @@ -1,4 +1,4 @@ -目前已开通项目网站,请访问[此地址](https://academicdog.github.io/onmyoji_bot/)获取最新信息。 +**目前已开通项目网站,请访问[此地址](https://academicdog.github.io/onmyoji_bot/)获取最新信息。** ![avatar](https://raw.githubusercontent.com/AcademicDog/myresource/master/usage.png) @@ -25,8 +25,6 @@ 7、该脚本仅使用了画面找色,鼠标后台点击的函数,完全模拟人类玩家行为,没有使用任何内存读写函数。在敏感位置添加了均匀分布的随机时间漂移,和随机坐标漂移; -# 目前进展 -目前已经完成了御魂的单刷、单人司机和单人打手、单人探索的工作,其他工作待完成。 # 注意事项 1、点怪目前不可用,因为有的模型太大,挡住了点怪图标; @@ -39,28 +37,8 @@ 5、请关闭模型描边。 -# 使用方法 +6、如果不想安装运行环境,可以访问下载最新已[编译](https://github.com/AcademicDog/onmyoji_bot/releases)版本,该版本有图形界面,同时注意.exe文件和/img文件夹应该放在同一目录后再运行。 -第一步,准备yys - -1、如果御魂单刷,则进入御魂/业原火/御灵主界面(就是有“挑战”按钮的页面),备好式神,锁定阵容; - -2、如果单人司机御魂,则进入组队页面,锁定阵容; - -3、如果单人打手御魂,则进入组队页面,锁定阵容; - -4、如果单人探索,则进入需要的章节主界面(就是有“探索”按钮的页面),备好式神,锁定阵容; - -第二步,开打 - -1、双击运行run.bat,会弹出设置界面,点击确认后再根据个人情况选择参数; - -2、如果不想安装环境,可以访问下载最新已[编译](https://github.com/AcademicDog/onmyoji_bot/releases)版本,该版本有图形界面,同时注意.exe文件和/img文件夹应该放在同一目录后再运行。 - -# 下一步计划 -1、更新探索部分; - -2、完善点怪操作; # 更新说明 v1.0.0.0619--抛弃dll插件,用win32api,同时用图像识别替代简单找色。 @@ -85,6 +63,8 @@ v1.0.0.0724--优化了探索代码。 v1.0.0.0728--根据[#6](https://github.com/AcademicDog/onmyoji_bot/issues/6),优化了满级狗粮识别代码。 +v1.0.0.0804--增加了探索完成后打BOSS的代码。 + # 协议 (License) 该源代码使用了 [GPLv3](https://www.gnu.org/licenses/gpl-3.0.html) 开源协议。 diff --git a/explore.py b/explore.py index 2833b93..a704a07 100644 --- a/explore.py +++ b/explore.py @@ -84,6 +84,21 @@ def find_exp_moster(self): fight_pos = ((find_pos[0]+exp_pos[0]-150),(find_pos[1]+exp_pos[1]-250)) return fight_pos + def find_boss(self): + ''' + 寻找BOSS + :return: 成功返回BOSS的攻打图标位置;失败返回-1 + ''' + # 查找BOSS攻打图标位置 + find_pos = self.yys.find_game_img( + 'img\\BOSS.png', 1, (2, 205), (1127, 545)) + if not find_pos: + return -1 + + # 返回BOSS攻打图标位置 + fight_pos = ((find_pos[0]+2), (find_pos[1]+205)) + return fight_pos + def fight_moster(self, mood1, mood2): ''' 打经验怪 @@ -95,13 +110,15 @@ def fight_moster(self, mood1, mood2): self.yys.wait_game_img('img\\YING-BING.png') self.log.writeinfo('In tan-suo field') - # 寻找经验怪,未找到则退出 + # 寻找经验怪,未找到则寻找boss,再未找到则退出 fight_pos = self.find_exp_moster() if fight_pos == -1: - self.log.writeinfo('Exp moster not found') - return False + fight_pos = self.find_boss() + if fight_pos == -1: + self.log.writeinfo('Monster not found') + return False - # 攻击经验怪 + # 攻击怪 self.yys.mouse_click_bg(fight_pos) if not self.yys.wait_game_img('img\\ZHUN-BEI.png', 3, False): break diff --git a/game_ctl.py b/game_ctl.py index d979b84..6c271c0 100644 --- a/game_ctl.py +++ b/game_ctl.py @@ -328,7 +328,7 @@ def find_game_img(self, img_path, part=0, pos1=None, pos2=None, gray=0): :param pos1=None: 欲查找范围的左上角坐标 :param pos2=None: 欲查找范围的右下角坐标 :param gray=0: 是否查找黑白图片,0:查找彩色图片,1:查找黑白图片 - :return: 查找成功返回True,否则返回False + :return: 查找成功返回位置坐标,否则返回False ''' self.rejectbounty() maxVal, maxLoc = self.find_img(img_path, part, pos1, pos2, gray) diff --git a/img/BOSS.png b/img/BOSS.png new file mode 100644 index 0000000..c8cccbc Binary files /dev/null and b/img/BOSS.png differ