tzy502/dsh-maplestory-wz ↗★ 0

dsh-maplestory-wz

读取冒险岛WZ资源并渲染桌宠 支持本地WZ数据浏览、图鉴搜索与桌宠渲染,适合冒险岛游戏粉丝及情怀玩家。

包名
dsh-maplestory-wz
兼容性
待验证
版本
1.0.0
许可证
NOASSERTION
最近更新
2026年10月16日

安装

$npx -p @deepseek-ai/dsh dsh plugin --profile web add github:tzy502/dsh-maplestory-wz

使用本插件

把仓库链进 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)
regionBMS解密密钥名:国服客户端是 BMS,国际服 GMS,欧服 EMS
version228WZ 版本号
wzpyPath自动探测含 wzpy/ 的克隆目录
python自动探测带 Pillow、numpy 的解释器
mobId1210102桌宠初始怪物
scale speed flySpeed flyChance1 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)
regionBMS解密密钥名:国服客户端是 BMS,国际服 GMS,欧服 EMS
version228WZ 版本号
wzpyPath自动探测含 wzpy/ 的克隆目录
python自动探测带 Pillow、numpy 的解释器
mobId1210102桌宠初始怪物
scale speed flySpeed flyChance1 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 解析。