我安装了两个版本的绝区零,一个是 B 服,一个是官服。但是 ZZMI 里的游戏路径只能设置一个,所以我让 Grok 写了一个 python 脚本来自动切换游戏路径,分享一下。
先看看手动切换路径的办法:
启动 XXMI,切换到 ZZMI 页面,然后打开设置,点击游戏路径右侧的刷新按钮,就会显示两个绝区零的游戏路径:
在这里切换路径,然后再启动游戏。
这样操作很麻烦,因为每次启动游戏前都必须手动切换路径,需要好几步操作。
搜索 XXMI Launcher,可以看到当前用户的 AppData/Roaming 里有个 XXMI Launcher 文件夹:
里面有个 XXMI Launcher Config.json,保存了它的设置,包括游戏路径:
接下来我让 AI 帮我写了个 python 脚本,修改这里的路径,然后启动绝区零。
PS:XXMI 会在开始菜单里创建 ZZMI 的快捷方式 ZZMI Quick Start,可以一键启动绝区零,所以我让脚本使用这个快捷方式来启动游戏。
import json
import os
# 使用 %appdata% 通配符定义 JSON 文件路径
json_file = os.path.expandvars(r"%appdata%\XXMI Launcher\XXMI Launcher Config.json")
# 目标 game_folder 路径
new_game_folder = r"D:\game\miHoYo Launcher\games\ZenlessZoneZero Game"
# 快捷方式路径
shortcut_path = r"C:\ProgramData\Microsoft\Windows\Start Menu\Programs\ZZMI Quick Start.lnk"
try:
# 读取 JSON 文件
with open(json_file, 'r', encoding='utf-8') as f:
data = json.load(f)
# 修改 game_folder 值
data["Importers"]["ZZMI"]["Importer"]["game_folder"] = new_game_folder
# 保存修改后的 JSON 文件
with open(json_file, 'w', encoding='utf-8') as f:
json.dump(data, f, indent=4, ensure_ascii=False)
print(f"已将 game_folder 修改为: {new_game_folder}")
# 启动快捷方式
os.startfile(shortcut_path)
print("正在通过快捷方式启动游戏...")
except FileNotFoundError:
print(f"错误:未找到文件 {json_file} 或快捷方式 {shortcut_path}")
except KeyError:
print("错误:JSON 文件结构不正确,无法找到指定路径")
except Exception as e:
print(f"发生错误:{str(e)}")
# 暂停以查看输出
# input("按回车键退出...")
注意:
最后就是保存了两个 py 文件,通过对应的文件启动游戏: