AutoHS
AutoHS copied to clipboard
获取屏幕截图时疑似有hug
运行脚本时鼠标一直点中间,查看代码后发现get screen获取到的游戏界面一直是刚进去的那个门的界面,因此一直判断为wait main menu状态。将catch screen中获取到的界面保存后查看为下图
显示分辨率和炉石分辨率已设1920*1080,缩放比例已设100%,游戏全屏也设了。不知道是哪里出了问题 : (
我试了一下, 截图功能确实有BUG, 似乎获取的一直是第一次对炉石截图的结果...... 我这几天试一试用新的截图方法修一下:)
bz可能已经封掉通过句柄截图的方法,考虑下确定了当前窗口为炉石后,用PIL截图?
bz可能已经封掉通过句柄截图的方法,考虑下确定了当前窗口为炉石后,用PIL截图?
这方法应该是可行的。但是我最近到期末了,可能要过年的时候再来试试了……
俺改了,把get_screen.py的截图改成整个屏幕就行了 hwin = win32gui.GetDesktopWindow() hwndDC = win32gui.GetWindowDC(hwin) 在添加下俺的定位点 list(im_opencv[1070][1090][:3]) == [20, 51, 104] 总之感谢作者吧
俺改了,把get_screen.py的截图改成整个屏幕就行了 hwin = win32gui.GetDesktopWindow() hwndDC = win32gui.GetWindowDC(hwin) 在添加下俺的定位点 list(im_opencv[1070][1090][:3]) == [20, 51, 104] 总之感谢作者吧
牛逼!
试了下好像还是会有这个问题,会一直点中间,状态判断一直是battle,没办法直接在WaitMainMenu()里面加了个break就好了
俺改了,把get_screen.py的截图改成整个屏幕就行了 hwin = win32gui.GetDesktopWindow() hwndDC = win32gui.GetWindowDC(hwin) 在添加下俺的定位点 list(im_opencv[1070][1090][:3]) == [20, 51, 104] 总之感谢作者吧
老哥你的代码里FSM_action.py第208行的CHOOSE_CARD_INTERVAL是啥呀,没有定义啊
俺改了,把get_screen.py的截图改成整个屏幕就行了 hwin = win32gui.GetDesktopWindow() hwndDC = win32gui.GetWindowDC(hwin) 在添加下俺的定位点 list(im_opencv[1070][1090][:3]) == [20, 51, 104] 总之感谢作者吧
老哥你的代码里FSM_action.py第208行的CHOOSE_CARD_INTERVAL是啥呀,没有定义啊
我看了看,好像FSM_action.py
里面没有CHOOSE_CARD_INTERVAL
这个变量,要不你检查一下是不是最新版本的代码?
俺改了,把get_screen.py的截图改成整个屏幕就行了 hwin = win32gui.GetDesktopWindow() hwndDC = win32gui.GetWindowDC(hwin) 在添加下俺的定位点 list(im_opencv[1070][1090][:3]) == [20, 51, 104] 总之感谢作者吧
老哥你的代码里FSM_action.py第208行的CHOOSE_CARD_INTERVAL是啥呀,没有定义啊
我看了看,好像
FSM_action.py
里面没有CHOOSE_CARD_INTERVAL
这个变量,要不你检查一下是不是最新版本的代码?
哈哈,我把你俩的代码合了一下,能跑了,用你的策略,那位老哥的截屏。多谢大佬开源啦