dsh-maplestory-wz
读取冒险岛WZ资源并渲染桌宠 支持本地WZ数据浏览、图鉴搜索与桌宠渲染,适合冒险岛游戏粉丝及情怀玩家。
安裝
npx -p @deepseek-ai/dsh dsh plugin --profile web add github:tzy502/dsh-maplestory-wz說明文件
閱讀完整 README ↗使用本插件
把仓库链进 DSH profile,把 dataDir 指向客户端的 Data 目录,然后重启 host。
安装与配置
ln -s /Users/a502/IdeaProjects/dsh-maplestory-wz \
~/.dsh/profiles/web/node_modules/@local/dsh-maplestory-wz
在 profile 的 package.json 里加上这条依赖,然后在 cordis.patch.yml 里配数据源:
- insert:
- id: maplestory-wz
name: '@local/dsh-maplestory-wz'
config:
dataDir: /path/to/MapleStory/Data # 改成你自己的
region: BMS # 解密密钥(见下)
version: 228
| 键 | 默认 | 说明 |
|---|---|---|
dataDir | — | 客户端的 Data 目录,必填(示例 /path/to/MapleStory/Data) |
region | BMS | 解密密钥名:国服客户端是 BMS,国际服 GMS,欧服 EMS |
version | 228 | WZ 版本号 |
wzpyPath | 自动探测 | 含 wzpy/ 的克隆目录 |
python | 自动探测 | 带 Pillow、numpy 的解释器 |
mobId | 1210102 | 桌宠初始怪物 |
scale speed flySpeed flyChance | 1 100 60 0.35 | 桌宠尺寸与运动 |
关于 region:这个值就是 wzpy 的解密密钥名(插件没有自己写加解密,
密钥表来自 wzpy/crypto.py 的 WZ_IV)。
- 国服客户端 →
BMS。wzpy里BMS对应的是零 IV(不做 AES 变换), 国服客户端用的正是这一套;wzpy里没有CMS这个键,写CMS会抛KeyError。 - 国际服
GMS,欧服EMS。
判断对不对:字符串表能解出中文就是对的(例如 1210102 → 花蘑菇)。
解释器按这个顺序探测:config.python → $WZ_PYTHON →
~/.hermes/cache/scratch/wz-env/bin/python → /opt/homebrew/bin/python3 →
/usr/local/bin/python3 → /usr/bin/python3。worker 启动时会清掉继承的 PYTHONPATH,
因为外来的 site-packages 会让 Pillow 导入失败。
让模型查数据
十二个工具覆盖读取路径。中文名和编号都能搜,属性表与动作帧拿回来就能渲染。
查一下花蘑菇的属性
把 1210102 的走路做成 GIF
100000000 这张地图的边界和出生点在哪
| 工具 | 作用 |
|---|---|
wz_packs | 有哪些分类与分卷 |
wz_tree | 浏览节点树 —— 目录、图片、属性 |
wz_search | 按中文名、英文名或编号搜 |
wz_item | 编号 → 名字、属性、图标 |
wz_sources | 一个编号的全部候选来源,并指出主源 |
wz_sprite | 一个动作的帧 → 精灵图,可选循环 GIF |
wz_map wz_map_sprite | 地图名录、地图详情、或渲染出的地图图 |
wz_char | 纸娃娃:单帧、逐帧雪碧图、姿势、部位清单 |
wz_balloon | 聊天气泡,489 种样式 |
wz_ms | 读 Data/Packs/*.ms 内部结构 —— 动作帧、是否 Spine |
使用面板
侧栏「冒险岛资源」下有六个页签。
| 页签 | 内容 |
|---|---|
| 浏览 | 分类树,一路翻到图片与属性 |
| 搜索 | 全库按名字与编号搜,结果直接跳图鉴 |
| 图鉴 | 怪物 / NPC / 装备各一页:图标、属性、全部动作、帧网格 |
| 纸娃娃 | 十六个装备槽 + 一个椅子区块 + 姿势与耳型;一键应用到桌宠 |
| 背景 | 地图选择、清晰度、换图过渡时长、自动轮换 |
| 资源 | 跑 cmsdl 更新本机客户端,带进度与日志 |
纸娃娃写的是 ~/.dsh/wz-assets/background.json 的 doll 字段,面板与桌宠读同一份,
所以改一处就够。应用到桌宠立刻生效:面板会通知桌宠重新拉取,不需要刷新页面。
使用桌宠
一只怪物或你自己的角色浮在页面上,来回走动、偶尔起飞、可拖拽、点击有反应。 齿轮按钮打开选择器,里面有常用怪物的快速选择 chip、纸娃娃、以及上次用的怪物。
装上椅子后桌宠切成坐姿并完全停止走动;清空椅子则两者都恢复。椅子不是角色部件 ——
它住在 Item/Install,在面板里有自己的搜索框,由 py/chair_support.py 解析。
安装与配置
ln -s /Users/a502/IdeaProjects/dsh-maplestory-wz \
~/.dsh/profiles/web/node_modules/@local/dsh-maplestory-wz
在 profile 的 package.json 里加上这条依赖,然后在 cordis.patch.yml 里配数据源:
- insert:
- id: maplestory-wz
name: '@local/dsh-maplestory-wz'
config:
dataDir: /path/to/MapleStory/Data # 改成你自己的
region: BMS # 解密密钥(见下)
version: 228
| 键 | 默认 | 说明 |
|---|---|---|
dataDir | — | 客户端的 Data 目录,必填(示例 /path/to/MapleStory/Data) |
region | BMS | 解密密钥名:国服客户端是 BMS,国际服 GMS,欧服 EMS |
version | 228 | WZ 版本号 |
wzpyPath | 自动探测 | 含 wzpy/ 的克隆目录 |
python | 自动探测 | 带 Pillow、numpy 的解释器 |
mobId | 1210102 | 桌宠初始怪物 |
scale speed flySpeed flyChance | 1 100 60 0.35 | 桌宠尺寸与运动 |
关于 region:这个值就是 wzpy 的解密密钥名(插件没有自己写加解密,
密钥表来自 wzpy/crypto.py 的 WZ_IV)。
- 国服客户端 →
BMS。wzpy里BMS对应的是零 IV(不做 AES 变换), 国服客户端用的正是这一套;wzpy里没有CMS这个键,写CMS会抛KeyError。 - 国际服
GMS,欧服EMS。
判断对不对:字符串表能解出中文就是对的(例如 1210102 → 花蘑菇)。
解释器按这个顺序探测:config.python → $WZ_PYTHON →
~/.hermes/cache/scratch/wz-env/bin/python → /opt/homebrew/bin/python3 →
/usr/local/bin/python3 → /usr/bin/python3。worker 启动时会清掉继承的 PYTHONPATH,
因为外来的 site-packages 会让 Pillow 导入失败。
使用面板
侧栏「冒险岛资源」下有六个页签。
| 页签 | 内容 |
|---|---|
| 浏览 | 分类树,一路翻到图片与属性 |
| 搜索 | 全库按名字与编号搜,结果直接跳图鉴 |
| 图鉴 | 怪物 / NPC / 装备各一页:图标、属性、全部动作、帧网格 |
| 纸娃娃 | 十六个装备槽 + 一个椅子区块 + 姿势与耳型;一键应用到桌宠 |
| 背景 | 地图选择、清晰度、换图过渡时长、自动轮换 |
| 资源 | 跑 cmsdl 更新本机客户端,带进度与日志 |
纸娃娃写的是 ~/.dsh/wz-assets/background.json 的 doll 字段,面板与桌宠读同一份,
所以改一处就够。应用到桌宠立刻生效:面板会通知桌宠重新拉取,不需要刷新页面。
使用桌宠
一只怪物或你自己的角色浮在页面上,来回走动、偶尔起飞、可拖拽、点击有反应。 齿轮按钮打开选择器,里面有常用怪物的快速选择 chip、纸娃娃、以及上次用的怪物。
装上椅子后桌宠切成坐姿并完全停止走动;清空椅子则两者都恢复。椅子不是角色部件 ——
它住在 Item/Install,在面板里有自己的搜索框,由 py/chair_support.py 解析。