传奇架设仓库错位修复教程:服务端配置与客户端补丁对齐步骤

来源: 作者: 点击:
仓库错位在传奇架设里分两种:一种是纯显示层错位(格子背景偏了、物品图标飘在格子外、行数列数对不上),另一种是数据层错乱(物品存进去位置变、取出来不是原来格子、不同角色仓库串物品)。修之前先确认你用的引擎类型(HeroM2、GOM、GEE、1.76原始引擎等),因为配置入口不一样,但底层逻辑都是“服务端格子参数 = 纹理补丁格子尺寸 = 客户端坐标配置”。

一、先备份再动手
动任何文件前,把下面这些拷出来:
• Mir200\Envir\ 整个目录(尤其 Market_Def\QFunction-0.txt、!Setup.txt)

• Mud2\DB\ 里的 Warehouse 表或对应数据库文件

- 客户端 Data\ 下的 .wil /.wzl 仓库相关文件
• 引擎目录里的 UI_Config.ini、ClientWareHouse.ini(有就备)

改崩了能直接回滚,别边改边测线上号。

二、服务端侧:核对仓库格子参数
以 HeroM2 为例,打开引擎控制器 → 功能设置 → 界面设置 → 仓库界面,确认:
• 仓库界面启用 = 启用

• 仓库补丁路径指向服务端 Data 文件夹(改过 MirServer 目录必须手填绝对路径,别带中文和空格)

- WareHouseGridCount(格子总数)和 WareHouseGridSize(单格像素尺寸)和用的补丁一致
很多错位就是 GridSize 写了 32,但补丁实际画的是 36×36,物品放进去整体往右下漂。用 Wil 编辑器打开对应仓库 .wil,看单格宽高,把 GridSize 改成一样,保存重启 M2。
如果是 DBC2000 体系(1.76/老引擎),用 DBC2000 打开 Warehouse 表,看字段长度、MaxStorageItem 是否 ≥ 实际格子数,字段被截断也会让物品落位错乱。

三、客户端侧:补丁同步与坐标校准
1. 把服务端 Data 里的仓库纹理补丁(WareHouse.wil / WareHouse.wzl 等)原样覆盖到客户端 Data\ 下,别只发一部分。
2. 如果补丁带 ClientWareHouse.ini,复制到客户端根目录,确认里面 WareHousePatchVersion 和服务端配置版本号一致。
3. 打开 UI_Config.ini(或登录器配置里的界面坐标段),检查仓库窗口 X/Y 偏移。HeroM2、GEE 这类带扩展仓库的,常因为微端更新后缓存了旧坐标,导致整块仓库面板往下移一格。把 X/Y 调回补丁标注值(常用调试 ±5 像素),保存后删客户端 Cache 目录重新进。
4. 登录器配置器里勾选“强制重载资源 / 读取 Data 补丁”,重新生成登录器。部分玩家自己老客户端没清缓存,就会只有他一个人看着错位。

四、脚本层冲突排查
仓库整理按钮、扩展仓库 NPC 都走脚本:
- Market_Def\QFunction-0.txt 里 SORTWAREHOUSE、ExtStorageSize、OpenWarehouse 这类指令别拼错
• 仓库管理员 NPC 在 Npcs.txt 里注册的脚本段要存在,M2 控制台用 @ReloadNpc 仓库管理员 热重载

- 若用了扩展仓库(比如 60 格变 100 格),脚本里 ExtStorageSize 数值必须 ≤ WareHouseGridCount,超了物品会绕回第一格显示成错位
• 改完脚本记得以 ANSI 编码保存,UTF-8 带 BOM 老引擎不认,会整段失效

五、系统层干扰(常被忽略)
Win10/11 显示缩放 125%、150% 时,传奇 2D 贴图坐标计算会偏,表现为装备飘空、仓库格子拉伸错位。进系统设置 → 显示 → 缩放改 100%,客户端分辨率锁 800×600 或 1024×768,别开宽屏拉伸。这条能解决相当一部分“明明参数都对还是歪”的情况。

六、数据已经乱了的回救办法
如果物品已经串格、丢失、A角色拿到B角色东西:
1. 停 M2,备份 Mud2\DB\Warehouse 表或对应 .db 文件
2. 用 DBC2000 或引擎自带数据库工具打开,看 ItemList 字段里记录的格子索引是不是超出当前 GridCount,超标的手动清掉或写回合法区间
3. 没有干净备份又不敢直接动表,就在 QFunction 里临时加一段 @SORTWAREHOUSE 触发,让玩家点整理按钮重排一次,能把大部分显示层错乱拉平(底层坏数据严重的只能清该角色仓库记录重来)

七、快速定位清单(按顺序查)
• 服务端 GridCount / GridSize 和补丁尺寸一致?

• 补丁路径无中文空格、服务端客户端 Data 文件哈希一致?

• UI_Config.ini 坐标没被微端覆盖?

- 登录器勾了强制重载、玩家清了 Cache?
• 系统缩放 100%、分辨率非宽屏拉伸?

• QFunction 仓库脚本无语法错、编码 ANSI?

• Warehouse 表字段未截断、无越界索引?

逐条对完,仓库错位基本都能拉回正位。