Files
metin2-client/tools/server/autohunt-pull-range

自动狩猎范围与服务器加成状态

2026-09-30 用户要求:引怪追击距离跟随狩猎距离;游戏左上角补充服务器经验、金币等加成。

本补丁在 autohunt-pull/server.patch 之后应用,基础补丁保持字节不变。 ../rebuild.sh check/build/deploy 已处理增量补丁,并强制重新编译包含命令头文件的 cmd_general.cpp。

引怪支持 35/100/150 米,地图分区按半径完整遍历并使用快照;不扫描整张地图。 只有本命令引来的怪物获得指定玩家的临时追击距离,原有 40 米战斗目标限制和 50 米离巢限制 在这一上下文中扩展。停止狩猎取消扩展,180 秒不刷新自动过期,换目标/地图后恢复正常追击。 原披风道具及其他怪物 AI 保持不变;寻路仍受地图阻挡和怪物自身移动规则约束。

客户端每 15 秒请求 /server_bonuses;服务器按角色限制查询频率为至少 2 秒。 响应 ServerBonuses <经验倍率> <金币数量倍率> <金币掉落倍率> <物品掉落倍率> <经验活动加成> <物品活动加成> <金币活动加成> <金币礼包活动加成>。 前四项来自 CHARACTER_MANAGER 的全局实际倍率,后四项来自 CPrivManager::GetPriv, 与奖励结算使用的活动数据来源一致,包含适用于当前角色的国家、公会和角色特权。 全局 200% 与活动额外 +200% 分别显示,不假定它们相同,也不伪造持续时间。 标准 100% 倍率和零活动加成不显示;活动结束、变化和重新登录会更新图标。

客户端通过 ServerBonusScript.inc 的 PORT 模块向原有增益栏添加独立图标及中文提示。 原版角色/技能增益不被覆盖,打包的 uiaffectshower.py 和 game.py 保持不变。 Android 点击图标可看到提示,macOS 悬停显示;FPS 移到顶部中间避免遮挡图标。

203 源文件备份:/root/autohunt-range-20260930/,隔离构建:/root/rebuild/20261001-074644/。 部署及二进制回滚使用 rebuild.sh,不需要数据库迁移。 旧停服脚本可能使用缺失的 PID 文件:重建脚本对剩余进程补发 TERM 并等待正常退出,未使用强制终止。

验证:host.autohunt_pull 覆盖远处分区、100/150 米边界、指定玩家追击、取消及过期。 port.login_flow 覆盖真实 Python 配置和聊天封包链、石头优先与回退、加成图标新增/更新/移除; 桌面及 MT_TEST_MOBILE=1 均通过。Mi 8 Lite 真机在模拟服务器场景显示图标和“服务器经验 200%”提示。 macOS app 与 Android Release native/debug APK 已构建;APK 已安装到 63c36adb。