客户端与游戏功能

游戏功能异常

解决怪物打不死、英雄无法锁定、无法小退、合击失效、摆摊不生效等游戏中常见功能异常问题。

游戏中出现功能异常时,不要急着怀疑是引擎 bug。大多数情况下,问题出在配置或系统环境上。以下整理了常见游戏功能异常的排查方法。

怪物打不死

现象:怪物血量归零后不死亡,或攻击怪物无效。

原因:部分 Windows 系统(尤其是较老的服务器系统)的 BOOT.INI 中启用了数据执行保护(DEP),导致引擎处理异常。

修复方法:

  1. 右键点击桌面"我的电脑" → 属性 → 高级 → 启动和故障恢复 → 设置
  2. 点击"编辑",在"要手动编辑启动选项"处打开 BOOT.INI
  3. 找到 NoExecute=OptIn,改为 NoExecute=AlwaysOff
  4. 保存后重启服务器
此方法同样适用于 Windows Server 2003 等老系统。修改完毕后需要重启计算机才能生效。

补充说明:服务器长时间不重启(SQL 引擎超过 30 天)也可能导致怪物打不死、属性失效、爆率失效等奇怪问题。建议定期重启服务器。

英雄无法锁定(CTRL+W)

现象:按 CTRL+W 英雄无法锁定目标。

原因:与怪物打不死相同,通常是系统 BOOT.INI 中 DEP 设置导致。

修复方法:

  1. 右键桌面"我的电脑" → 属性 → 高级 → 启动和故障恢复 → 设置
  2. 点击"编辑",在"要手动编辑启动选项"处
  3. 将 NoExecute=OptIn 改为 NoExecute=AlwaysOff
  4. 重启计算机

无法小退

现象:点击小退按钮没有反应,只能大退。

排查方向:

  1. 检查 QManage.txt 脚本:登录触发 @RESUME 中如果使用了 KICK 踢下线,但没有做延迟跳转处理,会导致小退无响应。详见 脚本错误排查 中的修复方法。
  2. 检查战斗中小退限制:M2 有战斗中小退检测,被人攻击时会中断小退读秒。可在 M2 参数设置 > 时间设置 > 战斗中小退间隔 调整或关闭(设为 0)。

合击技能失效

现象:M2 运行一段时间后无法释放合击技能。

排查方向:

  • 检查 M2 英雄设置面板的合击配置是否正确
  • 重启 M2 观察是否恢复

摆摊功能不生效

原因:地图没有添加摆摊参数。

解决办法:在 MapInfo.txt 中,为需要支持摆摊的地图添加 STALL 参数。

安全区光环不显示

解决办法:在 !Setup.txt 中设置:

SafeZoneAureole=1

游戏卡顿

排查方向:

  1. 脚本优化:减少重复读写文本的脚本,改用内存操作
  2. 网关伴侣:调节网关移动速度,解决释放技能或移动攻击时人物短暂定住
  3. HardDisk 参数:非必要数据不加 HardDisk,减少磁盘 IO
  4. 地图优化:给常 PK 的地图添加 OPTI 参数

装备爆出无红字公告

排查方向:

  • 检查公告脚本是否正确配置
  • 检查物品触发配置(SQL 引擎在物品数据库的 RareItem 字段中设置)

商城价格异常(上亿元宝)

原因:客户端 dat 不配套。

解决办法:更换程序包中正确的客户端 dat 文件。

服务器建议定期重启:DBC 引擎不超过 20 天,SQL 引擎不超过 30 天。长时间不重启可能导致属性失效、称号不显示、禁言失效等各种"灵异"问题。

相关阅读