chenzhiron / AutoStzb

率土之滨辅助
13 stars 6 forks source link

找到了一些bug #1

Closed EchoSixHIYA closed 10 months ago

EchoSixHIYA commented 11 months ago

识别扫荡按钮的时候的截图窗口可以调大点,有时候地的选项多会截不到扫荡

然后还是识别扫荡按钮那个函数里面的autotxt参数会变成int型的1导致识别失败,可以临时用写死的方案修正。

作者大大加油。

chenzhiron commented 11 months ago

识图点击这些模块这2天整合优化,识图扫荡按钮来优化

chenzhiron commented 11 months ago

能否提供一份基于夜神模拟器,分辨率1280*720,率土之滨官方版本安装,打开后的登录首页图,目前遇到l了相同分辨率,相同官方版本,但是展示的位置不同问题 Snipaste_2023-10-31_09-29-35

EchoSixHIYA commented 11 months ago

能否提供一份基于夜神模拟器,分辨率1280*720,率土之滨官方版本安装,打开后的登录首页图,目前遇到l了相同分辨率,相同官方版本,但是展示的位置不同问题 Snipaste_2023-10-31_09-29-35

你好,请问需要哪些页面。

EchoSixHIYA commented 11 months ago

登陆页面已上传如下。Screenshot_20231031-133108

chenzhiron commented 11 months ago

谢谢,我这边有2台台式,1台笔记本,均使用 夜神模拟器,官方最新版本,分辨率 1280*720,有一台展示的左右间隔为我上面发的那张图,其他的设备展示的页面跟你一样,我猜官方偷懒了,适配有问题

EchoSixHIYA commented 11 months ago

谢谢,我这边有2台台式,1台笔记本,均使用 夜神模拟器,官方最新版本,分辨率 1280*720,有一台展示的左右间隔为我上面发的那张图,其他的设备展示的页面跟你一样,我猜官方偷懒了,适配有问题

是的,我手机上有时候位置也会不一致。

EchoSixHIYA commented 11 months ago

还有一些bug和建议(一些bug可能是我电脑的原因):

  1. 可以在点击操作之间再增加一些短暂的延时,这样可以避免一些低配置模拟器卡顿导致的操作偏移
  2. 使用另一个模拟器端口时,尝试修改config.const中的端口,automation3.args_in["device_serial"]的端口不会同步,导致截图方案启动报错。可以在main入口第一行添加如下代码实现同步: automation3.args_in["device_serial"] = '127.0.0.1:' + str(operate_port)
  3. 战斗完成阅读战报时,程序会打开第二个战报获取结果而非第一个
  4. 阅读战报后会卡住,需要手动退出战报页面
  5. 征兵功能在拖动进度条后不会点击“确认征兵”
chenzhiron commented 11 months ago

问题2:是需要修改 config.const文件下的 operate_port 值 问题3:可能是延迟问题,战报出现有个动画,可能在动画跳动期间,点击了战报 问题4:晚上修复 问题5:暂不明确,晚上看看

chenzhiron commented 11 months ago

已修复345,

EchoSixHIYA commented 11 months ago

已修复345,

哇效率好高 🐂🍺🐃🍺🐄🍺

chenzhiron commented 11 months ago

已修复345,

哇效率好高 🐂🍺🐃🍺🐄🍺

有无什么新功能想法吗?

EchoSixHIYA commented 11 months ago

已修复345,

哇效率好高 🐂🍺🐃🍺🐄🍺

有无什么新功能想法吗?

这几天在忙上课和开会呢,论将都好几天没点😂

chenzhiron commented 11 months ago

已修复345,

哇效率好高 🐂🍺🐃🍺🐄🍺

有无什么新功能想法吗?

这几天在忙上课和开会呢,论将都好几天没点😂

我准备再搞个基于坐标 出征队伍的功能,地图自动识别后扫荡和出征的功能目前我没法做

EchoSixHIYA commented 11 months ago

已修复345,

哇效率好高 🐂🍺🐃🍺🐄🍺

有无什么新功能想法吗?

这几天在忙上课和开会呢,论将都好几天没点😂

我准备再搞个基于坐标 出征队伍的功能,地图自动识别后扫荡和出征的功能目前我没法做

地图识别太麻烦了,还占性能。那样子倒不如直接抓网络数据来得方便。

chenzhiron commented 11 months ago

已修复345,

哇效率好高 🐂🍺🐃🍺🐄🍺

有无什么新功能想法吗?

这几天在忙上课和开会呢,论将都好几天没点😂

我准备再搞个基于坐标 出征队伍的功能,地图自动识别后扫荡和出征的功能目前我没法做

地图识别太麻烦了,还占性能。那样子倒不如直接抓网络数据来得方便。

这个数据不会抓,要是能抓就比较舒服了。能抓就变成了算法问题,就变成最短路径问题了。

EchoSixHIYA commented 11 months ago

对的,我之前就在想这个,能抓到数据就可以直接套类似算法题了,比如这个https://leetcode.cn/problems/minimum-path-sum/

chenzhiron commented 11 months ago

后面研究一下,我先暂时把能用的先做出来,熬不了夜了

EchoSixHIYA commented 11 months ago

后面研究一下,我先暂时把能用的先做出来,熬不了夜了

老哥辛苦🌹((❤️⥎❤️))🌹

EchoSixHIYA commented 10 months ago

目前又发现个bug:

1.扫地如果没有掉血导致征兵时全部显示已满。这时虽然会退出,但是退出来就卡住了,可能是没有为这种情况设置一个短的等待时间导致的。

chenzhiron commented 10 months ago

目前又发现个bug:

1.扫地如果没有掉血导致征兵时全部显示已满。这时虽然会退出,但是退出来就卡住了,可能是没有为这种情况设置一个短的等待时间导致的。

退出卡住是指哪个位置卡住,有没有截图提供一下

EchoSixHIYA commented 10 months ago

目前又发现个bug:

1.扫地如果没有掉血导致征兵时全部显示已满。这时虽然会退出,但是退出来就卡住了,可能是没有为这种情况设置一个短的等待时间导致的。

退出卡住是指哪个位置卡住,有没有截图提供一下

退到大地图后就直接不动了。

chenzhiron commented 10 months ago

扫荡次数是设置了多少

EchoSixHIYA commented 10 months ago

扫荡次数是设置了多少

3

chenzhiron commented 10 months ago

控制台有没有打印什么

EchoSixHIYA commented 10 months ago

控制台有没有打印什么

等我复现一下。

EchoSixHIYA commented 10 months ago

控制台有没有打印什么

以下是自检测征兵已满后的控制台输出

[[[[[13.0, 17.0], [117.0, 19.0], [117.0, 36.0], [13.0, 35.0]], ('证兵已满', 0.9388681054115295)]]]
result    证兵已满 ------ check_txt     ['确认证兵', '证兵已满']
>>> Screen rotation: 0
>>> bmp generated.
Bitmap generated with resolution 1280:720, process id 3211 | thread id 3223
Bitmap final dimens : 1280|720
[2023/11/09 12:13:22] ppocr DEBUG: dt_boxes num : 1, elapsed : 0.08961367607116699
[2023/11/09 12:13:22] ppocr DEBUG: rec_res num  : 1, elapsed : 0.1926898956298828
[[[[[5.0, 10.0], [84.0, 12.0], [83.0, 33.0], [4.0, 31.0]], ('已达上限', 0.9985496997833252)]]]
>>> Screen rotation: 0
>>> bmp generated.
Bitmap generated with resolution 1280:720, process id 3211 | thread id 3223
Bitmap final dimens : 1280|720
[2023/11/09 12:13:23] ppocr DEBUG: dt_boxes num : 0, elapsed : 0.043169498443603516
[2023/11/09 12:13:23] ppocr DEBUG: rec_res num  : 0, elapsed : 0.0
[None]
>>> Screen rotation: 0
>>> bmp generated.
Bitmap generated with resolution 1280:720, process id 3211 | thread id 3223
Bitmap final dimens : 1280|720
[2023/11/09 12:13:23] ppocr DEBUG: dt_boxes num : 0, elapsed : 0.03621554374694824
[2023/11/09 12:13:23] ppocr DEBUG: rec_res num  : 0, elapsed : 0.0
[None]
>>> Screen rotation: 0
>>> bmp generated.
Bitmap generated with resolution 1280:720, process id 3211 | thread id 3223
Bitmap final dimens : 1280|720
[2023/11/09 12:13:24] ppocr DEBUG: dt_boxes num : 0, elapsed : 0.041380882263183594
[2023/11/09 12:13:24] ppocr DEBUG: rec_res num  : 0, elapsed : 0.0
[None]
>>> Screen rotation: 0
>>> bmp generated.
Bitmap generated with resolution 1280:720, process id 3211 | thread id 3223
Bitmap final dimens : 1280|720
[2023/11/09 12:13:25] ppocr DEBUG: dt_boxes num : 1, elapsed : 0.08183073997497559
[2023/11/09 12:13:25] ppocr DEBUG: rec_res num  : 1, elapsed : 0.23204541206359863
[[[[[18.0, 13.0], [61.0, 13.0], [61.0, 30.0], [18.0, 30.0]], ('招募', 0.9997289180755615)]]]
{'code': 4096, 'alias': None, 'job_id': '扫荡1', 'jobstore': 'default', 'scheduled_run_time': datetime.datetime(2023, 11, 9, 12, 13, 13, tzinfo=zoneinfo.ZoneInfo(key='Asia/Shanghai')), 'retval': {'type': 1, 'times': 0, 'lists': 1, 'args': ((),)}, 'exception': None, 'traceback': None}
[<function handle_in_lists_action at 0x0000025D26304550>, <function handle_in_battle_result at 0x0000025D263045E0>, <function handle_in_map_conscription at 0x0000025D26304430>, <function handle_in_lists_action at 0x0000025D26304550>, <function handle_in_battle_result at 0x0000025D263045E0>, <function handle_in_map_conscription at 0x0000025D26304430>]

然后就卡住了。

chenzhiron commented 10 months ago

控制台有没有打印什么

以下是自检测征兵已满后的控制台输出

[[[[[13.0, 17.0], [117.0, 19.0], [117.0, 36.0], [13.0, 35.0]], ('证兵已满', 0.9388681054115295)]]]
result    证兵已满 ------ check_txt     ['确认证兵', '证兵已满']
>>> Screen rotation: 0
>>> bmp generated.
Bitmap generated with resolution 1280:720, process id 3211 | thread id 3223
Bitmap final dimens : 1280|720
[2023/11/09 12:13:22] ppocr DEBUG: dt_boxes num : 1, elapsed : 0.08961367607116699
[2023/11/09 12:13:22] ppocr DEBUG: rec_res num  : 1, elapsed : 0.1926898956298828
[[[[[5.0, 10.0], [84.0, 12.0], [83.0, 33.0], [4.0, 31.0]], ('已达上限', 0.9985496997833252)]]]
>>> Screen rotation: 0
>>> bmp generated.
Bitmap generated with resolution 1280:720, process id 3211 | thread id 3223
Bitmap final dimens : 1280|720
[2023/11/09 12:13:23] ppocr DEBUG: dt_boxes num : 0, elapsed : 0.043169498443603516
[2023/11/09 12:13:23] ppocr DEBUG: rec_res num  : 0, elapsed : 0.0
[None]
>>> Screen rotation: 0
>>> bmp generated.
Bitmap generated with resolution 1280:720, process id 3211 | thread id 3223
Bitmap final dimens : 1280|720
[2023/11/09 12:13:23] ppocr DEBUG: dt_boxes num : 0, elapsed : 0.03621554374694824
[2023/11/09 12:13:23] ppocr DEBUG: rec_res num  : 0, elapsed : 0.0
[None]
>>> Screen rotation: 0
>>> bmp generated.
Bitmap generated with resolution 1280:720, process id 3211 | thread id 3223
Bitmap final dimens : 1280|720
[2023/11/09 12:13:24] ppocr DEBUG: dt_boxes num : 0, elapsed : 0.041380882263183594
[2023/11/09 12:13:24] ppocr DEBUG: rec_res num  : 0, elapsed : 0.0
[None]
>>> Screen rotation: 0
>>> bmp generated.
Bitmap generated with resolution 1280:720, process id 3211 | thread id 3223
Bitmap final dimens : 1280|720
[2023/11/09 12:13:25] ppocr DEBUG: dt_boxes num : 1, elapsed : 0.08183073997497559
[2023/11/09 12:13:25] ppocr DEBUG: rec_res num  : 1, elapsed : 0.23204541206359863
[[[[[18.0, 13.0], [61.0, 13.0], [61.0, 30.0], [18.0, 30.0]], ('招募', 0.9997289180755615)]]]
{'code': 4096, 'alias': None, 'job_id': '扫荡1', 'jobstore': 'default', 'scheduled_run_time': datetime.datetime(2023, 11, 9, 12, 13, 13, tzinfo=zoneinfo.ZoneInfo(key='Asia/Shanghai')), 'retval': {'type': 1, 'times': 0, 'lists': 1, 'args': ((),)}, 'exception': None, 'traceback': None}
[<function handle_in_lists_action at 0x0000025D26304550>, <function handle_in_battle_result at 0x0000025D263045E0>, <function handle_in_map_conscription at 0x0000025D26304430>, <function handle_in_lists_action at 0x0000025D26304550>, <function handle_in_battle_result at 0x0000025D263045E0>, <function handle_in_map_conscription at 0x0000025D26304430>]

然后就卡住了。

好的,收到

chenzhiron commented 10 months ago

{'code': 4096, 'alias': None, 'job_id': '扫荡1', 'jobstore': 'default', 'scheduled_run_time': datetime.datetime(2023, 11, 9, 12, 13, 13, tzinfo=zoneinfo.ZoneInfo(key='Asia/Shanghai')), 'retval': {'type': 1, 'times': 0, 'lists': 1, 'args': ((),)}, 'exception': None, 'traceback': None} [<function handle_in_lists_action at 0x0000025D26304550>, <function handle_in_battle_result at 0x0000025D263045E0>, <function handle_in_map_conscription at 0x0000025D26304430>, <function handle_in_lists_action at 0x0000025D26304550>, <function handle_in_battle_result at 0x0000025D263045E0>, <function handle_in_map_conscription at 0x0000025D26304430>]

修改一下 dispatcher/main 第80行代码, next_time = result['times'] + 1 ,最后面添加 +1

chenzhiron commented 10 months ago

我的代理暂时push不上去

EchoSixHIYA commented 10 months ago

挂了一个下午,大的流程没问题了,但是有时候读战报的时候还是会点到第二个。

chenzhiron commented 10 months ago

挂了一个下午,大的流程没问题了,但是有时候读战报的时候还是会点到第二个。

晚点查一查,目前没时间开发新东西,后面找个时间把web重写一下,现在看起来太烂了,

EchoSixHIYA commented 10 months ago

挂了一个下午,大的流程没问题了,但是有时候读战报的时候还是会点到第二个。

晚点查一查,目前没时间开发新东西,后面找个时间把web重写一下,现在看起来太烂了,

web用gpt写会快点,之前我做的东西页面大都是用那玩意写的。

chenzhiron commented 10 months ago

这个库太冷门了

挂了一个下午,大的流程没问题了,但是有时候读战报的时候还是会点到第二个。

晚点查一查,目前没时间开发新东西,后面找个时间把web重写一下,现在看起来太烂了,

web用gpt写会快点,之前我做的东西页面大都是用那玩意写的。 这个库有点冷,得查文档写,很烦

chenzhiron commented 10 months ago

还有个取消任务的问题,暂时没头绪

EchoSixHIYA commented 10 months ago

还有个取消任务的问题,暂时没头绪

😂结束任务我一般是直接关了。 web的话以前那个项目我用的是flask服务器,页面套的layui。

chenzhiron commented 10 months ago

挂了一个下午,大的流程没问题了,但是有时候读战报的时候还是会点到第二个。

调整为等待2s,web等下周看看有没有时间

EchoSixHIYA commented 10 months ago

新建议和新想法💡

建议: 可以多加一个休眠时间的参数,用于调整每次点击间的间隔,方便每个人根据自己的模拟器配置调整防止误触,我现在手动全部改成2了在低配置时效果不错。

新想法: 现在这个土地扫荡主要是针对前期体力溢出的情况,中期需要刷级时候可以把这个稍微改改,变成刷城皮?🤔 但是城皮的守军逻辑写起来有点麻烦

chenzhiron commented 10 months ago

新建议和新想法💡

建议: 可以多加一个休眠时间的参数,用于调整每次点击间的间隔,方便每个人根据自己的模拟器配置调整防止误触,我现在手动全部改成2了在低配置时效果不错。

新想法: 现在这个土地扫荡主要是针对前期体力溢出的情况,中期需要刷级时候可以把这个稍微改改,变成刷城皮?🤔 但是城皮的守军逻辑写起来有点麻烦

刷城皮选项是有什么不同吗?来个选项图,我现在还在备战区.....

chenzhiron commented 10 months ago

延时手动修改2是再哪个位置修改?

chenzhiron commented 10 months ago

新建议和新想法💡

建议: 可以多加一个休眠时间的参数,用于调整每次点击间的间隔,方便每个人根据自己的模拟器配置调整防止误触,我现在手动全部改成2了在低配置时效果不错。

新想法: 现在这个土地扫荡主要是针对前期体力溢出的情况,中期需要刷级时候可以把这个稍微改改,变成刷城皮?🤔 但是城皮的守军逻辑写起来有点麻烦

延迟后续会增加选项,自己填延时

EchoSixHIYA commented 10 months ago

新建议和新想法💡

建议: 可以多加一个休眠时间的参数,用于调整每次点击间的间隔,方便每个人根据自己的模拟器配置调整防止误触,我现在手动全部改成2了在低配置时效果不错。

新想法: 现在这个土地扫荡主要是针对前期体力溢出的情况,中期需要刷级时候可以把这个稍微改改,变成刷城皮?🤔 但是城皮的守军逻辑写起来有点麻烦

刷城皮选项是有什么不同吗?来个选项图,我现在还在备战区..... 1.我是把pageswith里面所有的time.sleep都改成了2 2.刷城皮是出征而不是扫荡,倒不是操作上的问题,主要是城皮守军刷新逻辑和野地不一样,要写一个逻辑判断是否适合出征

chenzhiron commented 10 months ago

新建议和新想法💡 建议: 可以多加一个休眠时间的参数,用于调整每次点击间的间隔,方便每个人根据自己的模拟器配置调整防止误触,我现在手动全部改成2了在低配置时效果不错。 新想法: 现在这个土地扫荡主要是针对前期体力溢出的情况,中期需要刷级时候可以把这个稍微改改,变成刷城皮?🤔 但是城皮的守军逻辑写起来有点麻烦

刷城皮选项是有什么不同吗?来个选项图,我现在还在备战区..... 1.我是把pageswith里面所有的time.sleep都改成了2 2.刷城皮是出征而不是扫荡,倒不是操作上的问题,主要是城皮守军刷新逻辑和野地不一样,要写一个逻辑判断是否适合出征

扫城皮

  1. 我们假设 城皮目前未占领也没有进入任何冷却,你是否观察到,扫荡跟出征本质都是同样的操作, page_switch.py 111行,将txt 传递参数改为 出证 识别不出来。)同时,在 args 参数传递出征城皮的参数,在结果处进行判定即可。
  2. 平局方面,目前来说,给的选项是平局撤退,但是有检测我方兵力剩多少还有敌方剩多少,但未做逻辑处理也没有在web给选项。
  3. 平局会自动撤退并进行征兵,再下一次出征前,只需要判定冷却时间的位置有没有值即可,逻辑大概就这方面,但是我目前没得号,所以暂时无法编写.....
  4. 目前暂时还是先研究web方面~~~
EchoSixHIYA commented 10 months ago

新建议和新想法💡 建议: 可以多加一个休眠时间的参数,用于调整每次点击间的间隔,方便每个人根据自己的模拟器配置调整防止误触,我现在手动全部改成2了在低配置时效果不错。 新想法: 现在这个土地扫荡主要是针对前期体力溢出的情况,中期需要刷级时候可以把这个稍微改改,变成刷城皮?🤔 但是城皮的守军逻辑写起来有点麻烦

刷城皮选项是有什么不同吗?来个选项图,我现在还在备战区..... 1.我是把pageswith里面所有的time.sleep都改成了2 2.刷城皮是出征而不是扫荡,倒不是操作上的问题,主要是城皮守军刷新逻辑和野地不一样,要写一个逻辑判断是否适合出征

扫城皮

  1. 我们假设 城皮目前未占领也没有进入任何冷却,你是否观察到,扫荡跟出征本质都是同样的操作, page_switch.py 111行,将txt 传递参数改为 出证(~征~ 识别不出来。)同时,在 args 参数传递出征城皮的参数,在结果处进行判定即可。
  2. 平局方面,目前来说,给的选项是平局撤退,但是有检测我方兵力剩多少还有敌方剩多少,但未做逻辑处理也没有在web给选项。
  3. 平局会自动撤退并进行征兵,再下一次出征前,只需要判定冷却时间的位置有没有值即可,逻辑大概就这方面,但是我目前没得号,所以暂时无法编写.....
  4. 目前暂时还是先研究web方面~~~

没事,反正就是个想法,做不做另说。

EchoSixHIYA commented 10 months ago

新建议和新想法💡 建议: 可以多加一个休眠时间的参数,用于调整每次点击间的间隔,方便每个人根据自己的模拟器配置调整防止误触,我现在手动全部改成2了在低配置时效果不错。 新想法: 现在这个土地扫荡主要是针对前期体力溢出的情况,中期需要刷级时候可以把这个稍微改改,变成刷城皮?🤔 但是城皮的守军逻辑写起来有点麻烦

刷城皮选项是有什么不同吗?来个选项图,我现在还在备战区..... 1.我是把pageswith里面所有的time.sleep都改成了2 2.刷城皮是出征而不是扫荡,倒不是操作上的问题,主要是城皮守军刷新逻辑和野地不一样,要写一个逻辑判断是否适合出征

扫城皮

  1. 我们假设 城皮目前未占领也没有进入任何冷却,你是否观察到,扫荡跟出征本质都是同样的操作, page_switch.py 111行,将txt 传递参数改为 出证(~征~ 识别不出来。)同时,在 args 参数传递出征城皮的参数,在结果处进行判定即可。
  2. 平局方面,目前来说,给的选项是平局撤退,但是有检测我方兵力剩多少还有敌方剩多少,但未做逻辑处理也没有在web给选项。
  3. 平局会自动撤退并进行征兵,再下一次出征前,只需要判定冷却时间的位置有没有值即可,逻辑大概就这方面,但是我目前没得号,所以暂时无法编写.....
  4. 目前暂时还是先研究web方面~~~

主要是守军被打穿了的话要加逻辑,让他等待冷却时间,不然就撞守城军士了。

chenzhiron commented 10 months ago

新建议和新想法💡 建议: 可以多加一个休眠时间的参数,用于调整每次点击间的间隔,方便每个人根据自己的模拟器配置调整防止误触,我现在手动全部改成2了在低配置时效果不错。 新想法: 现在这个土地扫荡主要是针对前期体力溢出的情况,中期需要刷级时候可以把这个稍微改改,变成刷城皮?🤔 但是城皮的守军逻辑写起来有点麻烦

刷城皮选项是有什么不同吗?来个选项图,我现在还在备战区..... 1.我是把pageswith里面所有的time.sleep都改成了2 2.刷城皮是出征而不是扫荡,倒不是操作上的问题,主要是城皮守军刷新逻辑和野地不一样,要写一个逻辑判断是否适合出征

扫城皮

  1. 我们假设 城皮目前未占领也没有进入任何冷却,你是否观察到,扫荡跟出征本质都是同样的操作, page_switch.py 111行,将txt 传递参数改为 出证(~征~ 识别不出来。)同时,在 args 参数传递出征城皮的参数,在结果处进行判定即可。
  2. 平局方面,目前来说,给的选项是平局撤退,但是有检测我方兵力剩多少还有敌方剩多少,但未做逻辑处理也没有在web给选项。
  3. 平局会自动撤退并进行征兵,再下一次出征前,只需要判定冷却时间的位置有没有值即可,逻辑大概就这方面,但是我目前没得号,所以暂时无法编写.....
  4. 目前暂时还是先研究web方面~~~

主要是守军被打穿了的话要加逻辑,让他等待冷却时间,不然就撞守城军士了。

这个是最简单的,只需要在结果胜利时, 将冷却时间(15分钟)传递给征兵模块函数,征兵模块接受参数,如果征兵时间小于 15分钟,返回15分钟,大于15分钟,则不需要变动

EchoSixHIYA commented 10 months ago

拨云见日,茅塞顿开,我想复杂了🤔

chenzhiron commented 10 months ago

后续有新东西/bug提新issue,这个关了,太长了