爆率文件位置与修改方法
爆率配置文件存放于服务器端MonDrop文件夹内。每个怪物对应独立爆率文件,文件名与怪物ID一致。文件格式为文本格式,可用记事本直接编辑。
;怪物爆率文件示例 沃玛教主.txt
1/1 金币 1000-5000
1/3 祝福油 1
1/5 沃玛号角 1
1/10 裁决之杖 1
1/20 骨玉权杖 1
1/30 龙纹剑 1
爆率格式说明:斜杠前数字代表概率分子,斜杠后数字代表概率分母。1/1表示必爆,1/10表示十分之一概率。修改爆率直接调整分母数值,分母越小爆率越高。
全局爆率控制文件
Server文件夹下存在DropRate.txt文件,控制全服爆率倍数。默认数值为1,修改为2则全服爆率翻倍。
;DropRate.txt内容
BaseRate=1
BossRate=3
EliteRate=2
BaseRate控制普通怪物爆率,BossRate控制BOSS爆率,EliteRate控制精英怪爆率。根据需求调整数值,建议BossRate不超过5,避免物品泛滥。
随身NPC脚本编写
随身NPC脚本存放于QFunction.txt文件中。使用@Service标签定义服务入口,通过对话菜单触发各项功能。
[@MAIN]
请选择服务类型
[@Storage]
ACT
OPENBANK
BREAK
[@SkillLearn]
ACT
OPENSKILLWND
BREAK
[@Teleport]
ACT
MAPMOVE 3 300 300
BREAK
随身NPC召唤命令
玩家使用命令调用随身NPC,命令格式在Command.txt中定义。默认命令为@随身助手,可自定义为任意字符。
;Command.txt添加
@随身助手=@MAIN
@仓库=@Storage
@技能=@SkillLearn
玩家游戏中输入@随身助手即可打开服务菜单。命令前缀@可修改为其他符号,如#或!,在M2Server设置中调整。
技能书赠送脚本实现
技能书赠送通过GIVE命令实现,需检查玩家职业与等级条件。脚本存放于QFunction.txt,使用条件判断控制发放。
[@GiveSkill]
IF
CHECKJOB 战士
CHECKLEVEL >= 7
ACT
GIVE 基本剑术 1
GIVE 攻杀剑术 1
SENDMSG 0 技能书已发放
BREAK
IF
CHECKJOB 法师
CHECKLEVEL >= 7
ACT
GIVE 小火球 1
GIVE 抗拒火环 1
SENDMSG 0 技能书已发放
BREAK
IF
CHECKJOB 道士
CHECKLEVEL >= 7
ACT
GIVE 治愈术 1
GIVE 精神力战法 1
SENDMSG 0 技能书已发放
BREAK
新手礼包脚本配置
新手礼包包含技能书、装备、金币三类物品。玩家创建角色后自动发放,或达到指定等级触发。
[@NewPlayerGift]
ACT
GIVE 基本剑术 1
GIVE 治愈术 1
GIVE 小火球 1
GIVE 轻型盔甲 1
GIVE 金币 5000
GIVE 随机传送卷 10
GIVE 回城卷 10
SENDMSG 0 新手礼包已发放至背包
BREAK
触发条件设置在登录脚本中,检查玩家是否首次登录。使用变量记录发放状态,避免重复领取。
[@LOGIN]
IF
CHECKVAR P_GiftFlag = 0
ACT
CALL @NewPlayerGift
SET P_GiftFlag 1
SAVEVAR P_GiftFlag
BREAK
爆率文件批量修改工具
使用文本编辑器批量替换功能修改爆率。打开所有爆率文件,查找1/100替换为1/50,实现爆率翻倍。
;批量替换步骤
打开MonDrop文件夹
使用编辑器批量打开功能
查找内容:1/100
替换内容:1/50
执行全部替换
注意保留特殊爆率文件,如任务物品、限定道具等不建议修改。BOSS爆率与普通怪物爆率分开调整。
地图爆率独立控制
部分地图可设置独立爆率倍数,在MapInfo.txt中配置。进入该地图后爆率按设定倍数计算。
;MapInfo.txt配置
D6001 爆率测试地图 DropRate=2
D6002 高爆率地图 DropRate=5
D6003 普通地图 DropRate=1
DropRate参数控制地图爆率倍数,数值2表示双倍爆率,数值5表示五倍爆率。未设置该参数的地图使用全局爆率。
随身NPC功能扩展
随身NPC可添加更多实用功能,如装备修理、药品购买、任务接取等。每项功能对应独立脚本段落。
[@Repair]
ACT
REPAIRITEM
SENDMSG 0 装备修理完成
BREAK
[@BuyItem]
ACT
OPENSHOPWND
BREAK
[@Quest]
ACT
OPENQUESTWND
BREAK
[@Exchange]
ACT
OPENEXCHANGEWND
BREAK
功能菜单根据需要添加或删除,保持界面简洁。过多选项影响玩家使用体验,建议控制在十个以内。
技能书等级限制设置
技能书学习等级在Skill.txt中配置,修改该文件可调整技能学习条件。
;Skill.txt示例
基本剑术 战士 7
攻杀剑术 战士 25
烈火剑法 战士 35
小火球 法师 7
地狱火 法师 28
冰咆哮 法师 35
治愈术 道士 7
灵魂火符 道士 18
召唤骷髅 道士 35
修改第二列数值调整学习等级,降低数值使玩家更早学习技能。建议保持技能等级梯度,避免前期过强。
脚本修改后生效方法
脚本修改完成后需重启M2Server使配置生效。部分配置支持热更新,无需重启服务器。
;需要重启的配置
QFunction.txt脚本文件
MapInfo.txt地图配置
Skill.txt技能配置
;支持热更新的配置
MonDrop爆率文件
DropRate.txt爆率倍数
Command.txt命令定义
热更新配置修改后保存即可生效,脚本文件修改后必须重启。重启前保存当前游戏数据,避免进度丢失。
常见问题排查
随身NPC无法召唤检查命令定义是否正确,QFunction.txt语法是否有误。技能书无法领取检查职业等级条件是否满足,物品名称是否准确。
爆率无变化确认爆率文件是否保存,M2Server是否重新加载。地图爆率不生效检查MapInfo.txt格式是否正确,参数名称是否拼写错误。
;排查步骤
检查文件编码是否为ANSI
确认脚本标签无重复
验证命令参数格式
查看M2Server日志报错
测试单一功能定位问题
配置文件备份策略
修改前备份原始文件,出现问题可快速恢复。建立版本管理文件夹,记录每次修改内容。
;备份目录结构
Server/
Backup/
20260223_Script/
20260223_Drop/
20260223_Map/
Current/
QFunction.txt
MonDrop/
MapInfo.txt
每次修改前复制当前文件至Backup文件夹,命名包含日期标识。恢复时复制备份文件覆盖当前配置,重启服务器生效。
玩家等级与爆率关联
可设置玩家等级影响爆率,高等级玩家获得更高爆率奖励。在QFunction.txt中编写等级判断脚本。
[@KillMonster]
IF
CHECKLEVEL >= 30
ACT
CALC G_DropRate = 2
ELSE
IF
CHECKLEVEL >= 20
ACT
CALC G_DropRate = 1.5
ELSE
ACT
CALC G_DropRate = 1
等级爆率加成鼓励玩家提升等级,增加游戏粘性。加成倍数建议控制在两倍以内,避免破坏物品价值体系。
技能书掉落配置
技能书除赠送外可配置怪物掉落,在对应怪物爆率文件中添加。
;沃玛教主爆率文件
1/5 基本剑术 1
1/5 小火球 1
1/5 治愈术 1
1/10 攻杀剑术 1
1/10 抗拒火环 1
1/10 精神力战法 1
技能书掉落概率建议低于装备,保持获取难度。高级技能书爆率进一步降低,延长玩家追求周期。
M2Server参数设置
M2Server控制台提供多项参数调整,影响脚本执行与爆率计算。
[GameSetup]
DropRateMultiply=1.0
ScriptTimeout=5000
MaxMonsterDrop=10
[Player]
StartLevel=1
StartGold=1000
SkillPoint=5
DropRateMultiply控制全服爆率乘数,ScriptTimeout控制脚本超时时间,MaxMonsterDrop控制单只怪物最大掉落数量。根据服务器性能调整数值。
测试验证流程
修改完成后建立测试角色验证功能。创建战士、法师、道士三个职业角色,分别测试技能书发放。
;测试清单
登录触发新手礼包
召唤随身NPC
使用仓库功能
领取职业技能书
击杀怪物验证爆率
检查物品掉落数量
每项功能测试通过后记录结果,发现问题返回修改。全部测试完成后再开放正式游玩。

