实现角色死亡时装备不掉落,需通过修改服务端数据库、添加脚本命令或调整引擎参数完成。以下为具体操作步骤,适用于GOM、GEE、BLUE等主流引擎。
一、修改装备数据库添加不掉落属性
此方法直接为特定装备赋予死亡不掉落特性。打开服务端数据库文件,路径通常为D:\MirServer\Mud2\DB\StdItems.DB。使用DBC2000或专用编辑器打开该文件。找到需要设置的装备记录,定位“Anicount”或“Flags”字段。在该字段中填入数值“255”,此值为GEE引擎通用不掉落属性代码。对于GOM引擎,需在物品管理界面的“特殊属性”中勾选“死亡不消失”。修改后保存数据库,重启M2Server程序使更改生效。若需隐藏该属性,可在物品说明字段末尾添加“<隐藏属性:死亡不掉落>”文本。
二、通过登录脚本实现装备绑定
脚本方法更为灵活,可实现佩戴后自动绑定。进入服务端Mir200\Envir\QuestDiary目录,新建或打开“装备绑定.txt”文件。添加以下脚本代码:
[@EquipItemX]
#IF
CheckItemWear 屠龙
#ACT
SetItemNoDrop 屠龙 1
SENDMSG 7 装备【屠龙】已绑定,死亡不会掉落!
break
其中“屠龙”为装备名称,“SetItemNoDrop 屠龙 1”命令激活该装备的不掉落属性。若希望角色上线即绑定全身装备,可在QManage.txt文件的[@Login]段下添加循环检测命令。此方法需在M2Server控制台的“脚本管理”中启用对应脚本文件。
三、调整M2引擎全局死亡规则
若希望所有角色死亡均不掉落装备,可修改引擎全局设置。运行M2Server.exe,在顶部菜单栏点击“选项”→“参数设置”→“人物死亡”。取消勾选“被怪物击杀装备消失”和“被玩家击杀装备消失”选项。将“装备掉落概率”和“背包物品掉落概率”数值调整为0。点击“保存”后,重启游戏服务器模块。此设置对全服所有装备生效,但可能影响游戏平衡,适合单机体验。
四、使用特定命令控制不掉落次数
部分引擎支持通过命令动态管理不掉落次数。在NPC脚本或触发脚本中使用“SetNoDropItemCount”命令。例如,给予玩家5次死亡不掉落机会:
[@GiveProtect]
#ACT
SetNoDropItemCount = 5 1
SENDMSG 6 你获得了5次死亡不掉落装备的机会!
命令末尾的“1”表示下线保存次数。可通过“GetNoDropItemCount”命令查询剩余次数。此方法适合作为游戏内奖励机制。
五、创建死亡触发脚本免除掉落
通过修改死亡触发脚本,直接取消掉落判定。打开Mir200\Envir\Market_Def\QFunction-0.txt文件,找到或添加[@PlayDie]段。写入以下内容:
[@PlayDie]
#ACT
ClearDropItem
SENDMSG 0 角色死亡,装备获得保护!
break
“ClearDropItem”命令会清空本次死亡的掉落列表。也可在此处添加条件判断,例如检测特定地图、特定怪物时执行保护。修改后需在M2Server中重新加载脚本。
六、设置物品列表文件过滤掉落
对于指定装备,可通过物品列表文件直接排除。在Envir目录下创建或修改“NoDropItemList.txt”文件。每行输入一个装备名称,如“圣战宝甲”“天尊道袍”。在QFunction-0.txt的死亡触发中调用该列表:
[@PlayDie]
#ACT
CheckList NoDropItemList.txt
GuildDropItem OFF
break
此方法需引擎支持列表检测功能,部分版本可能需要插件支持。
七、操作注意事项与验证方法
修改数据库前务必备份StdItems.DB文件。装备名称必须与游戏内完全一致,注意括号为全角或半角。脚本中的命令符号如“#IF”“#ACT”需使用英文符号。每次修改后,需完全重启M2Server程序,仅重读脚本可能不生效。验证时,可佩戴设置后的装备,让角色死亡后检查装备栏与背包。若仍掉落,检查M2Server控制台是否有脚本错误提示。全局设置与单个装备设置冲突时,通常以单个装备设置为准。通过上述方法,可确保指定装备或全身装备死亡时完好保留。

