一、物品数据库与StdMode编号设置
在 D:\MirServer\Mud2\DB 目录下的 StdItems.DB 数据库中,新增“属性清零石”物品记录。StdMode字段必须设为 2(表示双击触发类物品),AniCount字段设为 100(部分引擎)或留空。Shape字段通常设为0。Name字段填写“属性清零石”,其他字段如AC、MAC等设为0。保存后需重启M2或重载物品数据库生效。
二、QFunction-0.txt脚本编写(双击触发)
在 Mir200\Envir\Market_Def 目录下的 QFunction-0.txt 文件中,添加以下脚本。注意标签 [@StdModeFuncX] 中的 X 必须与数据库AniCount字段值一致(若AniCount为100,则标签为 [@StdModeFunc100])。
[@StdModeFunc100]
#IF
; 可选:检测等级限制,如 CHECKLEVEL 40
#ACT
Take 属性清零石 1
RESTBONUSPOINT
BONUSPOINT = 0
SENDMSG 6 属性点已全部清零,可重新分配!
BREAK
#ELSEACT
MESSAGEBOX 属性清零失败,请检查背包中是否有属性清零石。
关键命令说明:
- RESTBONUSPOINT:复位属性点分配状态(将已分配点数重置为未分配)。
• BONUSPOINT = 0:将当前剩余属性点强制设为0(彻底清空)。
- Take 属性清零石 1:扣除1个道具。
三、NPC脚本版本(通过NPC兑换)
若希望通过NPC对话使用(如消耗元宝+道具),可在NPC脚本文件(如 功能NPC-3.txt)中添加:
[@ClearAttr]
#IF
CHECKITEM 属性清零石 1
CHECKGAMEGOLD > 99
#ACT
TAKE 属性清零石 1
GAMEGOLD - 100
RESTBONUSPOINT
BONUSPOINT = 0
SENDMSG 0 玩家【%s】使用了属性清零石,属性点已重置!
CLOSE
#ELSESAY
条件不足!需要:属性清零石 x1 + 100元宝。
四、常见引擎差异与错误排查
• GOM/GEE引擎:支持上述脚本,若使用 RESTBONUSPOINT 无效,可尝试改用 RESETBONUSPOINT(部分引擎拼写差异)。
- HGE/翎风引擎:若需清除装备升级属性(如黑铁矿升级),需使用 ClearStoneUpgrade 位置 命令(位置0-14对应装备栏)。
- 报错处理:若双击无反应,检查QFunction-0.txt文件名是否正确,以及标签编号X是否与数据库AniCount严格对应。修改脚本后需在M2输入 @ReloadNpc 重载。
五、扩展:清除装备元素属性脚本
若需清除装备的元素属性(如致命一击、伤害加成),可使用以下脚本(需配合NPC触发):
#IF
CHECKITEMW 1 ; 检测武器栏是否有装备
#ACT
SetNewItemValue 1 0 = 0 ; 位置1=武器,属性0=致命一击,值=0
SetNewItemValue 1 1 = 0 ; 属性1=攻击伤害增加
SENDMSG 6 武器元素属性已清除!
注意:此脚本通常用于GOM引擎,且需在引擎插件中开启元素功能支持。
部署流程:配置数据库 → 编写QFunction-0.txt脚本 → 重载脚本(@ReloadNpc) → 测试双击使用。若需限制使用次数,可在脚本中加入变量检测(如CHECKVAR)。

