moesnow / March7thAssistant

崩坏:星穹铁道全自动 三月七小助手
https://moesnow.github.io/March7thAssistant/
GNU General Public License v3.0
4.44k stars 107 forks source link

[Bug]: B服相关问题 #261

Closed yanabcd closed 2 months ago

yanabcd commented 2 months ago

请确保您已阅读以上注意事项,并勾选下方的确认框。

March7thAssistant 版本 (或 Commit Id)

最新

重现步骤

第一次安装了官方安装包,然后运行了脚本一键运行,发现不是这个客户端; 第二次安装了b站安装包,自己运行了游戏,然后用其他没问题,但是一键启动会跑到官方安装包的登录界面

期望的结果是什么?

一键运行正常运行b站客户端

实际的结果是什么?

一键运行启动客户端为官方客户端

日志记录

No response

补充说明(可选)

No response

Eisaichen commented 2 months ago

设置里可以手动指定客户端路径

yanabcd commented 2 months ago

image 从脚本里进入就是这样,我自己手动进入就是 image 不知道为啥,有大佬懂吗,是注册表问题,还是缓存问题?

yanabcd commented 2 months ago

补充,启动目录都是相同的

yanabcd commented 2 months ago

设置里可以手动指定客户端路径

客户端路径我用的都一样,不知道为什么打开就不一样..

moesnow commented 2 months ago

B服就是这样的,参考 #33

Eisaichen commented 2 months ago

你可以新建一个bat文件,比如launcher.bat 里面内容如下

set GamePath=D:\Star Rail\Game

start "" /d "%GamePath%" "%GamePath%\StarRail.exe"
@exit

把第一行的路径改成你星铁的游戏目录 之后在三月七里把启动路径设置成这个bat即可

@moesnow B服似乎是因为启动exe的时候没有传递启动目录,所以读不到同目录下的config.ini 或许可以稍微改一下tasks/game/start.py解决

start.py
Ln 98

        logger.debug(_("运行命令: cmd /C start \"\" \"{path}\"").format(path=config.game_path))
+       game_folder = config.game_path.rpartition('\\')[0]
+       if os.system(f"cmd /C start \"\" /D \"{game_folder}\" \"{config.game_path}\""):
            return False

utils\gamecontroller.py里启动游戏的代码也需要做类似的修改 经过我这里测试,修改后的代码可以正确启动B服