当前位置 : 145z游戏站 | 热血传奇 | 技术教程 | 

传奇属性清零石脚本编写与数据库配置指南

热度:
一、物品数据库与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
;可选:检测等级限制,如CHECKLEVEL40
#ACT
Take属性清零石1
RESTBONUSPOINT
BONUSPOINT=0
SENDMSG6属性点已全部清零,可重新分配!
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
SENDMSG0玩家【%s】使用了属性清零石,属性点已重置!
CLOSE
#ELSESAY
条件不足!需要:属性清零石x1+100元宝。


四、常见引擎差异与错误排查

•GOM/GEE引擎:支持上述脚本,若使用RESTBONUSPOINT无效,可尝试改用RESETBONUSPOINT(部分引擎拼写差异)。

-HGE/翎风引擎:若需清除装备升级属性(如黑铁矿升级),需使用ClearStoneUpgrade位置命令(位置0-14对应装备栏)。
-报错处理:若双击无反应,检查QFunction-0.txt文件名是否正确,以及标签编号X是否与数据库AniCount严格对应。修改脚本后需在M2输入@ReloadNpc重载。

五、扩展:清除装备元素属性脚本

若需清除装备的元素属性(如致命一击、伤害加成),可使用以下脚本(需配合NPC触发):

#IF
CHECKITEMW1;检测武器栏是否有装备
#ACT
SetNewItemValue10=0;位置1=武器,属性0=致命一击,值=0
SetNewItemValue11=0;属性1=攻击伤害增加
SENDMSG6武器元素属性已清除!


注意:此脚本通常用于GOM引擎,且需在引擎插件中开启元素功能支持。

部署流程:配置数据库→编写QFunction-0.txt脚本→重载脚本(@ReloadNpc)→测试双击使用。若需限制使用次数,可在脚本中加入变量检测(如CHECKVAR)。
[顶部]