FGO-py
FGO-py copied to clipboard
新增主线推进模式
已完成gui及cli界面下运行主线推进模式,不過目前该模式只能在tw及na服下运行。
功能描述:
于显示next的界面即可使用,该模式自动帮你跳过剧情,选助战(选助战界面连续刷新3次后还没找到符合目标就选第一个),战斗,关闭通关特异点后出现的界面等等。目前在两服上测试稳定,身为萌新的我使用体验良好。
变更:
- fgoImage根目录下添加next.png,traitlist.png,skip.png。
- fgoKernel.py下添加BattleStory及MainStory类。
- fgoDetect.py下更动getStage及getStageTotal:增添retry_count来解决侦测不了一直retry的情况。
- gui界面增添storymode选项,cli界面增加story指令。
未完成:
- 除了fgoImage/{tw,na}目录下其他服还缺startbutton,startquest和closebutton,其他服的截圖需要有玩的玩家提供。
之前第一提交pr时各种考虑不周还请见谅,目前代码已根据项目风格进行调整与优化。 功能方面相较于未更改前而外兼容了活动的剧情推进。
目前测试了两个礼拜左右,个人在主线第一,二部,亚异闻带及活动上测试均无重大问题。 目前不能解决的是组队,通关特定关卡或集齐特定活动道具才能继续推动剧情等剧情限制,但这些太客制化的情况需玩家手动解决,短期内不考虑处理。
图形界面的更动如下:
此次pr的所有图片已用cv2.imwrite(filename,image,[cv2.IMWRITE_PNG_COMPRESSION,9])处理。额外添加的通用图片有dialogbox,next,skip和terminal,各服图片有closebutton,startbutton和startquest。各服图片目前只有tw及na目录下的完整,其他服的图片仍待补充。
这里稍微说明一下该pr额外添加的剧情推进模式:通过侦测并点击next来达到自动推进剧情的效果,模式运行期间会跳过剧情(如果无法跳过选择项就侦测选择项并点击),自动战斗和关闭期间所有提示。其他方面如选择队伍,吃苹果数,n场战斗后结束的判定皆无更改且可用。
然而next侦测方面我不太确定处理得是否妥当,剧情推进可能会出现不同且不固定比例的next,我的处理方法是按管制室图标退出该界面再进入,这时的next图像大小就会是固定的,但退回去的话无法保证进入的会是退出前的剧情界面(比如亚异闻带的剧情退回去的话均有next),如果有更好的办法或大佬觉得这样做不妥的话到时我再更改。
之前第一提交pr时各种考虑不周还请见谅,目前代码已根据项目风格进行调整与优化。 功能方面相较于未更改前而外兼容了活动的剧情推进。
目前测试了两个礼拜左右,个人在主线第一,二部,亚异闻带及活动上测试均无重大问题。 目前不能解决的是组队,通关特定关卡或集齐特定活动道具才能继续推动剧情等剧情限制,但这些太客制化的情况需玩家手动解决,短期内不考虑处理。
图形界面的更动如下:
此次pr的所有图片已用cv2.imwrite(filename,image,[cv2.IMWRITE_PNG_COMPRESSION,9])处理。额外添加的通用图片有dialogbox,next,skip和terminal,各服图片有closebutton,startbutton和startquest。各服图片目前只有tw及na目录下的完整,其他服的图片仍待补充。
这里稍微说明一下该pr额外添加的剧情推进模式:通过侦测并点击next来达到自动推进剧情的效果,模式运行期间会跳过剧情(如果无法跳过选择项就侦测选择项并点击),自动战斗和关闭期间所有提示。其他方面如选择队伍,吃苹果数,n场战斗后结束的判定皆无更改且可用。
然而next侦测方面我不太确定处理得是否妥当,剧情推进可能会出现不同且不固定比例的next,我的处理方法是按管制室图标退出该界面再进入,这时的next图像大小就会是固定的,但退回去的话无法保证进入的会是退出前的剧情界面(比如亚异闻带的剧情退回去的话均有next),如果有更好的办法或大佬觉得这样做不妥的话到时我再更改。
目前请先把代码本身写好,我会在你完成当前请求的更改后再review
如果一个对象可能出现的各个位置有相当的(足以点击的)部分重叠,也不得使用find
关于这点我不是很理解,不过已把只出现在固定位置的对象换成is系列函数,目前find系列函数只用来寻找close及next
自查
- 各服文件夹下的图片已统一命名成storystart, storyquest 和 storyclose并确保相同命名的图片大小相同, 所有图片均通过cv2.IMWRITE_PNG_COMPRESSION处理
- 因不确定statusTip可以如何更改得更妥当,翻译方面我把statusTip改成按键名
- fgoDetect下的函数已把范围确切限制在侦测对象出现范围各方向加2px
- 各语言翻译已通过pyside6-lrelease编译并运行程序检查确认均无问题
- merge conflict问题已处理, 申请review前也通过compare branch确认无错误merge
如果一个对象可能出现的各个位置有相当的(足以点击的)部分重叠,也不得使用find
在这种情况下,应当点击重叠的位置而不需要根据对象所在的位置决定点击的位置
进度自查
-
逻辑部分已修正,战斗前流程更改为isChooseFriend->isBattleBegin->之后的流程完全参照Main并在其基础添加判断
-
因剧情模式流程非固定,故流程上设定若遇到下一环节的判断对象就break(如在选择助战界面迴圈遇到战斗开始按钮就进入到战斗开始的判断迴圈)
-
然后LF结尾方面我已确认并无问题,无论是运行git ls-files --eol查看或是自行cat -A 文件均为LF结尾,如果有其他方法验证还请告知
-
html,ts及ui相关文件已按照comment修改
这么显眼一个图标您是看不见吗
这么显眼一个图标您是看不见吗
抱歉对github跟lf不熟悉结果一直都不知道那个图标是提醒lf错误的意思, 已更, 还望大佬见谅