| 功能模块 | 实现原理与关键脚本/文件 | 单机测试验证点 |
| 多档消费与权限控制 | 依赖G变量或自定义数字变量(如A100)标记充值状态。NPC脚本(Market_Def目录)通过CHECKVAR检测变量值,利用#ACT段赋予属性(倍攻、爆率)或使用MAP命令传送至专属地图。“地图互斥”通过检测两个互斥变量组实现。 | 使用@GameGold命令或直接修改QuestDiary下文件模拟充值后,在M2的“变量管理”中查看对应变量是否置1。尝试进入对立地图,验证传送失败。 |
| 模块化属性成长系统 | “切割”、“称号”等属性并非静态DB数据。NPC升级时,脚本将等级写入P变量(个人变量)或U变量。在QFunction-0.txt的[@Attack](切割计算)、[@KillMon](爆率计算)或[@Struck](受伤计算)触发段,通过CALCVAR公式调用这些变量值进行实时结算。 | 打开对应NPC脚本,查看#ACT段中写入的变量名。在QFunction-0.txt中搜索该变量名,定位其参与计算的公式。 |
| 爆率百分比与可视化系统 | 角色面板显示的“爆率XXX%”通常是一个累计型P变量。称号、坐骑、时装等系统的脚本在激活时,会向此变量累加固定值。真实掉落计算时,引擎或脚本会引用此变量进行概率修正。 | 激活不同来源的爆率后,用@ViewPlayInfo命令或检查脚本输出,观察该变量值增长。通过大量击杀统计,验证实际掉落提升趋势。 |
| 自动功能与无限刀 | “自动回收/捡取”由Robot.txt定时触发或背包按钮触发脚本实现。“无限刀”通常通过CHANGESPEED命令修改攻击速度,或在M2Server-选项-功能设置中调整“攻击控制”参数实现。 | 开启功能后,观察Robot.txt日志或使用@ViewSpead命令查看角色攻击间隔是否达到“无限”效果(通常极短)。 |